Chapter9 2

6,360 views

Published on

PRML読書会#12発表資料
混合ガウス分布のEMアルゴリズム

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,360
On SlideShare
0
From Embeds
0
Number of Embeds
988
Actions
Shares
0
Downloads
100
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Chapter9 2

  1. 1. PRML読書会 発表資料 9.2 混合ガウス分布 Presented by takmin
  2. 2. この章でやりたいこと • ある観測データxが混合ガウス分布に従うときの最尤 推定を行いたい. 混合ガウス分布 K p(x)    k Ν( x | μ k , Σ k ) (9.7) k 1 尤度関数 N K  p( X | π, μ, Σ)     k Ν(x n | μ k , Σ k ) n 1  k 1  観測データが与 えられたとき こいつを最大化する こいつらを求めたい そのための計算方法を求める = EMアルゴリズムの導出
  3. 3. この章の流れ • 9.2 混合ガウス分布 – 混合ガウス分布に潜在変数zと負担率γ という考え 方を導入する • 9.2.1 最尤推定 – 混合ガウス分布の対数尤度関数に対して最尤推定 を行うのはとにかく難しい,ということを説明する • 9.2.2 混合ガウス分布のEMアルゴリズム – 潜在変数zと負担率γ という考え方を利用して,対数 尤度関数を最大化するためのアルゴリズムを導出す る. – アルゴリズムまとめ
  4. 4. 9.2 混合ガウス分布 • 混合ガウス分布 K p(x)    k Ν( x | μ k , Σ k ) (9.7) k 1 1 1  1  N(x | μ k , Σ k )  exp (x  μ k )T Σ 1 (x  μ k ) (2 ) D / 2 Σ k 1/ 2 k (2.43)  2  Σ2 K=2 の例 Σ1 2 1 μ1 μ2
  5. 5. 潜在変数zを導入 • 潜在変数zを導入することで,以下の形に定式化したい p(x)   p(x, z )   p(z) p(x | z ) z z Z X
  6. 6. 潜在変数z z  z1, , zk ,, zK   K   zk  0,1,  zk  1 T  k 1  潜在変数の事前分布 P(z) p ( z k  1)   k K p(z )      zk K k  0   k  1,    k  1  (9.10) k 1 k 1 K=2 の例 p(z) 2 1 z1  (1,0) z 2  (0,1)
  7. 7. 観測データの事後分布 P(x|z) p(x | zk  1)  Ν( x | μ k , Σ k ) K p(x | z )   Ν( x | μ k , Σ k ) zk (9.11) k 1 p(x | z) Σ2 Σ1 p(x | z1  1) p(x | z2  1) μ1 μ2
  8. 8. 演習9.3 K K p(z )    zk k (9.10) と p(x | z )   Ν( x | μ k , Σ k ) zk (9.11) から k 1 k 1 K p(x)    k Ν( x | μ k , Σ k ) (9.7) を導く k 1 答え: p(x)   p(x, z )   p(z) p(x | z ) z z K K K     N(x | μ , Σ k )    k N( x | μ k , Σ k ) zk zk zk k k z k 1 k 1 z k 1 zは1-of-K表現なので,Ikj= (k==j)? 1 : 0 とすると K K K    k N( x | μ k , Σ k ) kj    k N( x | μ k , Σ k ) I j 1 k 1 j 1
  9. 9. 観測データxnには必ず対応する潜在変数znが存在する 2 p(z) 1 z1  (1,0) z 2  (0,1) Σ2 Σ1 p(x | z) p(x | z1  1) p(x | z2  1) μ1 μ2 p ( x)   p ( z ) p ( x | z ) z 1 p(x, z1 | μ1 , Σ1 )  2 p(x, z 2 | μ 2 , Σ 2 )
  10. 10. 負担率 xが与えられた元でのzkの条件付き確率 k Ν( x | μ k , Σ k ) p( zk  1) p(x | zk  1)  ( z k )  p ( z k  1 | x)  K  p( z j 1 k  1) p(x | zk  1)  k Ν(x | μ k , Σ k )  K  j 1 j Ν( x | μ j , Σ j ) 『混合要素kがxの観測を「説明する」度合いを表す』 ??? データxが混合要素kから発生したものである可能性
  11. 11. 負担率  k Ν(x | μ k , Σ k )  ( zk )  K  j 1 j Ν( x | μ j , Σ j ) L1  ( z n1 )  L1  L2  2 p(x, z 2 | μ 2 , Σ 2 )  ( zn 2 )  L2 1 p(x, z1 | μ1 , Σ1 ) L1  L2 L1 L2 xn
  12. 12. ランダムサンプルの生成 混合ガウスモデルに従うランダムサンプルを生成したい 伝承サンプリング z→xの順にサンプルを生成する Z p(z) 2 1 z1  (1,0) z 2  (0,1) X
  13. 13. ランダムサンプルの生成 混合ガウスモデルに従うランダムサンプルを生成したい 伝承サンプリング z→xの順にサンプルを生成する Σ1 p(x | z1  1) Z μ1 Σ2 X p(x | z2  1) p(x | z) μ2
  14. 14. ランダムサンプルの生成 混合ガウスモデルに従うランダムサンプルを生成したい 伝承サンプリング z→xの順にサンプルを生成する Z ランダムサンプルを繰り返して,最終的 に得られる分布 p(x) X
  15. 15. ランダムサンプルの生成 (a) 同時分布p(x,z)からのサンプル • xは2次元空間上の位置 • zは3つの状態を色で表す (b) p(x) • xがどのzから生成されたのかわからない (c) 負担率γ
  16. 16. 9.2.1 最尤推定 観測したデータ集合Xに混合ガウス分布を当てはめたい。 Z  (z ,, z ) T 1 T T N zn π z n  ( zn1 ,, znK ) T X  (x1 ,, xT )T T N xn μ Σ xn  ( xn1 ,, xnD ) T N
  17. 17. 対数尤度関数 混合ガウス分布の対数尤度を最大化したい K K  ln p( X | π, μ, Σ)   ln  k Ν(x n | μ k , Σ k ) k 1  k 1  観測データが与 えられたとき こいつを最大化する こいつらを求めたい 色々と困難な問題がある
  18. 18. 特異性の問題 Σ k  σ k I の混合ガウス分布を例に 2 あるデータnについて μ j  x n が成り立ったとする。 N( x n | μ n , σ 2 I )  N( x n | x n , σ 2 I ) j j 1 1  1 2 1   exp (x n  x n ) (σ j ) (x n  x n ) T (2 ) D/2 2 1/ 2 σj  2  1 1  (2 ) D / 2  j σ j  0 の時,無限大に発散してしまう
  19. 19. 特異性の問題 μをxnにσを0に近づけると尤度が無限大になる
  20. 20. 特異性の問題 単一のガウス分布の場合 μをxnにσを0に近づけると,尤度は0になる
  21. 21. 識別不可能性  2 p(x, z 2 | μ 2 , Σ 2 ) 1 p(x, z1 | μ1 , Σ1 ) p(x) 1 p(x, z1 | μ1 , Σ1 )  2 p(x, z 2 | μ 2 , Σ 2 ) 同等な解がK!個存在する
  22. 22. 対数尤度関数 混合ガウス分布の対数尤度を用いた最尤推定の困難さ N K  ln p( X | π, μ, Σ)   ln  k Ν(x n | μ k , Σ k ) n 1  k 1  対数の中に和が入ってしまっ ている •特異性の問題 •識別不可能性
  23. 23. 9.2.2 混合ガウス分布のEMアルゴリ ズム 対数尤度関数を最大化したい 対数尤度関数: K K  ln p( X | π, μ, Σ)   ln  k Ν(x n | μ k , Σ k ) k 1  k 1  極大値を求めるために,それぞれのパラメータ μ k , Σ k の導関数が0となる値を求める K  k については   k  1 の制約のもとラグランジュ未定 k 1 係数法で解く
  24. 24. μkについて   N K  μ k ln p( X | π, μ, Σ)  μ k  ln j Ν(xn | μ j , Σ j ) n 1  j 1  N  K    ln  j Ν(x n | μ j , Σ j )  ln( f (x))  x f ( x) n 1 μ k  j 1  x f ( x)   k Ν( x n | μ k , Σ k )  N μ k N( x n | μ k , Σ k )  K μ k n 1   j Ν(x n | μ j , Σ j )  Σ 1 (x  μ ) N(x j 1 k n k n | μk , Σk ) N  k Ν( x n | μ k , Σ k )  K Σ 1 (x n   k ) k n 1  j 1 j Ν( x n | μ j , Σ j )  ( z nk )
  25. 25. μkについて N   ( znk ) Σ 1 (x n  μ k )  0 n 1 k N N  (z n 1 nk )μ k    ( znk )x n n 1 N 1 N μk  Nk  (z n 1 nk )x n ただし N k    ( znk ) (9.17) n 1
  26. 26. Σkについて  ln p( X | π, μ, Σ)  0 の時 Σ k N 1 Σk    ( z nk )x n  μ k x n  μ k T となる (9.19) Nk n 1 スイマセン!解き方がわかりませんでした!
  27. 27. π kについて K ln p(X | π,μ,Σ) を  k 1 k  1 の制約のもとで最大化したい ラグランジュ未定係数法  K  L( k ,  )  ln p( X | π,μ,Σ)      k  1  k 1   N  K    K  L( k ,  )   ln  j Ν( x n | μ j , Σ j )      k  1  k n 1 π k  j 1  π k  k 1  N Ν( x n | μ k , Σ k )  K   0 n 1   j Ν(x n | μ j , Σ j ) j 1
  28. 28. π kについて N Ν( x n | μ k , Σ k )  K  0 N n 1  j Ν( x n | μ j , Σ j ) 1    0 n 1 j 1 両辺にπ kをかける N  k Ν( x n | μ k , Σ k )   N  K   k  0 n 1  j 1 j Ν( x n | μ j , Σ j ) N 1-Kまでの和  (z n 1 nk )  N k  0  1  K  N 1   k Ν( x n | μ k , Σ k )    K   k   0 k  Nk (9.22) k 1  n 1  j 1   j Ν(x n | μ j , Σ j )   N  
  29. 29. EMアルゴリズム概要 (9.17),(9.19),(9.22)の結果は,  ( z nk ) を固定した時の最尤推 定の解  ( z nk ) 自体がμ, Σ, π の影響を受ける.  ( z nk ) の計算と μ, Σ, πの推定を交互に繰り返しながら,最適 な解を求める Eステップ: 負担率  ( z nk ) を計算する. Mステップ: μ, Σ, π を計算する.
  30. 30. Old Faithful間欠泉データの例
  31. 31. EMアルゴリズム 1. 平均 μ ,分散Σ ,そして混合係数 π を初期 化し,対数尤度の初期値を計算する. N K  ln p( X | π, μ, Σ)   ln  k Ν(x n | μ k , Σ k ) n 1  k 1  Σ2 Σ1 のlnの総和=対数尤度 K=2 の例 2 1 μ1 μ2
  32. 32. EMアルゴリズム 2. Eステップ:現在のパラメータ値を使って,次 式の負担率を計算する.  k Ν(x | μ k , Σ k )  ( zk )  K  j 1 j Ν( x | μ j , Σ j ) L1  ( z n1 )   2 p(x, z 2 | μ 2 , Σ 2 ) L1  L2 L2 1 p(x, z1 | μ1 , Σ1 )  ( zn 2 )  L1  L2 L1 L2 xn
  33. 33. EMアルゴリズム 3. Mステップ:現在の負担率を使って,次式で パラメータを再計算する.N 1 N 1 μk    ( z nk )x n Σk    ( z nk )x n  μ k x n  μ k T Nk n 1 Nk n 1 Nk N k  N k    ( znk ) N n 1
  34. 34. EMアルゴリズム 4. 対数尤度を計算し,パラメータ値の変化または対数尤 度の変化を見て,収束性を確認し,収束基準を満たし ていなければステップ2に戻る. K K  ln p( X | π, μ, Σ)   ln  k Ν(x n | μ k , Σ k ) k 1  k 1 
  35. 35. この章のまとめ • 9.2 混合ガウス分布(Mixtures of Gaussians) – 混合ガウス分布は潜在変数zによって生成されたk個のガウス 分布が合わさったものだと考えよう • 負担率=観測xがどれだけzに起因してそうか • 9.2.1 最尤推定 – 混合ガウス分布の対数尤度関数に対して最尤推定を行うのは 結構難しい • 9.2.2 混合ガウス分布のEMアルゴリズム – アルゴリズムの導出方法 • 負担率を固定して,それぞれのパラメータの微分値が0となる値を求 める – アルゴリズムまとめ • Eステップ:パラメータを固定して負担率を計算 • Mステップ:負担率を固定して,尤度を最大化するパラメータを計算

×