EMアルゴリズム
カルバック・ライブラー情報量 K L ( q | | p X , θ ) {\displaystyle \mathrm {KL} (q||p_{X,\theta })} が最小値0になるのは q = p θ , X {\displaystyle q=p_{\theta ,X}} の場合だけであった事から、(Eq.2)より L ( q , θ ) {\displaystyle {\mathcal {L}}(q,\theta )} は
q ( Z ) = p ( Z | X , θ ) {\displaystyle q(Z)=p(Z|X,\theta )}
が満たされる場合に最大値を取る。すなわちEMアルゴリズムにおけるEステップは、 θ = θ ^ ( t ) {\displaystyle \theta ={\hat {\theta }}^{(t)}} を固定したままの状態で、 L ( q , θ ) {\displaystyle {\mathcal {L}}(q,\theta )} を最大化する q {\displaystyle q} である
q ^ ( t ) := p X , θ ^ ( t ) = a r g m a x q L ( q , θ ^ ( t ) ) {\displaystyle {\hat {q}}^{(t)}:=p_{X,{\hat {\theta }}^{(t)}}={\underset {q}{\operatorname {arg\,max} }}{\mathcal {L}}(q,{\hat {\theta }}^{(t)})}
を求めるステップである。
EMアルゴリズムでは、以下の手順により数列 θ ^ ( 0 ) , θ ^ ( 1 ) , ... {\displaystyle {\hat {\theta }}^{(0)},{\hat {\theta }}^{(1)},\ldots } を作る。
初期値 θ ^ ( 0 ) {\displaystyle {\hat {\theta }}^{(0)}} を(何らかの方法で)選ぶ。
t = 0 , 1 , ... {\displaystyle t=0,1,\ldots } に対して以下を実行する E ステップ: p ( Z | X , θ ^ ( t ) ) {\displaystyle p(Z|X,{\hat {\theta }}^{(t)})} を求める。 M ステップ: θ ^ ( t + 1 ) = a r g m a x θ Q ( θ | θ ^ ( t ) ) {\displaystyle {\hat {\theta }}^{(t+1)}={\underset {\theta }{\operatorname {arg\,max} }}\ Q(\theta |{\hat {\theta }}^{(t)})\,} を求める。