SatoshiWatanabeの日記

続・わかりやすいパターン認識 ひとり読書会 9

今回は保留にしてあったP(s_k|x_k, s_-k, θ)の導出を行います。


続パタ読書会 1:ディリクレ過程混合モデル
続パタ読書会 2:ディリクレ過程混合モデルのアルゴリズム
続パタ読書会 3:実験
続パタ読書会 4:実装
続パタ読書会 5:事前確率P(s)の妥当性 1
続パタ読書会 6:事前確率P(s)の妥当性 2
続パタ読書会 7:ベル数 1
続パタ読書会 8:ベル数 2
続パタ読書会 9:P(s_k|x_k, s_-k, θ)の導出
続パタ読書会 10:演習問題12.5の計算
続パタ読書会 11:演習問題12.6の計算 1
続パタ読書会 12:演習問題12.6の計算 2


今回は保留にしてあった



    \begin{eqnarray}
        P(s_k\vert x_k, \boldsymbol{s}_{-k}, \boldsymbol{\theta}) &\propto&
            \begin{cases}
                \displaystyle\frac{n_i'}{\alpha +n-1}\cdot p(x_k\vert\theta_i) &(s_k=\omega_i)\\
                \displaystyle\frac{\alpha}{\alpha +n-1}\cdot\int{p(x_k\vert\theta_{\text{new}})p(\theta_{\text{new}})d\theta_{\text{new}}} &(s_k=\omega_{\text{new}})
            \end{cases}
    \end{eqnarray}


の導出を行います。この結果は \boldsymbol{s}に対するギブスサンプリングで用いられました。

 P(s_k\vert x_k, \boldsymbol{s}_{-k}, \boldsymbol{\theta})の導出

導出

まずはテキスト通り式を展開していくと



    \begin{eqnarray}
        P(s_k=\omega_i\vert x_k, \boldsymbol{s}_{-k}, \boldsymbol{\theta}) &=& \displaystyle\frac{p(x_k, s_k=\omega_i\vert\boldsymbol{s}_{-k}, \boldsymbol{\theta})}{p(x_k\vert\boldsymbol{s}_{-k}, \boldsymbol{\theta})}\\
        &\propto& p(x_k, s_k=\omega_i\vert\boldsymbol{s}_{-k}, \boldsymbol{\theta})\\
        &=& p(x_k\vert s_k=\omega_i, \boldsymbol{\theta})P(s_k=\omega_i\vert\boldsymbol{s}_{-k})\\
    \end{eqnarray}


となります。ここで最後の式の第一項と第二項を順に考察していきます。まずは第一項ですが \omega_iが既存クラスタか新規クラスタかによって結果が違います。そこで以降は既存クラスタ \omega_i、新規クラスタ \omega_{new}として表すとします。まず既存クラスタの場合は素直に


 p(x_k\vert s_k=\omega_i, \boldsymbol{\theta})=p(x_k\vert\boldsymbol{\theta}_i)


となります。ところが \omega_{new}の場合は \boldsymbol{\theta}_{new}が未定のため p(x_k\vert\boldsymbol{\theta}_{new})は計算できません。そこで \boldsymbol{\theta}の事前分布 p(\boldsymbol{\theta})で期待値を取ることになります。具体的には


 p(x_k\vert s_k=\omega_{new}, \boldsymbol{\theta})=\displaystyle\int{p(x_k\vert\boldsymbol{\theta}_{new})p(\boldsymbol{\theta}_{new})d\boldsymbol{\theta}_{new}}


となります。この積分 p(\boldsymbol{\theta}_{new}) p(x_k\vert\boldsymbol{\theta}_{new})の共役事前分布の場合は解析的に解け \boldsymbol{\theta}_{new}積分消去されるため、未定であることは問題となりません。続いて第二項の P(s_k=\omega_i\vert\boldsymbol{s}_{-k})ですが、 \boldsymbol{s}CRPにより生成されたとするモデルですので読書会5, 6で記載した通り



    \begin{eqnarray}
        P(s_k=\omega_i\vert\boldsymbol{s}_{-k})
        &=&
        \begin{cases}
            \displaystyle\frac{n_i'}{\alpha+n-1}&&\text{の確率で既存クラスタ}\omega_i\\
            \displaystyle\frac{\alpha}{\alpha+n-1}&&\text{の確率で新規クラスタ}\omega_{new}
        \end{cases}
    \end{eqnarray}


となります。結果最初の式の通り



    \begin{eqnarray}
        P(s_k\vert x_k, \boldsymbol{s}_{-k}, \boldsymbol{\theta}) &\propto&
            \begin{cases}
                \displaystyle\frac{n_i'}{\alpha +n-1}\cdot p(x_k\vert\theta_i) &(s_k=\omega_i)\\
                \displaystyle\frac{\alpha}{\alpha +n-1}\cdot\int{p(x_k\vert\theta_{\text{new}})p(\theta_{\text{new}})d\theta_{\text{new}}} &(s_k=\omega_{\text{new}})
            \end{cases}
    \end{eqnarray}


が導出できます。

参照

ディリクレ過程混合モデルにおけるマルコフ連鎖についてはテキストでも参照されている下記論文に詳細があります。

ディリクレ過程混合モデルにおけるマルコフ連鎖の論文です。ディリクレ過程混合モデルにメトロポリスヘイスティングス法を適用するアルゴリズム等も記載されています。

「続・わかりやすいパターン認識」の著者の一人である上田修功さんと、山田 武士さんの共著論文です。ここでは具体的に解説しなかったディリクレ過程の無限次元拡張からのCRP分割ルール導出や、いずれ私のページでも載せる予定のIRMについても詳しく載っています。ただしこれらのトピックは「続・わかりやすいパターン認識」にもかみ砕いて載っていますのでそちらで参照することも可能です。

今回はこれくらいにして次回は演習問題12.5の導出を行います。


続パタ読書会 1:ディリクレ過程混合モデル
続パタ読書会 2:ディリクレ過程混合モデルのアルゴリズム
続パタ読書会 3:実験
続パタ読書会 4:実装
続パタ読書会 5:事前確率P(s)の妥当性 1
続パタ読書会 6:事前確率P(s)の妥当性 2
続パタ読書会 7:ベル数 1
続パタ読書会 8:ベル数 2
続パタ読書会 9:P(s_k|x_k, s_-k, θ)の導出
続パタ読書会 10:演習問題12.5の計算
続パタ読書会 11:演習問題12.6の計算 1
続パタ読書会 12:演習問題12.6の計算 2