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

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

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

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

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 θ