EMアルゴリズムの目的
観測変数\boldsymbol{x}と観測できない潜在変数\boldsymbol{z}を含む確率モデルの尤度関数P( \boldsymbol{x} \mid \boldsymbol{\theta}) を最大化するパラメータ\boldsymbol{\theta} を見つけることである。比較的複雑な観測変数の(周辺)分布P( \boldsymbol{x})を、より扱いやすい観測変数と潜在変数の同時分布P( \boldsymbol{x}, \boldsymbol{z})によって表すことができることがある(例えば混合正規分布などがそれに相当する)。このように、モデルを簡単に扱うために潜在変数\boldsymbol{z}を導入し、EMアルゴリズムの効果的な適用を図るケースがしばしばある。
EMアルゴリズムの解説
E-Stepの説明
E-Stepでは、\boldsymbol{\theta}固定の下、尤度関数の下界の分布を最大化する。以下で尤度関数を変形し、下界を求める手順を示す。\begin{eqnarray} \displaystyle \sum_{ i = 1 }^{ N } \ln P( \boldsymbol{x}_i \mid \boldsymbol{\theta}) &=& \displaystyle \sum_{ i = 1 }^{ N } \ln \displaystyle \sum_{\boldsymbol{z}_i} P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})\\ &=& \displaystyle \sum_{ i = 1 }^{ N } \ln \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i)\frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\\ &\geq& \displaystyle \sum_{ i = 1 }^{ N }\displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)} \end{eqnarray}
(1)式から(2)式への変形は、\boldsymbol{z}_iの任意の確率分布Q(\boldsymbol{z}_i) でかけて割っただけである。
(2)式から(3)式への変形は、Jensen's Inequalityを利用した。以下の(4)式を参照されたい。\lnが凹関数なので、期待値を関数に入れた値のほうが、関数に入れた値の期待値より大きい。今回の場合、\frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}を値と捉え、Q(\boldsymbol{z}_i) によって期待値を算出することを考える。
\begin{eqnarray} \ln E_{\boldsymbol{z}_i 〜 Q(\boldsymbol{z}_i) } \left[ \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\right] &\geq& E_{\boldsymbol{z}_i 〜 Q(\boldsymbol{z}_i) } \ln \left[ \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\right] \end{eqnarray}
(2)式から(3)式の変形は、Q(\boldsymbol{z}_i)がどのような確率分布であっても成立する。
尤度関数最大化の目的を考えると、\boldsymbol{\theta}固定の下、下界(3)式を最大化、つまり(3)の等号の成立を図るのが自然であろう。
Jensen's Inequalityの等号の成立条件は、凸関数が線形関数の場合か、狭義凸関数(線形ではない)の場合は、凸関数の中身が1点分布となる場合である。つまり以下を満たす。
\begin{eqnarray} \displaystyle \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)} &=& const \end{eqnarray}
また、\sum_{\boldsymbol{z}_i }Q(\boldsymbol{z}_i) =1より、以下が成り立つ。
\begin{eqnarray} Q(\boldsymbol{z}_i) &=& \displaystyle \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{\sum_{\boldsymbol{z}_i }P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}\\ &=& \displaystyle \frac{P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta})P( \boldsymbol{x}_i \mid \boldsymbol{\theta})}{P( \boldsymbol{x}_i \mid \boldsymbol{\theta})}\\ &=& P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta}) \end{eqnarray}
すべてのiについて(8)式を実施することが、E-Stepにて行うことである。
(補足)E-Stepのその他の説明
(3)式の下界の各々iについて、以下のように式変形する。\begin{eqnarray} \ln P( \boldsymbol{x}_i \mid \boldsymbol{\theta}) &\geq& \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\\ &=& \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln \frac{P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta})P( \boldsymbol{x}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\\ &=& \ln P( \boldsymbol{x}_i \mid \boldsymbol{\theta}) + \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln \frac{P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\\ &=& \displaystyle \ln P( \boldsymbol{x}_i \mid \boldsymbol{\theta}) - KL(Q(\boldsymbol{z}_i)||P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta})) \end{eqnarray}
(10)式から(11)式への変形は、\boldsymbol{z}_i に依存しないP( \boldsymbol{x}_i \mid \boldsymbol{\theta})を前に出し、Q(\boldsymbol{z}_i)の\boldsymbol{z}_iに関する積分が1になることによる。
さて、下界である右辺の最大化を考えた場合、(12)式第2項Kullback–Leibler divergenceの最小化が必要となる。KL divergence \geq 0より、 KL(Q(\boldsymbol{z}_i)||P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta})) = 0となるQ(\boldsymbol{z}_i)を求めることと同義となる。よって、Q(\boldsymbol{z}_i) = P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta})を求めることとなり、これは(8)式と一致する。
また、\boldsymbol{z}_iが連続変数の場合のE-Stepについては、以下に変分法を用いた説明を加えたので、参照していただきたい。
今更聞けないEMアルゴリズムの解説〜潜在変数が連続変数の場合のEステップの説明〜
M-Stepの説明
今度は、Q(\boldsymbol{z}_i)を固定し、\boldsymbol{\theta}を動かし、尤度関数の下界分布の最大化を図る。
\begin{eqnarray} \hat{\theta}&=&\mathop{\arg\,\max}\limits_\boldsymbol{\theta} \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\\ &=& \mathop{\arg\,\max}\limits_\boldsymbol{\theta} \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})\\ &=& \mathop{\arg\,\max}\limits_\boldsymbol{\theta} \displaystyle \sum_{\boldsymbol{z}_i} P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta}_{old}) \ln P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta}) \end{eqnarray}
(13)式から(14)式の変形は\boldsymbol{\theta}によって影響のない部分を排除した。
(15)式はE-Stepで求めた、Q(\boldsymbol{z}_i) = P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta}_{old}) を代入した。
このように、E-Stepにて潜在変数の事後確率を求め、その事後確率によってM-Stepにて期待値計算を行い、目的のパラメータを更新する。このプロセスを収束するまで繰り返す。イメージを下図に示す。
\begin{eqnarray} \hat{\theta}&=&\mathop{\arg\,\max}\limits_\boldsymbol{\theta} \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln \frac{P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})}{Q(\boldsymbol{z}_i)}\\ &=& \mathop{\arg\,\max}\limits_\boldsymbol{\theta} \displaystyle \sum_{\boldsymbol{z}_i} Q(\boldsymbol{z}_i) \ln P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta})\\ &=& \mathop{\arg\,\max}\limits_\boldsymbol{\theta} \displaystyle \sum_{\boldsymbol{z}_i} P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta}_{old}) \ln P( \boldsymbol{x}_i, \boldsymbol{z}_i \mid \boldsymbol{\theta}) \end{eqnarray}
(13)式から(14)式の変形は\boldsymbol{\theta}によって影響のない部分を排除した。
(15)式はE-Stepで求めた、Q(\boldsymbol{z}_i) = P( \boldsymbol{z}_i \mid \boldsymbol{x}_i, \boldsymbol{\theta}_{old}) を代入した。
このように、E-Stepにて潜在変数の事後確率を求め、その事後確率によってM-Stepにて期待値計算を行い、目的のパラメータを更新する。このプロセスを収束するまで繰り返す。イメージを下図に示す。
![]() |
パターン認識と機械学習 下 (ベイズ理論による統計的予測) 第9章 図9.14 |
以上、EMアルゴリズムの全貌である。複雑な分布を簡単な分布の構成として扱うことで、簡単に尤度関数の最適化ができるようになった。EMアルゴリズム適用時のポイントは、何を潜在変数の分布として、何を観測変数として扱うのかというモデル化であろう。卑近な混合正規分布への適用例をしっかりと学び、その類推で応用していくのが簡単に思える。
EMアルゴリズムを拡張した変分推論については、また今度。
参考文献
パターン認識と機械学習 下 (ベイズ理論による統計的予測) 第9章, C.M. ビショップ (著), 元田 浩, 栗田 多喜夫, 樋口 知之, 松本 裕治, 村田 昇 (監訳)
0 件のコメント:
コメントを投稿