0

EM(expectation–maximization)アルゴリズムの基礎

127
0

観測されるデータをまとめてyと書くことにし, 次の対数尤度関数を最大にするθを求めたいとする.

(θ)=logp(y|θ)

ここでp()は確率変数ごとに定義された密度を表す記号とした(つまりp(y)p(z)が同じ関数とは限らない).

適当な確率変数zを用いて,
p(y|θ)=p(y,z|θ)dz
と書けるとしよう. ここでの積分記号は定義域全区間に渡る積分を意味する.
この記事ではそれ以外の範囲での積分は出てこないので混乱することは多分ないだろうと思う.

条件付き確率より,
p(z|y,θ)=p(y,z|θ)/p(y|θ)
であるから, 両辺の対数の期待値を取り,
(1)logp(y|θ)=E[logp(y,z|θ)]E[logp(z|y,θ)]
も成り立つ. ここでの期待値は「yを所与としたときのzの条件付き期待値」,
E[f(z)]=f(z)p(z|y)dz
である. これも単にE[]という記号で書いてしまったが, この記事ではこれ以外の分布による期待値は出てこない.

さて, EMアルゴリズムでは, (1)式の第1項を求め(期待値を取る操作なのでこれをEステップと呼ぶ), 第1項が大きくなるようにパラメータを更新する(最大化を目指す操作なのでこれをMステップと呼ぶ).

EMアルゴリズムでは右辺の第2項は明示的に計算する必要がない.

なぜならば, あるθ0を固定して任意のθを考えると,
E[logp(z|y,θ)]E[logp(z|y,θ0)]=log(p(z|y,θ)p(z|y,θ0))p(z|y,θ0)dzlog(p(z|y,θ)p(z|y,θ0)p(z|y,θ0)dz)=log1=0
が成り立つ. 3行目はイェンセンの不等式による.

よって, 「第1項が大きくなるようにパラメータを更新する」すなわち
E[logp(y,z|θ)]E[logp(y,z|θ0)]0
が満たされていれば,
logp(y|θ)logp(y|θ0)0
も成り立つことがわかる.

これがEMアルゴリズムの基礎である.

MAP推定の場合も, 尤度に事前分布の密度をかけ合わせるだけで全く同様の議論ができる.

投稿日:202365
更新日:202432
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

cocotan
0
2540

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中