Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

EMアルゴリズム

1,264 views

Published on

勉強会用に作成した資料です.
続わかりやすいパターン認識

Published in: Technology
  • Be the first to comment

  • Be the first to like this

EMアルゴリズム

  1. 1. EMアルゴリズム @clear0015
  2. 2. お品書き(第6章 EMアルゴリズム p90〜) • 教師なし学習に伴う問題 • log-sumからsum-logへ • Q関数の特性 • Q関数の最大化 • EMアルゴリズムと補助関数法 2
  3. 3. EMアルゴリズムとは?→ 教師なし学習に伴う問題 前回の復習 ■教師付き学習(ラベル付きパターン,完全データ) ・サイコロを投げる度に出た目だけでなく種類も教えてくれる = 所属クラスを示すラベルが貼られている ■教師なし学習(ラベルなしパターン,不完全データ) ・観測できるのはサイコロの目のみ = 所属クラスを示すラベルが貼られていない 𝑃 𝑥, 𝑠 𝑃 𝑥 = 𝑠 𝑃(𝑥, 𝑠) マルコフ性を前提 3
  4. 4. 𝑙𝑜𝑔𝑃 𝑥, 𝑠 = 𝑡=1 𝑛 𝑙𝑜𝑔𝑃 𝑠𝑡 + 𝑡=1 𝑛 𝑙𝑜𝑔𝑃 𝑥𝑡|𝑠𝑡 = 𝐿1 + 𝐿2 ■教師付き学習 教師なし学習に伴う問題(最尤推定) ■教師なし学習 𝑙𝑜𝑔𝑃 𝑥 = 𝑙𝑜𝑔 𝑃 𝑥, 𝑠 パラメータ𝜋𝑖,θ𝑖の推定は𝐿1,𝐿2を最大化することにより求まる 計算量が膨大で最大化計算が困難(微分形の扱いも面倒) 4
  5. 5. EMアルゴリズムとは?(ざっくり説明) 「log-sumの目的関数をsum-logの形で最大化する手法」 ・最尤推定値を逐次解法によって求める(実用的) (ニュートン法などと違いヘッセ行列や逆行列計算を必要としない) ・通常統計モデルの算法として説明されるがこの本では 限定しない. 5
  6. 6. パラメータの存在を陽に示すため,次の様式を用いる. 𝜃 = (𝜃1, … , 𝜃𝑐, 𝜋1, … , 𝜋 𝑐)パラメータベクトル: • P(x) → P(x;θ) • P(s|x) → P(s|x;θ) • P(x|s) → P(x|s;θ) 6
  7. 7. EMアルゴリズム • step1 パラメータθ0の初期値を与える(パラメータの初期化) • step2 パラメータθ0を用いてQ(θ0,θ)を求める • step3 パラメータθ0を定数とみなし, Q(θ0,θ)を最大にするθを求める • step4 対数有度logP(x;θ)を求め,その増分が予め定めた闘値以下なら収束した とみなし終了.さもなければθ0←θと設定し,step2に戻って同じ処理を繰り返す 7
  8. 8. log-sumからsum-logへ log-sumの形をした目的関数 𝜕𝐽 θ 𝜕θ = 𝜕 𝜕𝜃 𝑖=1 𝑐 𝑓𝑖(θ) 𝑗=1 𝑐 𝑓𝑗(θ) = 0 𝐽 θ = 𝑙𝑜𝑔 𝑖=1 𝑐 𝑓𝑖(θ) 普通に解こうとすると... 苦しい 8
  9. 9. ℎ𝑖 0 = 𝑓𝑖(θ0 ) 𝑗=1 𝑐 𝑓𝑗(θ0) 更新前と更新後のパラメータ2種類を考える ℎ𝑖 0 > 0, 𝑖=1 𝑐 ℎ𝑖 0 = 1 𝐽 θ = 𝑙𝑜𝑔 𝑖=1 𝑐 𝑓𝑖 θ = 𝑙𝑜𝑔 𝑖=1 𝑐 ℎ 𝑖 0 𝑓 𝑖(θ) ℎ 𝑖 0 ≥ 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔 𝑓 𝑖(θ) ℎ 𝑖 0 イェンゼンの不等式より 9
  10. 10. イェンゼンの不等式 p297 定理A.5 関数f(x)が凸関数であるとする.このとき, 𝑝1 + 𝑝2 + … + 𝑝 𝑛 = 1 0 ≤ 𝑝𝑖 ≤ 1 (𝑖 = 1,2, … , 𝑛) を満たすpiに対して 𝑓(𝑝1 𝑥1 + 𝑝2 𝑥2 + ⋯ + 𝑃𝑛 𝑥 𝑛) ≤ 𝑝1 𝑓(𝑥1) + 𝑝2 𝑓(𝑥2) + ⋯ + 𝑝 𝑛 𝑓(𝑥 𝑛) が成り立つ. 10
  11. 11. 𝑙𝑜𝑔 𝑖=1 𝑐 𝑓𝑖 θ − 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔 𝑓𝑖(θ) ℎ𝑖 0 = 𝑗=1 𝑐 ℎ𝑗 0 (𝑙𝑜𝑔 𝑖=1 𝑐 𝑓𝑖 θ − 𝑙𝑜𝑔 𝑓𝑗 𝜃 ℎ𝑗 0 ) = 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔 ℎ 𝑗 0 ℎ 𝑗 不等式の両辺の差 ∵ 𝑗=1 𝑐 ℎ𝑗 0 = 1 ℎ𝑖 0 = 𝑓𝑖(θ0) 𝑗=1 𝑐 𝑓𝑗(θ0) 11
  12. 12. KLダイバージェンス p299 二つの確率関数の相違度を表す尺度 ℎ𝑖 0 = 𝐻0 𝑥𝑖 , ℎ𝑖 = 𝐻 𝑥𝑖 (𝑖 = 1,2, … , 𝑐) ここで,二つの確率関数を定義する. 𝐾𝐿 𝑃, 𝑄 ≝ 𝑋 𝑃 𝑋 𝑙𝑜𝑔 𝑃(𝑋) 𝑄(𝑋) 𝐾𝐿 𝐻0 , 𝐻 = 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔 ℎ𝑗 0 ℎ𝑗 12
  13. 13. 𝐽 θ = 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔 𝑓𝑖(θ) ℎ𝑖 0 + 𝐾𝐿 𝐻0 , 𝐻 𝐽 θ0 = 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔 𝑓𝑖(θ0 ) ℎ𝑖 0 + 𝐾𝐿 𝐻0, 𝐻0 θ → θ0 𝐽 θ − 𝐽 θ0 = 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ − ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ0 + 𝐾𝐿 𝐻0 , 𝐻 辺々引き算すると, 𝐾𝐿 𝐻0, 𝐻0 = 0であるため, Q関数 13
  14. 14. 𝐽 θ − 𝐽 θ0 = 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ − ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ0 + 𝐾𝐿 𝐻0, 𝐻 𝑄(θ0,θ) ≝ 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ Q関数 𝐽 θ − 𝐽 θ0 = 𝑄 θ0, θ − 𝑄 θ0, θ0 + 𝐾𝐿(𝐻0, 𝐻) KLダイバージェンスの性質より,𝐾𝐿 𝐻0 , 𝐻 ≥ 0 𝑄 θ0, θ ≥ 𝑄 θ0, θ0 𝐽 θ ≥ 𝐽 θ0 θを繰り返し更新することによりJ(θ)は単調増加し,特定の値に収束する 14
  15. 15. 𝐽 θ ≥ 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔 𝑓𝑖(θ) ℎ𝑖 0 EMアルゴリズムの数式による表現 = ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ0 − 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ = 𝑄 θ0 ,θ − 𝑖=1 𝑐 ℎ𝑖 0 𝑙𝑜𝑔𝑓𝑖 θ step1 step2 step3 15
  16. 16. 例6.1より 𝑄 θ0, θ = 𝑠 𝑃 𝑠 𝑥; θ0 𝑙𝑜𝑔𝑃(𝑥, 𝑠; θ) = 𝑠 𝑃 𝑠1 𝑥1; θ0 ・・・𝑃 𝑠 𝑛 𝑥 𝑛; θ0 ∙ (𝑙𝑜𝑔𝑃(𝑥1, 𝑠1; θ0) + ⋯ + 𝑙𝑜𝑔𝑃(𝑥 𝑛, 𝑠 𝑛; θ0)) = 𝑡=1 𝑛 𝑄𝑡(θ0, θ) 𝑄𝑡(θ0, θ) ≝ s 𝑃(𝑠1|𝑥1; θ0) ・・・𝑃 𝑠 𝑛 𝑥 𝑛; θ0 ∙ (𝑙𝑜𝑔𝑃(𝑥𝑡, 𝑠𝑡; θ0) ただし, 16
  17. 17. 𝑄𝑡 θ0 , θ = ( 𝑠 𝑡 𝑃 𝑠𝑡 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 𝑥𝑡, 𝑠𝑡; θ0 ) ∙ 𝑠−𝑡 𝑃 𝑠−𝑡 𝑥−𝑡; θ0 = 𝑠 𝑡 𝑃 𝑠𝑡 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 𝑥𝑡, 𝑠𝑡; θ0 𝑠 − 𝑡は𝑠から𝑠𝑡を除いた集合 Q関数の特性 𝑠−𝑡 𝑃 𝑠−𝑡 𝑥−𝑡; θ0 は,事後確率𝑃 𝑠−𝑡 𝑥−𝑡; θ0 における𝑠−𝑡の全ての可能な値の組の和であるから 𝑠−𝑡 𝑃 𝑠−𝑡 𝑥−𝑡; θ0 = τ=1 (τ≠𝑡) 𝑛 ( 𝑠τ 𝑃(𝑠τ|𝑥τ; θ0)) = 1 17
  18. 18. = 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 𝑥𝑡, ω𝑖; θ0𝑄𝑡 θ0, θ 𝑠 𝑡 = 𝑠 𝑡=ω1 ω 𝑐 であることを利用して, = 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 ω𝑖 + 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 𝑥𝑡, ω𝑖 = 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 ω𝑖 𝑃(𝑥𝑡|ω𝑖) = 𝑡=1 𝑛 𝑄𝑡(θ0, θ)𝑄𝑡 θ0, θ に代入 18
  19. 19. 19 = 𝑡=1 𝑛 𝑄𝑡(θ0, θ)𝑄𝑡 θ0, θ = 𝑡=1 𝑛 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 ω𝑖 + 𝑡=1 𝑛 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 𝑥𝑡|ω𝑖 = 𝑅1 + 𝑅2 𝑙𝑜𝑔𝑃 𝑥, 𝑠 = 𝑡=1 𝑛 𝑙𝑜𝑔𝑃 𝑠𝑡 + 𝑡=1 𝑛 𝑙𝑜𝑔𝑃 𝑥𝑡|𝑠𝑡 = 𝐿1 + 𝐿2 ■教師付き学習 比較
  20. 20. 20 教師付き学習との関係 𝑙𝑜𝑔𝑃 𝑥, 𝑠; θ = 𝑡=1 𝑛 𝑙𝑜𝑔𝑃 𝑠𝑡 + 𝑡=1 𝑛 𝑙𝑜𝑔𝑃 𝑥𝑡|𝑠𝑡 = 𝐿1 + 𝐿2 教師付きの場合,𝑠𝑡 𝑡 = 1, … , 𝑛 は既知 𝑃 ω𝑖 𝑥𝑡; θ0 = 1 (𝑠𝑡 = ω𝑖のとき) 0 (𝑠𝑡 ≠ ω𝑖のとき) 𝑅1 = 𝑡=1 𝑛 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 ω𝑖 = 𝑡=1 𝑛 ( 𝑖=1 𝑐 𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 ω𝑖 ) = 𝑡=1 𝑛 𝑙𝑜𝑔𝑃(𝑠𝑡) = 𝐿1 𝑅2も同様にして𝑅2 = 𝐿2 教師付きはQ関数を最大化するという教師なしの場合の パラーメータ推定の特別な場合として考えられる

×