EM algorithm

EMアルゴリズムに関する勉強には、産総研赤穂氏のページを参考にすることを勧める。
EMアルゴリズムは、E(expecttion)ステップとM(maximization)ステップを反復的に繰り返すことで、パラメータを逐次改良し、観測データが観測される確率がより高いパラメータを推定する。
観測できない隠れ変数hと観測できる変数 v との同時分布 P(h,v|θ)のパラメータθvから推定するためのEMゴリズムの、t+1回目のステップは次のように定式化される.

Eステップ: 次式で定義されるQ関数を計算する.これは完全データの真の対数尤度logP(h,v|θ) の推定したパラメータに基づく分布P(h|v,θ(t))による期待値である.

Q(θ|θ(t))=hP(h|v,θ(t))logP(v,h|θ)

Mステップ: Q(θ|θ(t)) を最大化する θθ(t+1) とおく.

θ(t+1)=argmaxθ[Q(θ|θ(t))]

EMアルゴリズムにおける対数尤度の単調増加性の証明

観測データの対数尤度を L(θ) と置くと
L(\theta) \equiv \log P(v|\theta) = \log P(v,h |\theta) – \log P(h |v,\theta) となる. 両辺を P(h| v, \theta^{(t)}) で期待値をとる.  L(\theta) = \log P(v|\theta) h によらないので
L(\theta) = \sum_{h} \left[ \log P(v,h|\theta) – \log P(h |v, \theta) \right] ( P(h| v, \theta^{(t)}) \\ = Q(\theta | \theta^{(t)}) – \sum_{h} \log P(h |v, \theta) ( P(h| v, \theta^{(t)}) したがって、 t+1  ステップ目と t ステップ目の対数尤度の差は、
L(\theta^{(t+1)}) – L(\theta^{(t)}) = \left[ Q(\theta^{(t+1)} | \theta^{(t)}) – Q(\theta^{(t)} | \theta^{(t)}) \right] + \sum_h P(h| v, \theta^{(t)}) \frac{\log P(h |v, \theta^{(t)})}{\log P(h |v,\theta^{(t+1)})}
第1項は \theta^{(t+1)} の定義から非負、第2項は2つの確率分布 P(h |v,\theta^{(t)} P(h |v,\theta^{(t+1)} のKullback Leibler情報量と呼ばれるもので、非負である. したがって、対数尤度 L(\theta) = \log P(v|\theta) は単調増加する.