EMアルゴリズムの完全データの対数尤度の期待値の式

これがわからないとEMアルゴリズムの式を自分で立てられない気がするので.

英語版wikipediaのEMの解説の完全データの対数尤度の期待値の式を眺めてると,途中で隠れ変数のベクトルについての期待値から一個一個の隠れ変数について期待値に話がすりかわってた。
Expectation–maximization algorithm - Wikipedia
Q(\theta)の右辺、3行目から4行目が...
そういうことなら、PLSIのEMの式も導出できるけど、まだしっくりこない。
というわけで、行間を読んでみる.


{\bf z}はm次元の確率変数で,{bf z}=(z_1,z_2,\cdots,z_m).mはデータの個数でもある.nは個々のデータの実現値の異なり数.
とすると,一般的な期待値であれば式で書くとこう.
[tex:\sum_{j=1}^{m} \sum_{z_1=1}^{n} \sum_{z_2=1}^n \cdots \sum_{z_m=1}^n \ln p(y_j,{\bf z}|\theta)p({\bf z})
\sumは先頭のものを除いてm個あり,個々のz_iの取りうる値を全てカバーしてます.
これは, \ln p(y_j,{\bf z}|\theta)という関数の取りうる値が、{\bf z}の個々の隠れ変数の実現値の組み合わせごとに異なるということを示している.
・・・と思ってたんですが,実は違う.

  • そもそも,今回のモデルでは隠れ変数によって観測値が決まる
  • z_jによってy_jが決まる
  •  \ln p(y_j,{\bf z}|\theta)という関数の値は{\bf z}中の数ある隠れ変数のうちz_jにしか影響されない.
  • 実は \ln p(y_j,{\bf z}|\theta)の値は p({\bf z})で分布する個々の {\bf z}について決まるんではなく, p(z_j)の確率で分布する個々の z_jについて決まっていた!

というわけで,くどいですが「隠れ変数によって観測データが決まる」という今回の条件の下では,z_jの取る値とその分布(たぶん {\bf z}に関する z_jの周辺分布とかいうんでない)だけを考えて期待値を計算すればいい.
最初の面倒くさそうな式は結局こうなる.一般的な期待値の式に縛られすぎてましたね.
 \sum_{j=1}^m \sum \sum \cdots \sum \ln p(y_j,{\bf z}|\theta)p({\bf z})
 = \sum_{j=1}^m \sum_{i=1}^{n} \ln p(y_j,z_j=i|\theta)p(z_j=i)


ほんとかよ.