Upgrade to Pro — share decks privately, control downloads, hide ads and more …

機械学習・確率輪講(第五回)EMアルゴリズム

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 機械学習・確率輪講(第五回)EMアルゴリズム

弊研で行っている勉強会のスライドです.
EMアルゴリズムについてまとめました.

Avatar for Shunichi09

Shunichi09

July 17, 2019
Tweet

More Decks by Shunichi09

Other Decks in Research

Transcript

  1. 本日の流れ • EMアルゴリズム • 参考 ‐ https://qiita.com/kenmatsu4/items/59ea3e5dfa3d4c161efb 2019/7/17 2 今まで比べると少しだけAdvancedな内容になっております

    説明が不十分なケースが多いと思うので たくさん止めていただけると嬉しいです 各sectionで,breakを挟もうと思います
  2. 今までの輪講を理解するとできそうになること 2019/7/17 4 モデル推定+制御(方策獲得) [1] [2] [1] Deisenroth, Marc, and

    Carl E. Rasmussen. "PILCO: A model-based and data-efficient approach to policy search." Proceedings of the 28th International Conference on machine learning (ICML-11). 2011. [2] Levine, Sergey, et al. "End-to-end training of deep visuomotor policies." The Journal of Machine Learning Research 17.1 (2016): 1334-1373.
  3. Notation and Reference • Sergey Levineの講義の資料を多く使ってます 本スライドでは[s]で参照します ‐ http://rail.eecs.berkeley.edu/deeprlcourse/ 2019/7/17

    6 データ数 N クラス数 K 観測変数 xn 潜在変数 sn zn 平均μと分散Σの ガウス分布 N(μ,Σ) 観測変数系列 X 潜在変数系列 S 潜在変数系列 Z
  4. Review (Maximum Likelihood) 2019/7/17 -7- Step4:未知のデータに対する予測 Step3:推論の導出 Step2:モデルの構築 Step1:データの収集 (

    ) ( ) , p x N  =  確率分布 尤度関数 ( ) | , p X   EMアルゴリズムなど ( ) * | , new new p x   予測
  5. Recap (Bayesian Inference) 2019/7/17 -8- Step4:未知のデータに対する予測 Step3:推論の導出 Step2:モデルの構築 Step1:データの収集 (

    ) ( ) , p x N  =  ( ) ( ) ( ) * * | | , , | p x X p x p X d d    =     確率分布 事後分布 予測分布 もっと複雑なモデルへ ( ) ( ) ( ) ( ) | , , , | p X p p X p X       =
  6. What is Expectation-Maximization Algorithm? • Wikipedia[1]より ‐ “EMアルゴリズムは反復法の一種であり、期待値(英: expectation, E)

    ス テップと最大化 (英: maximization, M)ステップを交互に繰り替えすこと で計算が進行する。Eステップでは、現在推定されている潜在変数の分 布に基づいて、モデルの尤度の期待値を計算する。Mステップでは、E ステップで求まった尤度の期待値を最大化するようなパラメータを求め る。M ステップで求まったパラメータは、次の E ステップで使われる潜在 変数の分布を決定するために用いられる。” 2019/7/17 10 とりあえずEステップとMステップがあるんだな...
  7. Recap: GMM(Gaussian Mixture Model) • 混合ガウスモデル(GMM) ‐ 複数のガウス分布を重みづけして,和を取ったもの 2019/7/17 11

    ( ) ( ) 1 | , K k k k k p N  = =  x x μ Σ 混合比率     1 2 3 , , 0.2,0.3,0.5    = = π ※この場合外枠が 混合ガウスモデル分布の 確率分布関数の値 確率密度 確率密度 x x 1次元混合ガウス分布例
  8. Recap: Parameters and Latent variable in GMM 12 潜在変数 の扱いが少しやっかいなので,補足

    GMMの潜在変数 と観測変数 の同時分布 は, ( ) ( ) 1 | | , nk K n n n k k k p N = =  z x z x μ Σ ( ) 1 nk K z n k k p  = =  z ( ) ( ) 1 , | , nk nk K n n k k k k p N  = =  z z x z x μ Σ パラメータは 各クラスのガウス分布の平均と分散 潜在変数のカテゴリカル分布   1 1 , ,... , K K μ Σ μ Σ   1 ,... K   z n x n z ( ) , n n p x z   0,0,1,0,0... n = z 1 2 3 0, 0, 1,... n n n = = = z z z n z nk z :あるn番目データ点の潜在変数ベクトル :あるn番目データ点の 潜在変数ベクトルのk個目の値 (どのクラスに所属しているか?) ( ) ( ) 1 1 1 | 1 | , n n n p z N = = x x μ Σ 例:
  9. Recap: Graphical model of GMM 2019/7/17 13 ( ) (

    ) 1 | | , nk K n n n k k k p N = =  z x z x μ Σ ( ) 1 nk K z n k k p  = =  z パラメータθ   0,0,1,0,0... n = z 1 2 3 0, 0, 1,... n n n = = = z z z n z nk z :あるn番目データ点の潜在変数ベクトル :あるn番目データ点の 潜在変数ベクトルのk個目の値 (どのクラスに所属しているか?)
  10. How do we maximize the likelihood? • 混合ガウスモデルの尤度 ‐ 観測したデータ集合

    に混合ガウスモデルをFit ‐ 今知りたいのは, ‐ 各クラスのガウス分布の平均 と分散 ‐ 潜在変数 のカテゴリカル分布のパラメータ 2019/7/17 15   1 ,... N = X x x k z k  k μ k Σ ( ) ( ) 1 1 | , , | , N K k n k k k n p N  = = =   X π μ Σ x μ Σ ( ) ( ) 1 1 log | , , log | , N K k n k k n k p N  = = =   X π μ Σ x μ Σ log log log MN M N = +
  11. How do we maximize the likelihood? 2019/7/17 16 ( )

    ( ) 1 1 log | , , log | , N K k n k k n k p N  = = =   X π μ Σ x μ Σ 対数尤度を最大化すればいいじゃない!(最尤推定) 一般的にlog-sum形式は最大化が困難 (もちろん解けるケースもあります) ( ) ( ) 1 log K k k J p   = =  ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 2 3 1 1 1 ... 0 K k k K K k k k k p p p p J p p             = = =     + +      = = =     ( ) ( ) ( ) 1 2 3 ... 0 p p p          + + =    とりあえずめげずにやってみる!
  12. Differentiate the loglikelihood of GMM 2019/7/17 17 ( ) (

    ) ( ) 1 1 | , 0 | , N k n k k k n k n j n j j j N N   − = = −   x μ Σ Σ x μ x μ Σ とりあえず,一回 で微分 k μ ( ) 1 1 N k nk n n k z N  = =  μ x ( ) ( ) 1 1 log | , , log | , N K k n k k n k p N  = = =   X π μ Σ x μ Σ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 2 2 1 1 1 2 2 1 , 1 1 exp 2 2 1 1 exp 2 2 , T n T n N N   − − − −     = − − −         = − − − −     = − μ Σ x μ Σ x μ μ μ Σ x μ Σ x μ Σ x μ Σ μ Σ Σ x μ ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ ( ) 1 N k nk n N z  = =  計算できた...? Appendix A参考
  13. Differentiate the loglikelihood of GMM 2019/7/17 18 とりあえず,一回 で微分 (

    ) ( ) 1 1 log | , , log | , N K k n k k n k p N  = = =   X π μ Σ x μ Σ k Σ ( ) ( )( ) ( ) 1 | , 0 | , N T k n k k n k n k n j n j j j N N   = = − −   x μ Σ x μ x μ x μ Σ ( )( ) ( ) 1 1 N T k nk n k n k n k z N  = = − −  Σ x μ x μ ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ ( ) 1 N k nk n N z  = =  計算できた...? ( ) ( )( ) ( ) ( )( ) ( ) 1 1 1 1 log , 1 1 log 2 2 1 1 2 2 T T N tr − − − −     = − − − −       = − + − − μ Σ Σ Σ x μ x μ Σ Σ Σ Σ x μ x μ Σ Appendix A参考
  14. Differentiate the loglikelihood of GMM 2019/7/17 19 とりあえず,一回 で微分 (

    ) 1 1 1 log | , 1 N K k n k k n K k k k J N    = = =   −    +  =    x μ Σ k  ( ) ( ) 1 | , 0 | , N n k k n j n j j j N N   = = +   x μ Σ x μ Σ ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ ( ) 1 N k nk n N z  = =  計算できた...? カテゴリカル分布の 制約条件 k k N N  = ラグランジュの未定乗数法 ( ) ( ) max . 0 J s t C   = ( ) ( ) ( ) , L J C      = + Appendix A 参考
  15. Results of differentiating the loglikelihood of GMM 2019/7/17 20 (

    ) 1 1 N k nk n n k z N  = =  μ x ( )( ) ( ) 1 1 N T k nk n k n k n k z N  = = − −  Σ x μ x μ ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ ( ) 1 N k nk n N z  = =  k k N N  = やはり,陽なパラメータの解にはなっていない... 複雑 (すべてのパラメータを含んでいる)
  16. Responsibility 2019/7/17 21 でも, が分かれば,各パラメータを計算できる ( ) ( ) (

    ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ あるクラスのガウス分布×混合比率 すべてのクラスのガウス分布×混合比率の和 ➔負担率 ( ) 1 1 1 | , n N  x μ Σ ( ) 2 2 2 | , n N  x μ Σ ( ) 3 3 3 | , n N  x μ Σ x ( ) | , j n j j j N   x μ Σ 各点において,どのクラスの分布が その点を説明するかの割合
  17. Expectation-Maximization Algorithm 2019/7/17 22 パラメータである,平均 分散 ,混合係数 を初期化 ( )

    1 1 N k nk n n k z N  = =  μ x ( )( ) ( ) 1 1 N T k nk n k n k n k z N  = = − −  Σ x μ x μ ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ k k N N  = ( ) ( ) 1 1 log | , , log | , N K k n k k n k p N  = = =   X π μ Σ x μ Σ E step M step 終了の判定(対数尤度の計算)※ k Σ k μ k  ※繰り返しの回数で判定する場合もあります
  18. Why does EM algorithm work? • (おそらく)疑問になるところ ‐ 何で上手くいくの?というか何やってるの?... ‐

    パラメータの対数尤度計算して,負担率のイメージも分かったけど 結局これは何? ‐ そういえば,さっきの対数尤度に潜在変数の話は 出てきてないような...? 2019/7/17 23 ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ これらを解決するために一般的な話をしなければなりません
  19. General form of latent variable model 2019/7/17 24 混合ガウスモデルのように潜在変数をもつ確率分布を より一般的な形で記述

    ( ) ( ) | , | z p p =  x θ x z θ これを最大化!(最尤推定) ( ) ( ) 1 1 1 | 1 | , p z N = = x x μ Σ 潜在変数 (カテゴリカル分布)(どのクラスか?) z ( )   1 0,1 k K z k k k p z  = =   z ( ) ( ) ( ) ( ) 1 | | , z K k k k k p p z p z N  = = =   x x x μ Σ   0,0,0,1,0... = z 潜在変数 観測変数 パラメータ
  20. ( ) ( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( ) ( ) log | log , | , | log , | log , z z z p p p q q p q q L q = =  =    x θ x z θ x z θ z z x z θ z z z θ General form: maximize the log-likelihood 2019/7/17 25 最尤推定をしてみましょう(最大化) ( )   ( )   log log p p E E  X X X X Jensen’s inequality ( ) ( ) log | log , | z p p =  x θ x z θ Log-sumだとできない... (GMMのようになる) Sum-logならできる (Jensen’s inequality) 変分下限 Sum-logになっている!! ( ) ( ) ( )   1 1 1 1 log , 2 K K T k k k k k k k N C x x    − = =  = − −  −   ( ) 1 log , ... K k k k N  =  =  VS
  21. General form: maximize the log-likelihood 2019/7/17 26 ( ) log

    | p x θ ( ) ( ) , L q z θ ( ) ( ) ( ) log | , p L q  x θ z θ 常にこの関係が成り立つのであれば この右側を代わりに最大化しても 対数尤度は大きくなる こっちを代わりに最大化 先ほどの式をどう使うのかというと... ( ) ( ) ( ) ? log | , p L q = + x θ z θ これは何? ? 対数尤度を 大きくしたい
  22. General form: maximize the log-likelihood 2019/7/17 27 ( ) (

    ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) log | , , | log | log , | log | log | , | log | log log | log | , log | log log | , log | , log || | , z z z z z z z z z KL p L q p p q q p q p q q p p q p q q q p q p p q q p q p q q D q p − = − = − = −   = − + −     = − −   = −   =           x θ z θ x z θ x θ z z x z θ z x θ z z z x θ x θ z x θ z z z x θ z z x θ x θ z z z x θ z z x θ z z z z x θ  ( ) log | p x θ ( ) ( ) , L q z θ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) , , , | | , , | , | | , | p p p p p p p p p p p p = = = = z x θ z x θ θ z x θ x θ θ z x θ x θ θ θ z x θ x θ ( ) ( ) ( ) ( ) ( ) || log KL z q z D p z q z p z p z   =    潜在変数 の事前分布と 事後分布のKLダイバージェンス z
  23. General form: maximize the log-likelihood 2019/7/17 28 ( ) log

    | p x θ ( ) ( ) , L q z θ ( ) ( ) ( ) ( ) ( ) ( ) log | , || | , KL p L q D q p = + x θ z θ z z x θ ( ) ( ) ( ) || | , KL D q p z z x θ じっと眺めてみる 対数尤度 この式を最大化するためにはどうすれば良いのか? ( ) ( ) ( ) ( ) ( ) , | , log z p L q q q =  x z θ z θ z z
  24. General form: maximize the log-likelihood 2019/7/17 29 ( ) (

    ) ( ) ( ) ( ) ( ) log | , || | , KL p L q D q p = + x θ z θ z z x θ 対数尤度 ( ) ( ) ( ) ( ) ( ) , | , log z p L q q q =  x z θ z θ z z 変分下限 を押し上げたい!!! ( ) ( ) , L q z θ ( ) ( ) , L q z θ は, を持つ ( ), q z θ ( ), q z θ それぞれに対して最大化すれば良いのでは? ( ) ( ) ( ) log | , p L q  x θ z θ ( ) log | p x θ ( ) ( ) , L q z θ ( ) ( ) ( ) || | , KL D q p z z x θ
  25. General form: maximize the log-likelihood 2019/7/17 30 ( ) log

    | p x θ ( ) ( ) , L q z θ ( ) ( ) ( ) || | , KL D q p z z x θ ( ) ( ) ( ) ( ) ( ) ( ) log | , || | , KL p L q D q p = + x θ z θ z z x θ これは に関係ない ( ) log | p x θ を に関して最大化 ( ) ( ) , L q z θ ( ) q z ここは固定 ここが0になれば が最大 ( ) ( ) , L q z θ ( ) ( ) | , q p = z z x θ ( ) ( ) ( ) || | , 0 KL D q p = z z x θ とすれば良い
  26. General form: maximize the log-likelihood 2019/7/17 31 を に関して最大化 (

    ) ( ) , L q z θ θ ( ) ( ) ( ) ( ) ( ) ( ) log | , || | , KL p L q D q p = + x θ z θ z z x θ ( ) ( ) ( ) ( ) ( ) , | , log z p L q q q =  x z θ z θ z z 1p前で行ったものを考慮(代入)すると... ( ) ( ) | , q p = z z x θ ( ) ( ) ( ) || | , 0 KL D q p = z z x θ ( ) ( ) ( ) ( ) ( ) ( ) log | | , , | , || | , old KL old p L p D p p = + x θ z x θ θ z x θ z x θ new   → と変化させると不変or増加 (0にしておいたので) なので気にしない θ θ に依存 に依存 これを に関して最大化 θ
  27. General form: maximize the log-likelihood 2019/7/17 32 ( ) (

    ) , L q z θ ( ) ( ) ( ) || | , KL new D q p z z x θ ( ) log | p x θ ( ) ( ) | , old q p = z z x θ ( ) ( ) ( ) || | , 0 KL old D q p = z z x θ ( ) ( ) ( ) || | , 0 KL new D q p  z z x θ ( ) ( ) | , old q q = z x θ z KLダイバージェンスは定義より必ず 0 KL D  ( ) q z 増加分 ( ) q z は固定 new   → と変化させる ( ) ( ) ( ) ( ) ( ) ( ) log | | , , | , || | , old KL old p L p D p p = + x θ z x θ θ z x θ z x θ ( ) ( ) , L q z θ を最大化するように ( ) ( ) , L q z θ は固定 増加 対数尤度が 押し上がる
  28. General form: maximize the log-likelihood 2019/7/17 33 ( ) (

    ) | , q p = z z x θ ( ) ( ) ( ) || | , 0 KL D q p = z z x θ ( ) ( ) ( ) ( ) , | log | lo | , | g , old ol z d p p p p =  x z θ x z x θ θ z x θ のとき ( ) ( ) ( ) ( ) ( ) | , | , log | log , | log | , z old old z old p p p p p = −   x θ x z θ z x θ z x θ z x θ ( ) ( ) ( ) log | log , , | | z old p p cons p t = −  x θ x z θ z x θ 代入した結果 ( ) ( ) ( ) ( ) ( ) ( ) log | , | | , | , | , | old K old L p L D p p p = + z x θ z x θ x θ θ z x θ new   → と変化させると不変or増加 (0にしておいたので) なので気にしない
  29. General form: maximize the log-likelihood 2019/7/17 34 ( ) (

    ) ( ) ( ) log | log , | | , , ol z d old p p const Q con t p s = + = +  x θ x z θ θ z x θ θ Sum-log形式なので最大化はlog-sum形式 よりは容易に を に関して最大化 ( ) ( ) , L q z θ θ ( ) max , old Q θ θ ( ) ( ) ( )   1 1 1 1 log , 2 K K T k k k k k k k N C x x    − = =  = − −  −   ( ) 1 log , ... K k k k N  =  =  VS
  30. Expectation-Maximization Algorithm 2019/7/17 35 パラメータである, を初期化 ( ) ( )

    ( ) , | , log , | old old z Q q p =  θ θ z x θ x z θ ( ) | , p z x θ ( ) argmax , new old Q = θ θ θ θ ( ) log | p x θ E step M step 終了の判定(対数尤度の計算)※ old θ ※繰り返しの回数で判定する場合もあります の事後分布を計算 z
  31. Expectation-Maximization Algorithm 2019/7/17 36 ( ) log | p x

    θ ( ) ( ) , L q z θ ( ) || KL D p q ( ) || KL D p q 対数尤度が 押しあがっていく ( ) | , p z x θ E step の事後分布を計算 z ( ) ( ) ( ) , | , log , | old old z Q q p =  θ θ z x θ x z θ ( ) argmax , new old Q = θ θ θ θ M step パラメータである, を初期化 old θ
  32. Analysis of EM algorithm • EMが簡単に使用できる条件※ ‐ 完全データの対数尤度が について最適化可能 ‐

    混合ガウスモデルだと, 37 ( ) ( ) ( ) , | , log , | old old z Q q p =  θ θ z x θ x z θ ( ) argmax , new old Q = θ θ θ θ ここ θ ( ) ( ) ( ) ( ) 1 1 log , | , , log | , log log | , nk nk K n n k k k k K nk k n k k k p N N   = =   =     = +   z z x z π μ Σ x μ Σ z x μ Σ ( ) ( ) 1 | | , nk K n n n k k k p N = =  z x z x μ Σ ( ) 1 nk K n k k p  = =  z z ( ) ( ) ( ) , | p p p = x z x z z パラメータで 微分できそう (sum-log形式) ※困難な場合も,GEM,CEMといった手法提案があります
  33. Complete data / Incomplete data 38 GMMにおける完全データ GMMにおける不完全データ 完全データは潜在変数と観測変数の組 が得られているデータ

    (各データの所属するクラスが分かっている) 不完全データは観測変数のみが 得られているデータ ( ) ( ) 1 1 , | , , | , nk nk N K k n k k n k p N  = = =  z z X Z π μ Σ x μ Σ
  34. Introducing EM algorithm of GMM 2019/7/17 39 一般系からGMMを導出 ( )

    ( ) ( ) , | , log , | old old z Q q p =  θ θ z x θ x z θ ( ) | , p z x θ 一般系 必要なもの 潜在変数の定義(事前分布) 完全データの対数尤度関数 の での条件付き確率分布 ( ) ( ) ( ) , | | , | p p p = x z θ x z θ z θ 潜在変数の事後分布 ( ) | , p z x θ ( ) p z z x ( ) log , | p x z θ ( ) | p x z
  35. Parameters and Latent variable in GMM 40 潜在変数 の扱いが少しやっかいなので,補足 GMMの潜在変数

    と観測変数 の同時分布 は, ( ) ( ) 1 | | , nk K n n n k k k p N = =  z x z x μ Σ ( ) 1 nk K z n k k p  = =  z ( ) ( ) 1 , | , nk nk K n n k k k k p N  = =  z z x z x μ Σ パラメータは 各クラスのガウス分布の平均と分散 潜在変数のカテゴリカル分布   1 1 , ,... , K K μ Σ μ Σ   1 ,... K   z n x n z ( ) , n n p x z   0,0,1,0,0... n = z 1 2 3 0, 0, 1,... n n n = = = z z z n z nk z :あるn番目データ点の潜在変数ベクトル :あるn番目データ点の 潜在変数ベクトルのk個目の値 (どのクラスに所属しているか?) ( ) ( ) 1 1 1 | 1 | , n n n p z N = = x x μ Σ 例:
  36. Introducing EM algorithm of GMM 2019/7/17 41 必要なもの 潜在変数の定義(事前分布) 完全データの対数尤度関数

    の での条件付き確率分布 潜在変数の事後分布 ( ) | , p z x θ ( ) p z z x ( ) log , | p x z θ ( ) | p x z GMM ( ) 1 nk K z n k k p  = =  z ( ) ( ) 1 | | , nk K z n n n k k k p N = =  x z x μ Σ ( ) ( ) ( ) 1 1 1 1 | , | , , , | , nk nk nj nj n N K k n k k n k N K k n k k n j N p N   = = = = =   z z z z z x μ Σ Z X π μ Σ x μ Σ Appendix B ( ) ( ) ( ) 1 1 log , | , , log log | , N K nk k n k k n k p N  = = = +  Z X π μ Σ z x μ Σ
  37. E-step: 2019/7/17 42 ( ) ( ) ( ) (

    ) 1 1 1 1 1 1 | , | , , , | , 1 | , nk nk nj nj n nk nk N K k n k k n k N K k n k k n j N K k n k k n k N p N N C    = = = = = = = =    z z z z z z z x μ Σ Z X π μ Σ x μ Σ x μ Σ すでに算出済み ここは定数 (正規化項)
  38. M-step: 2019/7/17 43 ( ) ( ) ( ) (

    ) ( ) ( ) ( ) ( ) ( ) ( )     1 1 | , , , 1 1 | , , , , | , , , log , | , , | , , , log log | , log log | , log log | , old old old old old old old old old old N K old old old nk k n k k n k N K nk k n k k q n k nk k n k q Q q p q N E N E N    = = = = =   = +       = +     = +     Z Z Z X π μ Σ Z X π μ Σ θ θ Z X π μ Σ X Z π μ Σ Z X π μ Σ z x μ Σ z x μ Σ z x μ Σ ( ) ( ) 1 1 N K k n k = =  ( )   ( )   p p E A AE = x x x x ここが知りたい! 潜在変数 の期待値 ( なので,1を取る確率➔どのクラスに所属するかの確率) nk z   0,1 nk  z
  39. M-step: 2019/7/17 44 ( )   ( ) (

    ) ( ) ( ) ( ) ' | , , , ' ' ' ' 1 1 | , , , | , | , | , | , old old old nk n nj n nk nk old old old q K nk k n k k k K j n k k j k n k k j n j j j E q N N N N     = = =     =     =      Z X π μ Σ Z z z z z z z Z X π μ Σ z x μ Σ x μ Σ x μ Σ x μ Σ 負担率 !! (GMMのE-stepは,ここを計算することまで含めます) が1のときのみ (それ以外0) nk z ( ) ( ) ( ) 1 1 1 1 | , | , , , | , nk nk nj nj n N K k n k k n k N K k n k k n j N p N   = = = = =   z z z z z x μ Σ Z X π μ Σ x μ Σ が1のときのみ (それ以外0)   0,0,1 n = z   0,1,0 n = z   1,0,0 n = z nj z 代入してみるとわかる 各データ点は独立 Appendix C (他のデータ点は 事後分布に無関係) ( ) nk  z
  40. M-step: 2019/7/17 45 後は各パラメータで微分 (Appendix D) ( ) ( )

    ( ) ( ) 1 1 , log log | , N K old nk k n k k n k Q N   = = = +  θ θ z x μ Σ ( ) , 0 old k Q  =  θ θ μ ( ) , 0 old k Q  =  θ θ Σ ( ) 1 , 1 0 K old k k k Q    =      − −         =   θ θ 制約条件 やってみてください... 無事導出完了!!! ( ) 1 1 N k nk n n k z N  = =  μ x ( )( ) ( ) 1 1 N T k nk n k n k n k z N  = = − −  Σ x μ x μ k k N N  =
  41. Expectation-Maximization Algorithm 2019/7/17 46 パラメータである,平均 分散 ,混合係数 を初期化 ( )

    1 1 N k nk n n k z N  = =  μ x ( )( ) ( ) 1 1 N T k nk n k n k n k z N  = = − −  Σ x μ x μ ( ) ( ) ( ) | , | , k n k k nk j n j j j N z N    =  x μ Σ x μ Σ k k N N  = ( ) ( ) 1 1 log | , , log | , N K k n k k n k p N  = = =   X π μ Σ x μ Σ E step M step 終了の判定(対数尤度の計算)※ k Σ k μ k  ※繰り返しの回数で判定する場合もあります
  42. Example: GMM, problem formulation 2019/7/17 47 問題:各点の潜在変数を推定してください   1

    1 5 2.5 2 1.5 1.5 2 = − −   =   −   μ Σ   2 2 0. 2.5 5 1.25 1.25 5 = −   =     μ Σ   3 3 5.5 0.5 2 1.5 1.5 2 = −   =   −   μ Σ   0.33 0.33 0.33 = π 真値 GMMへの入力 900 N =
  43. Example: results 2019/7/17 48 ( ) log | p X

    θ ( ) , old Q θ θ ※ それぞれのアルゴリズムは,各stepが終了した後に 値を計算しています 対数尤度よりも小さい ( ) ( ) log | , old p Q  X θ θ θ 真値 推定値
  44. Example: results 2019/7/17 49 ( ) log | p X

    θ ( ) log | p x θ ( ) ( ) , L q z θ ( ) || KL D p q ( ) || KL D p q ※ それぞれのplotデータは,各stepが終了した後に 値を計算しています e-stepでは変化なし m-stepで押しあがる
  45. Notes • 局所解に落ちる場合があります ‐ 右図 • MAP推定(事後確率最大)にも使えます ‐ を最大にする(導出可能です[1]) •

    ハイパーパラメータ推定にも使えます ‐ モデルエビデンス(周辺尤度)を最大化 ‐ 重みwを潜在変数とみなす 2019/7/17 51 ( ) log | p θ x [1] https://qiita.com/kenmatsu4/items/d797bf6250eee5048865
  46. Review (Maximum Likelihood) 2019/7/17 -53- Step4:未知のデータに対する予測 Step3:推論の導出 Step2:モデルの構築 Step1:データの収集 (

    ) ( ) , p x N  =  確率分布 尤度関数 ( ) | , p X   EMアルゴリズムなど ( ) * | , new new p x   予測
  47. Review (Bayesian Inference) 2019/7/17 -54- Step4:未知のデータに対する予測 Step3:推論の導出 Step2:モデルの構築 Step1:データの収集 (

    ) ( ) , p x N  =  ( ) ( ) ( ) ( ) | , , , | p X p p X p X       = ( ) ( ) ( ) * * | | , , | p x X p x p X d d    =     確率分布 事後分布 予測分布
  48. 使った公式集 2019/7/17 57 ( ) 1 log T − 

    =  A A A A が対称行列なら ( ) 1 1 T − − = A A ( ) T T tr = x Ax Axx ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) log log f f f f f f                =  =    ( ) ( ) 1 1 1 T T tr − − −  = −  A x A xA A ( )T T T = AB B A ( ) T T  = +  x Ax A A x x A が対称行列なら 2 T  =  x Ax Ax x
  49. A: 計算詳細-混合ガウスモデルにおける最尤推定 2019/7/17 58 ( ) ( ) 1 1

    log | , , log | , N K k k k n k p N  = = =   x π μ Σ x μ Σ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 2 2 1 1 1 2 2 1 , 1 1 exp 2 2 1 1 exp 2 2 , T n T n N N   − − − −     = − − −         = − − − −     = − μ Σ x μ Σ x μ μ μ Σ x μ Σ x μ Σ x μ Σ μ Σ Σ x μ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 1 1 1 1 1 | , log | , | , | , | , | , | , k n k k N K N k k n k k K n k n k j n j j j N k n k k k n k K n j n j j j N k k k k n k K n j j j j N N N N N N N        = = = = − = = − = =    =  − = = −         x μ Σ μ x μ Σ μ x μ Σ x μ Σ Σ x μ x μ Σ x μ Σ Σ x μ x μ Σ 一回 で微分 k μ
  50. A: 計算詳細-混合ガウスモデルにおける最尤推定 2019/7/17 59 一回 で微分 k μ ( )

    ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 1 1 1 1 | , 0 | , 0 1 1 N k k k k n k K n j j j j N nk n k n N N nk k nk n n n N k nk n N n nk n N k nk n n k N N z z z z z z N         − = = = = = = = = = − = − = = =         x μ Σ Σ x μ x μ Σ x μ μ x μ x μ x ( ) ( ) ( ) | , | , k k k nk j j j j N z N    =  x μ Σ x μ Σ ( ) 1 N k nk n N z  = =  1p前の続き微分結果を0とする
  51. A: 計算詳細-混合ガウスモデルにおける最尤推定 2019/7/17 60 ( ) ( ) 1 1

    log | , , log | , N K k k k n k p N  = = =   x π μ Σ x μ Σ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) 1 1 1 1 1 1 1 1 1 1 1 | , log | , | , | , log | , | , | , 1 1 2 2 | , k n k k N K N k k n k k K n k n k j n j j j k n k k n k k N k K n j n j j j N T k k k K n j j j j N N N N N N N N        = = = = = = − − − = =    =    =   = − + − −             x μ Σ Σ x μ Σ Σ x μ Σ x μ Σ x μ Σ Σ x μ Σ x μ Σ Σ Σ x μ x μ Σ x μ Σ 一回 で微分 k Σ ( ) ( ) ( ) ( ) ( )( ) ( ) ( )( ) ( ) 1 1 1 1 1 log , 1 1 log 2 log 2 2 2 1 1 log 2 log 2 2 2 1 1 2 2 T T T N n n tr   − − − − −     = − − − − −          = − − − − −      = − + − − μ Σ Σ x μ Σ x μ Σ Σ Σ Σ x μ x μ Σ Σ Σ x μ x μ Σ 一部公式集使用 (見比べてください)
  52. A: 計算詳細-混合ガウスモデルにおける最尤推定 2019/7/17 61 ( ) ( )( ) (

    ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) 1 1 1 1 1 1 1 1 1 1 1 1 1 0 2 2 0 1 N T nk k k n k n k k n N T k nk n k n k k n N N T nk nk n k n k n n N T k nk n k n k n N T k nk n k n k n k z z I z z z z N       − − − = − − = = = = =   = − + − −     = − − − = − − = − − = − −       Σ Σ x μ x μ Σ Σ x μ x μ Σ x μ x μ Σ x μ x μ Σ x μ x μ 一回 で微分 k Σ 1p前の続き微分結果を0とする
  53. A: 計算詳細-混合ガウスモデルにおける最尤推定 2019/7/17 62 ( ) ( ) 1 1

    log | , , log | , N K k k k n k p N  = = =   x π μ Σ x μ Σ ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 1 1 | , log | , 1 | , | , | , k n k k N K K N k k n k k k K n k k n k j n j j j N n k k K n j n j j j N N N N N           = = = = = = =        + − = +          = +        x μ Σ x μ Σ x μ Σ x μ Σ x μ Σ 一回 で微分 k  ラグランジュの未定乗数法 ( ) ( ) max . 0 J s t C   = ( ) ( ) ( ) , L J C      = +
  54. A: 計算詳細-混合ガウスモデルにおける最尤推定 2019/7/17 63 1p前の続き微分結果を0とする 一回 で微分 k  (

    ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 1 1 1 | , 0 | , | , 0 | , | , 0 | , 0 N n k k K n j n j j j N n k k k k K n j n j j j K k n k k N K k k K n k j n j j j N N N N N N N            = = = = = = = = = + = + = + = +         x μ Σ x μ Σ x μ Σ x μ Σ x μ Σ x μ Σ ( ) ( ) ( ) 1 1 1 | , 0 | , N k n k k k K n j n j j j N k nk n k k N N N N z N N       = = = = − = =    x μ Σ x μ Σ N  = −
  55. B: 計算詳細-GMM 2019/7/17 64 GMMにおける完全データの対数尤度関数 (各データ点は独立)(それぞれの点で考えて掛け算すれば良い) ( ) log ,

    | p x z θ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 log , | log | , , , | log | , , , | log | , log log | , nk nk N n n n n N K k n k k n k N K nk k n k k n k p p p p p N N   = = = = = = =   =     = +    z z X Z θ X Z π μ Σ Z π x z π μ Σ z π x μ Σ z x μ Σ ( ) 1 nk K z n k k p  = =  z ( ) ( ) 1 | | , nk K z n n n k k k p N = =  x z x μ Σ ( ) 1 1 nk N K z k n k p  = = =  Z
  56. B: 計算詳細-GMM 2019/7/17 65 GMMにおける潜在変数の事後分布 ( ) | , p

    z x θ ( ) ( ) ( ) ( ) ( ) 1 1 1 1 , | , , | , | , , | , | , nk nk nk nk n N K k n k k n k N K k n k k n k p p p N N   = = = = = =   z z z z z X Z π μ Σ Z X θ X π μ Σ x μ Σ x μ Σ ( ) ( ) 1 1 , | | , nk nk N K k n k k n k p N  = = =  z z X Z θ x μ Σ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) , , , | | , , | , | | , | p p p p p p p p p p p p = = = = z x θ z x θ θ z x θ x θ θ z x θ x θ θ θ z x θ x θ 各データ点は独立
  57. C: 補足-各データ点が独立 2019/7/17 66 ( )   ( )

    ( ) ( ) | , , , | , , , | , , , | , , , old old old n nk nk old old old q nk n old old old nk n n old old old E q q q = = =    Z X π μ Σ Z Z z z z Z X π μ Σ z z X π μ Σ z z x π μ Σ ( ) ( ) ( ) 1 1 1 1 | , | , , , | , nk nk nj nj n N K k n k k n k N K k n k k n j N p N   = = = = =   z z z z z x μ Σ Z X π μ Σ x μ Σ すべてのデータ点で積分したとしても, はn番目のデータ点にのみ依存するので 関連するn番目のデータ点で積分すればよい なお, の事後確率も, n番目のデータ点にのみ依存する ので,上記の式のようになる nk z 各データ点は独立 (積分) n z 各データ点は独立 (事後分布)
  58. D: 計算詳細-一般系のGMM 2019/7/17 67 ( ) ( ) ( )

    ( ) 1 1 , log log | , N K old nk k n k k n k Q N   = = = +  θ θ z x μ Σ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 ' ' ' ' '' 1 ' 1 '' 1 1 1 , 1 log log | , 1 log log | , 1 0 K old k N K K k nk k n k k k n k k k k k N nk k n k k n k N nk n k Q N N                 = = = = = =      − −             = + − −         + = −  = + =      θ θ z x μ Σ z x μ Σ z 一回 で微分 k  ( ) ( ) ( ) 1 1 1 1 1 | , 0 | , 0 N nk k n K k n k k N K k k K n k j n j j j N N N        = = = = = = − + = + =      z x μ Σ x μ Σ ( ) ( ) ( ) 1 1 1 | , 0 | , N k n k k k K n j n j j j N k nk n k k N N N N z N N       = = = = − = =    x μ Σ x μ Σ N  = − ( ) 1 N k nk n N z  = = 
  59. D: 計算詳細-一般系のGMM 2019/7/17 68 一回 で微分 k μ ( )

    ( ) ( ) ( ) 1 1 , log log | , N K old nk k n k k n k Q N   = = = +  θ θ z x μ Σ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ' ' ' ' 1 ' 1 1 1 1 log log | , , log | , N K nk k n k k old n k k k N nk n k k n k N nk k n k n N Q N     = = = − =  +  =    =  = −    z x μ Σ θ θ μ μ z x μ Σ μ z Σ x μ ( )( ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 1 0 1 1 N nk n k n N N nk k nk n n n N k nk n N n nk n N k nk n n k z z z z z z N       = = = = = = = − = = =       x μ μ x μ x μ x ( ) ( ) ( ) | , | , k k k nk j j j j N z N    =  x μ Σ x μ Σ ( ) 1 N k nk n N z  = = 
  60. D: 計算詳細-一般系のGMM 2019/7/17 69 一回 で微分 k Σ ( )

    ( ) ( ) ( ) 1 1 , log log | , N K old nk k n k k n k Q N   = = = +  θ θ z x μ Σ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ' ' ' ' 1 ' 1 1 1 1 1 1 log log | , , log | , 1 1 2 2 N K nk k n k k old n k k k N nk n k k n k N T nk k k n k n k k n N Q N     = = = − − − =  +  =    =    = − + − −        z x μ Σ θ θ Σ Σ z x μ Σ Σ z Σ Σ x μ x μ Σ ( ) ( )( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) 1 1 1 1 1 1 1 1 1 1 1 1 1 0 2 2 0 1 N T nk k k n k n k k n N T k nk n k n k k n N N T nk nk n k n k n n N T k nk n k n k n N T k nk n k n k n k z z I z z z z N       − − − = − − = = = = =   = − + − −     = − − − = − − = − − = − −       Σ Σ x μ x μ Σ Σ x μ x μ Σ x μ x μ Σ x μ x μ Σ x μ x μ ( ) ( ) ( ) | , | , k k k nk j j j j N z N    =  x μ Σ x μ Σ ( ) 1 N k nk n N z  = = 
  61. E: EMアルゴリズムのもっと直感的な説明 2019/7/17 70 ( ) ( ) log |

    log , | z p p =  x θ x z θ ( ) ( ) ( ) log | log | , | z p p p =  x θ x z θ z θ 潜在変数ありの確率モデルで,最大化したい尤度は... 潜在変数 がないと算出できない z ( ) ( ) ( ) ( ) ( ) ~ | , | log , | lo | | , g , p z p p E p p =   =    z z x θ x θ x z θ x θ z z x θ 事後確率の期待値に にすればよいのでは? ( ) ( ) ( ) , | , log , | old old z Q q p =  θ θ z x θ x z θ