EM algorithm
2014.6.26 TN輪講@ATR
京大情報学M2 小山田 創哲
Contents
1. Generative model(準備)
2. EMアルゴリズム(メイン)
1.  例)Gaussian mixtureの最尤推定
2.  EMアルゴリズムの説明
3.  自由エネルギーを使った再解釈
3. 変分ベイズ(少しだけ)
Generative model
Generative model
Generative modelとは一言で言えば,
のことであり,立てたモデル(のパラメー
タ)は観測データから推定される
比較)Discriminative model
観測データを生成するモデル
Generative modelの例(1)
次のような2次元の観測 x が得られたとき,
どのようなモデル
を立てるべきか?
Generative modelの例(2)
2つのクラスタAとBから生成されているよ
うに見えるので,これをモデルに入れたい
そこで,隠れ変数
を導入する
A
B
Generative modelの例(3)
A
B
0.4
0.6
0.4 0.6
Generative model
Generative modelと同時分布
観測データの背後にある因果(隠れ変数)
まで含めた同時分布のモデルを立てている
ことに相当している
EM algorithm
EMアルゴリズム
EMアルゴリズムとは一言で言えば,
である
隠れ変数を含むモデルの学習
に使われるアルゴリズム
まずGaussian mixtureの最尤推定を例に
EMアルゴリズムの必要性と流れを紹介する
Contents
1. Generative model(準備)
2. EMアルゴリズム(メイン)
1.  例)Gaussian mixtureの最尤推定
2.  EMアルゴリズムの説明
3.  自由エネルギーを使った再解釈
3. 変分ベイズ(少しだけ)
例)Gaussian mixture
ガウス分布の線形結合で表されるモデル
例)Gaussian mixture
Generative model
として捉えられる
事後分布
観測変数 x は実際に観測データが与えられ
るのに対し,隠れ変数 z はデータが与えら
れないので,事後分布を考えることになる
この事後分布を負担率とよぶ
例)Gaussian mixture
2通りの見方が出来る
1. 観測変数 x だけのモデル
2.  観測変数 x と 隠れ変数 z のモデル
例)Gaussian mixture
2通りの見方が出来る
1. 観測変数 x だけのモデル
まず,1の見方で最尤推定をする
その過程でEMアルゴリズムの必要性と
EMアルゴリズムと等価なアルゴリズムを
説明する
Gaussian mixtureの最尤推定
対数尤度を計算して,最大化する
log が exp に直接かからない!!
log が exp に直接かかれば
【復習】単体のガウス分布の最尤推定
閉形式で最尤推定量が求まる!!
微分して
log が exp に直接かからないと
Gaussian mixtureの最尤推定
微分して
=0とおいても
閉じた形で推定量は求まらない
EMアルゴリズムが必要
最尤推定のアルゴリズム
閉じた形では推定量が求まらないことを確
認したので,次はEMアルゴリズムと等価な
アルゴリズムを示す
引き続き計算をする
=0とおいて整理すると
尤度を最大にするパラメータ
もれなく負担率が入り,閉形式にはなって
いないが,綺麗に整理できた
交互に最適化する
負担率はパラメータの値さえ決まれば求まる
パラメータは負担率さえ決まれば求まる
交互に片方を固定し,もう一方を求める
最尤推定のアルゴリズム
1.  各パラメータを初期化
2.  現在のパラメータを用いて負担率を計算
3.  現在の負担率を使ってパラメータを更新
4.  対数尤度を計算し,パラメータと対数尤度の値から収
束性を判断する.収束していなければ2へ戻る.
実行例 (PRMLより抜粋)
Contents
1. Generative model(準備)
2. EMアルゴリズム(メイン)
1.  例)Gaussian mixtureの最尤推定
2.  EMアルゴリズムの説明
3.  自由エネルギーを使った再解釈
3. 変分ベイズ(少しだけ)
説明の流れ
n より一般な形のEMアルゴリズムを用いた最尤推
定の手法を説明をする
n そしてそれが今求めたGaussian mixtureにお
ける最尤推定のアルゴリズムと一致しているこ
とをみる
n ここからはθをパラメータとする生成モデルが立
てられているとして議論を進める
そもそもの受難
そもそも,最尤推定量の計算が困難であっ
た原因は,logが直接expにかからないこと
であった
直接かけてしまえ!完全対数尤度を考える!
注)完全対数尤度を考えても閉じた形でパラメータが求まるわけではない.ただ,完全
対数尤度の最適化の方がより簡単であると仮定している.
それでも z は観察できない
しかし z は観察できないので,パラメータ
を特定の値に固定した事後分布で期待値を
計算する
このQを最大にするθを求めることで,尤度
を大きくする
注)本当にQを大きくすることで尤度が大きくなっていることは あとで確認する
EMアルゴリズム
1.  各パラメータを初期化
2.  【E step】現在のパラメータを用いて事後分布を計算
3.  【Mステップ】Qを計算し,パラメータを更新
4.  対数尤度を計算し,パラメータと対数尤度の値から収
束性を判断する.収束していなければ2へ戻る.
Qを大きくすれば尤度は増える?
【証明の準備】
Qを大きくすれば尤度は増える!
Gaussian mixture 再び
2通りの見方が出来る
1. 観測変数 x だけのモデル
2.  観測変数 x と 隠れ変数 z のモデル
Gaussian mixture 再び
2通りの見方が出来る
1. 
2.  観測変数 x と 隠れ変数 z のモデル
負担率とパラメータを交互に
最適化したアルゴリズムとEMが
等価であることをみる
Gaussian mixture の復習
Gaussian mixtureとEM
同時分布
完全対数尤度
Q logが直接expにかかる
Gaussian mixtureとEM
となるので(計算略)
を最大にするパラメータは,負担率が既に固定されたパラ
メータにしか依存していないことを踏まえれば,それぞれ
微分を取ることで,閉に解くことができ,前に導出した結
果と一致する.
明らかに微分しやすい
Contents
1. Generative model(準備)
2. EMアルゴリズム(メイン)
1.  例)Gaussian mixtureの最尤推定
2.  EMアルゴリズムの説明
3.  自由エネルギーを使った再解釈
3. 変分ベイズ(少しだけ)
自由エネルギーを用いた再解釈
n EMアルゴリズムを紹介したが,これを自
由エネルギーを使って再解釈する
n これにより,EMアルゴリズムをより深く
理解できると共に,変分ベイズへの橋渡
しとなる
今日覚えて帰るべき唯一の式!
対数尤度 = F + KL(q || 事後分布)
式の導出準備
(注) 本日二度目【準備】
式の導出
(注) -Fは自由エネルギーと呼ばれる
対数尤度最大化
qを任意のθに対して計算するのは大変なので,交互最適化を行う!
実はEMと等価
【E step】
【M step】
この交互最適化を行うアルゴリズムはEMアルゴリズム
と等価である.なぜなら,
【E step】
【M step】
(θ固定)
Eステップの再解釈
EステップはKLダイバージェンスの最小化に対応
対数尤度
F
KL
対数尤度F
Mステップの再解釈
MステップはFの最大化による
対数尤度の底上げを意味する
対数尤度
F
KL
対数尤度F
下限としての解釈
KLダイバージェンスは常に非負なので,次が導かれる
KLダイバージェンスが0,すなわちqが事後分布に等しく
なるときに成立する.
Fは対数尤度の下限
【E step】更に解釈
Eステップで下限の計算
(現在の固定された)
【M step】更に解釈
Mステップでパラメータの更新
変分ベイズ(少しだけ雰囲気)
EMアルゴリズムの問題点
Eステップにおいて事後分布を計算している
が,これが解析的にも止まらない場合はど
うするのか…?
自由エネルギーからの知見
Fは常に対数尤度の下界である
事後分布が計算できなくとも,
よりよく事後分布を近似できればよい.
平均場近似
次のように
隠れ変数の分布が独立に分解出来るとし,
それぞれについて最適化することでq(z)を
近似することを考える
Gaussian mixtureでの例
パラメータを全て隠れ変数とみなし,それ
ぞれに事前分布をいれ,同時分布は次のよ
うになる
次の独立性を仮定し,それぞれ最適化する
実行例 (PRMLより抜粋)
不要なガウス分布は混合
係数がゼロに近づき,
自動的に消えてしまう.
参考資料

EMアルゴリズム