prml復々習レーン#15 9.3.4-9.4
DESCRIPTION
PRML復々習レーン#15 9.3.4-9.4発表資料TRANSCRIPT
PRML復々習レーン#15 9.3.4 ベイズ線形回帰に関するEMアルゴリズム
9.4 一般のEMアルゴリズム
2013-11-09
Yoshihiko Suhara
@sleepy_yoshi
本発表の概要 (ゴール)
• ベイズ線形回帰に関するEMアルゴリズム
–やったねEMアルゴリズムで導出した更新式が直接最大化して得られる更新式と一致したよ (棒
• 一般のEMアルゴリズム
– EMアルゴリズムは観測データの対数尤度の下界を計算し (Eステップ),下界を最大化する (Mステップ) 処理の繰り返しで最大化を行う
/ \ / _ノ ヽ、_.\ / (●) (●) \ | (__人__) | / ∩ノ ⊃ / ( \ / _ノ | | .\ “ /__| | \ /___ /
???
| \ __ / _ (m) _ |ミ| / `´ \ ____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒::::: \ | |r┬-| | / `ー'´ ∩ノ ⊃ ( \ /_ノ .\ “ ____ノ / \_ ____ /
9.3.4 ベイズ線形回帰に関するEMアルゴリズム
EMアルゴリズムで導出した更新式が直接最大化して得られる更新式と 一致することを確認する
ベイズ線形回帰のエビデンス近似
• 目的: エビデンス関数𝑝 𝒕 𝛼, 𝛽 の𝛼, 𝛽に関する最大化 – cf. 対数尤度の 𝝁𝑘 , 𝚺𝑘 , 𝜋𝑘 𝑘=1
𝐾 に関する最大化
• 𝒘を潜在変数とみなして,EMアルゴリズムの適用を考えると,完全データ対数尤度は,
ln 𝑝 𝒕,𝒘 𝛼, 𝛽 = ln 𝑝 𝒕 𝒘, 𝛽 + ln 𝑝 𝒘 𝛼
• ここで式(3.10), (3.52) より 𝔼 ln 𝑝 𝒕,𝒘 𝛼, 𝛽
=𝑀
2ln𝛼
2𝜋−𝛼
2𝔼 𝒘𝑇𝒘 +
𝑁
2ln𝛽
2𝜋−𝛽
2 𝔼 𝑡𝑛 −𝒘
𝑇𝜙𝑛2
𝑁
𝑛=1
• 𝛼と𝛽に関して微分を0とおくと,Mステップの更新式が得られる
– [演習9.20] [演習9.21]
• 式(9.64) を式(3.92)に代入して式(9.63)と一致することを確認
𝛼の更新式の導出
•𝜕
𝜕𝛼𝔼 ln 𝑝 𝒕,𝒘 𝛼, 𝛽 = 0
•𝜕
𝜕𝛼 𝑀
2ln𝛼
2𝜋−𝛼
2𝔼 𝒘𝑇𝒘 = 0
•𝑀
2
1
2𝜋
2𝜋
𝛼−1
2𝔼 𝒘𝑇𝒘 = 0
• 𝛼 =𝑀
𝔼 𝒘𝑇𝒘
演習9.20
𝛽の更新式の導出
•𝜕
𝜕𝛽𝔼 ln 𝑝 𝒕,𝒘 𝛼, 𝛽 = 0
•𝜕
𝜕𝛽 𝑁
2ln𝛽
2𝜋−𝛽
2 𝔼 𝑡𝑛 −𝒘
𝑇𝜙𝑛2𝑁
𝑛=1 = 0
•𝑀
2
1
2𝜋
2𝜋
𝛽−1
2 𝔼 𝑡𝑛 −𝒘
𝑇𝜙𝑛2𝑁
𝑛=1 = 0
• 𝛽 =𝑀
𝔼 𝑡𝑛−𝒘𝑇𝜙𝑛2
演習9.21
RVM再訪
• RVMにおいては周辺対数尤度を直接最大化して𝜶と𝛽の更新式を導いた
• ここではベイズ線形回帰と同様に𝒘を潜在変数とみなしてEMアルゴリズムを適用する
• 期待完全データ対数尤度は,「古い」パラメータ値を使って計算した𝒘の事後分布について期待値を取る
𝔼𝒘[ ln 𝑝(𝒕|𝑿,𝒘, 𝛽 𝑝 𝒘 𝜶 }]
• ベイズ線形回帰と同様に𝜶, 𝛽について最大化すると,直接最大化して得られるものと等しい – 式(9.67) 式(9.68) [演習9.23]
ぼくのかんがえたさいきょうのあるごりずむ
9.4 一般のEMアルゴリズム
準備
• 記号
–全ての観測変数: 𝑿
–全ての潜在変数: 𝒁
–パラメータ組: 𝜽
• 𝒁は離散変数とするが,連続変数でも同様の議論は成り立つ
目標は観測データの尤度最大化
• 以下の尤度関数を最大化したい
𝑃 𝑿 𝜽 = 𝑝 𝑿, 𝒁 𝜽
𝒁
• ここで以下の仮定をおく
– 𝑃 𝑋 𝜃 の最適化は困難であり,完全データ対数尤度の最適化は容易である
対数尤度の分解
• 天下り的に潜在変数についての分布𝑞(𝒁)を導入し,以下の分解を行う ln 𝑝 𝑿 𝜽 = ℒ 𝑞, 𝜽 + KL 𝑞 ∥ 𝑝
• ただし,
ℒ 𝑞, 𝜽 = 𝑞 𝒁 ln𝑝 𝑿, 𝒁 𝜽
𝑞 𝒁𝒁
KL 𝑞 ∥ 𝑝 = − 𝑞 𝒁 ln𝑝 𝒁 𝑿, 𝜽
𝑞 𝒁𝒁
式(9.70)の導出
• ℒ 𝑞, 𝜽 + KL 𝑞 ∥ 𝑝
• = 𝑞 𝒁 ln𝑝 𝑿,𝒁 𝜽
𝑞 𝒁𝒁 − 𝑞 𝒁 ln𝑝 𝒁 𝑿,𝜽
𝑞 𝒁𝒁
• = 𝑞(𝒁)𝒁 ln𝑝 𝑿,𝒁 𝜽
𝑞 𝒁− ln
𝑝 𝒁 𝑿,𝜽
𝑞 𝒁
• = 𝑞(𝒁)𝒁 ln𝑝 𝑿,𝒁 𝜽
𝑞 𝒁|𝑿,𝜽
• = 𝑞(𝒁)𝒁 ln𝑃 𝒁 𝑿,𝜽 𝑃(𝑿|𝜽)
𝑃(𝒁|𝑿,𝜽)
• = 𝑞 𝒁 ln 𝑃 𝑿 𝜽𝒁
• = ln𝑃(𝑿|𝜽) 𝑞(𝒁)𝒁
• = 𝑃(𝑿|𝜽)
(*1) 𝑃 𝑿, 𝒁 𝜽 = 𝑃 𝒁 𝑿, 𝜽 𝑃(𝑿|𝜽) より
(*2) 𝑞(𝒁)は総和が1になる確率分布より
演習9.24 この導出ができれば, EMアルゴリズムをいちから 説明できるようになります
この分解の解釈 (1/2)
ln 𝑝 𝑿 𝜽 = ℒ 𝑞, 𝜽 + KL 𝑞 ∥ 𝑝 • 対数尤度を以下の2つに分解
– ℒ(𝑞, 𝜽): 対数尤度の下界 – KL 𝑞 ∥ 𝑝 : 𝑞(𝒁)と事後分布𝑝(𝒁|𝑿, 𝜽) のKLd
• 再掲: KL 𝑞 ∥ 𝑝 = − 𝑞 𝒁 ln𝑝 𝒁 𝑿,𝜽
𝑞 𝒁𝒁
• KLdは非負 (*1) であるため,ℒ 𝑞, 𝜽 ≤ ln 𝑝(𝑿|𝜽)が常に成立 – KLdがゼロになるのは𝑞 𝒁 = 𝑝 𝒁 𝑿, 𝜽 のとき – すなわち, ℒ 𝑞, 𝜽 はln 𝑝(𝑿|𝜽)の下界
(*1) 証明例 http://d.hatena.ne.jp/sleepy_yoshi/20110720/p1
ポイントだよ
この分解の解釈 (2/2)
• 図解をするとこういうこと
最大化したい対数尤度
これが常に非負
ln 𝑝(𝑿|𝜽)の下界
ポイントだよ
図解: Eステップ
• ℒ 𝑞, 𝜽old + KL 𝑞 ∥ 𝑝 の𝜽oldを固定して𝑞(𝒁)について最大化
KL 𝑞 ∥ 𝑝 = 0となるような𝑞(𝒁),すなわち𝑞 𝒁 = 𝑝(𝒁|𝑿, 𝜽old)とする
下界を対数尤度と 同じ値まで持っていく
ポイントだよ
図解: Mステップ
• 分布 𝑞(𝒁)を固定し,下界ℒ(𝑞, 𝜽)を𝜽について最大化し,𝜽newを得る – ここで𝑞(𝒁)は固定したままなので,新しい𝑝 𝒁|𝑿, 𝜽new に一致しない – KL 𝑞 ∥ 𝑝 > 0 となる
KLdは非負なので 対数尤度の増加量≥ 下界の増加量
𝜽の最大化によって 下界が増加した量
新たに生まれたKLd
ポイントだよ
Eステップ再考: Q関数をつくる
• 𝑞 𝑍 = 𝑝 𝑍 𝑋, 𝜃old を以下の(9.71)式に代入
ℒ 𝑞, 𝜽 = 𝑞 𝒁 ln𝑝 𝑿, 𝒁 𝜽
𝑞 𝒁𝒁
= 𝑝 𝒁 𝑿, 𝜽old
𝒁
ln𝑃 𝑿, 𝒁 𝜽
𝑃 𝒁 𝑿, 𝜽old
= 𝑝 𝒁 𝑿, 𝜽old
𝒁
ln 𝑃 𝑿, 𝒁 𝜽 − 𝑃 𝒁 𝑿,𝜽old
𝒁
ln 𝑃 𝒁 𝑿, 𝜽old
= 𝑄 𝜽 𝜽old + const.
𝑄関数 𝜽の選び方に非依存
変数𝜽に依存する関数が対数の中にしか現れない 𝑝 𝑿, 𝒁 𝜽 が指数型分布族やそれらの積の場合, 対数と指数がキャンセルして最適化が容易になる
嬉しさのポイント
パラメータ空間におけるEMアルゴリズムの解釈
• 混合要素が指数型分布族の場合,下界は凹関数 – かつ混合ガウス分布の場合には下界の極大値が閉じた解で求まる
– そうじゃない場合には数値計算を用いて最適化する必要あり
𝜃oldにおいて下界と対数尤度が一致
KLdが0になるからね! Mステップを行うと 新たなKLdが生じる
対数尤度
下界
i.i.d.データ集合の場合
• 独立性の仮定から 𝑝 𝑿, 𝒁 = 𝑝 𝒙𝑛, 𝒛𝑛𝑛 となり,{𝒛𝑛}の周辺化により𝑝 𝑿 = 𝑝 𝒙𝑛𝑛 が得られる
• Eステップにおける事後確率は以下のとおり表現できる
𝑝 𝒁 𝑿, 𝜽 = 𝑝 𝒛𝑛 𝒙𝑛; 𝜽
𝑁
𝑛=1
• ただし,混合ガウス分布の場合は「負担率が𝒙𝑛の値と𝜽の混合要素パラメータだけに依存し,他のデータ点に依存しない」ことを言っているだけ – cf. グラフィカルモデルから𝒛𝑛の独立性を論じるところ (演習9.5)
(9.75)
…
…
𝜋
𝝁 𝚺 𝑧1 𝑧2 𝑧𝑛
𝒙1 𝒙2 𝒙𝑛
(9.75)式の導出
𝑝 𝒁 𝑿, 𝜽 =𝑝 𝑿, 𝒁 𝜽
𝑝 𝑿 𝜽=𝑝 𝑿, 𝒁 𝜽
𝑝 𝑿, 𝒁 𝜽𝒁
= 𝑝 𝒙𝑛, 𝒛𝑛 𝜽𝑁𝑛=1
𝑝 𝒙𝑛, 𝒛𝑛 𝜽𝑁𝑛=1𝒁
= 𝑝 𝒙𝑛, 𝒛𝑛 𝜽𝑁𝑛=1
𝑝 𝒙𝑛, 𝒛𝑛 𝜽𝒛𝑛𝑁𝑛=1
= 𝑝 𝒙𝑛, 𝒛𝑛 𝜽𝑁𝑛=1
𝑝 𝒙𝑛 𝜽𝑁𝑛=1
= 𝑝 𝒛𝑛 𝒙𝑛, 𝜽
𝑁
𝑛=1
※ 和と積の交換
ちょいまとめ
• 「EMアルゴリズムのEステップとMステップはともに
対数尤度関数の正しく定義された下界の値を増加させることと,EMアルゴリズムの1サイクルは,対数
尤度が増加する方向にモデルのパラメータを変化させることとを見てきた」 (p.169)
事後分布𝑝(𝜽|𝑿)の最大化
• EMアルゴリズムは,事前分布𝑝(𝜽)を利用した事後分布𝑝(𝜽|𝑿)の最大化にも利用可能 – 復習: MAP推定 ≒ 正則化項つき尤度最大化
• 𝑝 𝜽 𝑿 =𝑝 𝜽,𝑿
𝑝 𝑿 より,以下を導出できる
ln 𝑝(𝜽|𝑿) = ln 𝑝(𝜽, 𝑿) − ln 𝑝(𝑿) = ln𝑝 𝑿 𝜽 + ln 𝑝(𝜽) − ln 𝑝(𝑿) = ℒ 𝑞, 𝜽 + KL 𝑞 ∥ 𝑝 + ln 𝑝(𝜽) − ln 𝑝(𝑿) ≥ ℒ 𝑞, 𝜽 + ln 𝑝(𝜽) − ln 𝑝(𝑿)
ln 𝑝 𝑿 𝜽 = ℒ 𝑞, 𝜽 + KL 𝑞 ∥ 𝑝 より
KL 𝑞 ∥ 𝑝 ≥ 0 より
定数
ln 𝑝(𝜽)は𝑞(𝒁)に依存しないため,Mステップのみ変更が生じるが, 観測データが多ければ影響はわずか
EMアルゴリズムの発展手法
• Eステップ and/or Mステップがの計算が困難な場合には,たとえば下記の方法が利用可能 – (1) 一般化EMアルゴリズム (GEM)
• Mステップにおいてℒ 𝑞, 𝜽 の最大化を諦め,少しでも増加するように変化させる
– たとえば共役勾配法のような非線形最適化手法を利用
– (2) ECM法 (Expectation Conditional Maximization) • パラメータをグループに分割し,あるイテレーションにおけるMステップでは一部のパラメータ組以外の値を固定した制限付き最適化を行う
– (3) [Neal and Hinton 1999] • Eステップにおいてℒ 𝑞, 𝜽 の𝑞(𝒁)に関する最適化を部分的に行う
オンラインEMアルゴリズム
• オンラインEMアルゴリズム – 各イテレーションにおいて,1データ点のみ用いる逐次型のEMアルゴリズム
– Eステップ • 1データのみを用いて負担率を再計算
– Mステップ • 混合ガウスの場合,新旧の負担率があれば十分統計量の更新が可能 • 平均パラメータの例
– 𝝁𝑘new = 𝝁𝑘
old +𝛾new 𝑧𝑚𝑘 −𝛾
old 𝑧𝑚𝑘
𝑁𝑘new (𝒙𝑚 − 𝝁𝑘
old)
– 𝑁𝑘new = 𝑁𝑘
old + 𝛾new 𝑧𝑚𝑘 − 𝛾old 𝑧𝑚𝑘
• 残りの更新式は @shuyo さんのブログ記事をご覧ください
参考: オンラインEMアルゴリズムで混合ガウス分布推論 – Mi manca qualche giovedi? http://d.hatena.ne.jp/n_shuyo/20100426/online_em
[再掲] まとめ
• ベイズ線形回帰に関するEMアルゴリズム
–やったねEMアルゴリズムで導出した更新式が直接最大化して得られる更新式と一致したよ (棒
• 一般のEMアルゴリズム
– EMアルゴリズムは観測データの対数尤度の下界を計算し (Eステップ),下界を最大化する (Mステップ) 処理の繰り返しで最大化を行う
おまけ
• 混合ガウス分布だからEMじゃなきゃダメということはない – パラメータ探索手法はなんでもよい. – たとえば,「全ての組み合わせを調べる」ことも可能
• データ数𝑁,混合数𝐾とすると,𝐾𝑁通りの対数尤度を調べる必要あり
10個のデータ点,混合数2だったら 210 = 1024通り これくらいならできそう?
𝑥1
𝑥2
最適化手法の中でEMがうれしい理由は 対数尤度の単調増加が保証されていること
全探索でも見つけられそうな 対数尤度最大化の例