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

機械学習・確率輪講(第五回)HMM

 機械学習・確率輪講(第五回)HMM

高橋研究室機械学習・確率輪講、第五回の資料です。
HMMについて導入をまとめました。

Shunichi09

July 17, 2019
Tweet

More Decks by Shunichi09

Other Decks in Research

Transcript

  1. 本日の流れ • 複雑なモデルでのベイズ推論 ‐ HMM ‐ その他 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. HMM (Hidden Markov Model) • “隠れ” マルコフモデル ‐ 時系列データのモデル化に使用 ‐

    音声波形[1] ‐ IMUの時刻歴[2] 2019/7/17 9 [1] https://www.gavo.t.u-tokyo.ac.jp/~mine/japanese/nlp+slp/IPSJ-MGN451003.pdf [1] [2] F. Dadashi et al., "A Hidden Markov Model of the breaststroke swimming temporal phases using wearable inertial measurement units,“ 2013 IEEE International Conference on Body Sensor Networks, Cambridge, MA, USA, 2013, pp. 1-6.doi: 10.1109/BSN.2013.6575461 [2]
  7. What is Markov Model? • マルコフ過程は次のような確率過程のこと ‐ 今の状態 が1時刻前 の状態

    にのみ依存 • マルコフ連鎖 ‐ マルコフ過程の中で状態 が離散のもの • マルコフ決定過程 ‐ 今の状態 が任意の行動 と, 1時刻前の状態 に依存 2019/7/17 10 t s 1 t s − 1 t s − t s t a s [s] [s]
  8. Recap: Graphical model of GMM 2019/7/17 11 ( ) (

    ) 1 | | , k K k k k p N = =  s x s x μ Σ ( ) 1 k K k k p  = =  s s パラメータθ ( ) ( ) 1 | | N n n p p = =  S π s π Gaussian Mixture Model (複数のガウス分布を混合) ➔潜在変数は各データ間で独立 ( ) ( ) 1 | | N n n p p   =   =      X x 潜在変数 の発生過程   1 2 3 , , ,... = S s s s
  9. Graphical model of HMM 2019/7/17 12 Gaussian Mixture Model Hidden

    Markov Model 潜在変数がマルコフ性を持つ➔“隠れ”マルコフモデル 潜在変数 観測値 パラメータ
  10. 潜在変数 の発生過程 Parameters and latent variables of HMM 2019/7/17 13

    ( ) ( ) ( ) 1 1 2 | , | | , N n n n p p p − = =  S π A s π s s A   1 2 3 , , ,... = S s s s ( ) 1 | p s π :初期確率 A :状態遷移確率   0,0,1,0,0... n = s 1 2 3 0, 0, 1,... n n n = = = s s s n s nk s :あるn番目データ点の潜在変数ベクトル :あるn番目データ点の潜在変数ベクトルのk個目の値 (どの(状態)クラスに所属しているか?) 潜在変数について補足
  11. Initial Probability 2019/7/17 14 ( ) ( ) 1 1

    1 1 | | k K k k p Cat  = = =  s s π s π 1 s がどのクラスに所属するかの確率分布 パラメータ の事前分布は (カテゴリカル分布の共役事前分布) ( ) ( ) | p Dir = π π α π   0,0,1,0,0... n = s 1 2 3 0, 0, 1,... n n n = = = s s s n s nk s :あるn番目データ点の潜在変数ベクトル :あるn番目データ点の潜在変数ベクトルのk個目の値 (どの(状態)クラスに所属しているか?) 潜在変数について補足
  12. Transition Probability Matrix 2019/7/17 15 0.5 0.25 0.25 0.5 0.5

    0.0 0.5 0.0 0.5     =       A n-1番目の状態(クラス) n番目の状態(クラス) クラスが3つ(K=3)ある場合の 遷移確率行列の例(行列が緑本とは逆です) • 行の和は1になる • 確率なのでどれも0以上 正しい定義は,n-1番目の潜在変数が の場合に n番目での潜在変数が となる確率は,   ( ) 1 1 3 0,0,1 , 1 n n − − = = s s   1 1,0,0 , 1 n n = = s s 31 0.5 = A
  13. Transition Probability Matrix 2019/7/17 16 ( ) ( ) (

    ) ( ) 1 1 1 1 | , ni n j K K n n ji i j p − − = = =  s s s s A A ( ) ( ) ( ) 1 1 2 | , | | , N n n n p p p − = =  S π A s π s s A   0,0,1,0,0... n = s 1 2 3 0, 0, 1,... n n n = = = s s s n s nk s :あるn番目データ点の潜在変数ベクトル :あるn番目データ点の潜在変数ベクトルのk個目の値 (どの(状態)クラスに所属しているか?) 潜在変数について補足 0.5 0.25 0.25 0.5 0.5 0.0 0.5 0.0 0.5     =       A n-1番目の状態 n番目の状態 パラメータ の事前分布は (カテゴリカル分布の共役事前分布) ( ) ( ) , , , | i column i column i column p A Dir = A β A 各行はカテゴリカル分布
  14. Observation model 2019/7/17 17 潜在変数 とパラメータ が与えられたもとでの 観測値の確率分布の定義 上側はすべて定義完了 (

    ) | , n n p x s Θ n s Θ 好きなように定義してください. ( ) ( ) 1 | , , | , nk K n n n k k k p N = =  s x s μ Σ x μ Σ 例:ガウス分布   0,0,1,0,0... n = s 1 2 3 0, 0, 1,... n n n = = = s s s 潜在変数について補足
  15. Hidden Markov Model • すべての定義が終わったので 後は,同時分布や事後確率,尤度関数を 算出して推論(最尤推定含め)を行えばよい! 2019/7/17 18 例:ある観測値系列

    と ある潜在変数系列 の同時分布 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 2 , , , , | , | , | , | | , | , N n n n n n p p p p p p p p p p p p p − = = =  X S Θ π A X S Θ S π A Θ A π Θ A π x s Θ s π x s Θ s s A 各パラメータは独立   1 2 3 , , ,... = S s s s   1 2 3 , , ,... = X x x x 初期状態の分布
  16. How to use HMM? • 評価(Evaluation) ‐ パラメータを既知とした時に,観測値系列の確率 を求める •

    復号(Decoding) ‐ パラメータを既知とした時に,観測値系列 を導く確率の高い 潜在変数系列 を求める(状態推定) • 推定(Estimation) ‐ パラメータを未知とした時に,観測値系列 から未知パラメータ を求める 2019/7/17 19 ( ) p X X ( ) p S X
  17. How to use HMM? 2019/7/17 20 :評価 :復号 :推定 [1]

    [1] 続分かりやすいパターン認識 オーム社 133pより
  18. Algorithms for HMM • Baum-Welchアルゴリズム ‐ 観測値系列からモデルのパラメータを求める ‐ EMアルゴリズム(最尤推定)の一種 •

    Viterbiアルゴリズム ‐ 観測値系列とパラメータから状態系列を求める ‐ 動的計画法 • 完全分解変分推論(緑本5章) • 構造化分解変分推論(緑本5章) 2019/7/17 21 時間がかかりすぎる+説明できるほど 理解できてない(ごめんなさい...)ので, 各自勉強してみてください。 時間があれば追加で勉強会してもいいかもです
  19. Example: problem formulation 2019/7/17 22 復号(潜在変数推定)問題 ー観測値のみが取得できるとして,その値が どのクラスのガウス分布のものかを推定しなさい(パラメータ既知) 観測値 潜在変数

    (真値)   0.99 0.01 = π 0.99 0.01 0.01 0.99   =     A         1 1 2 2 0 0.25 0.3 0.25 = = = = μ Σ μ Σ ( ) 500 N T =
  20. What is different from GMM? 2019/7/17 24 GMMとは,潜在変数にマルコフ性を導入して いるかしていないかの違いだけ そんなに影響が出るのか?

    同じ例題を解いてみる (パラメータ既知で状態推定のみ) GMM HMM 観測値 潜在変数 (真値) HMM GMM ※ ※パラメータを既知として負担率を計算しています
  21. Example: problem formulation 2019/7/17 25 推定問題 ー観測値のみが取得できるとして, パラメータを推定しなさい(パラメータ未知) 観測値 潜在変数

    (真値)   0.99 0.01 = π 0.99 0.01 0.01 0.99   =     A         1 1 2 2 0 0.25 1.25 0.5 = = = = μ Σ μ Σ ( ) 500 N T = 真値
  22. Example: results 2019/7/17 26 PythonのHMMのライブラリ,hmmlearn[1]を使用 (Baum-Welchアルゴリズム使用) [1] https://github.com/hmmlearn/hmmlearn  

    1.0 0.0 = π 0.98 0.02 0.01 0.99   =     A         1 1 2 2 0.01 0.26 1.29 0.69 = − = = = μ Σ μ Σ 推定   0.99 0.01 = π 0.99 0.01 0.01 0.99   =     A         1 1 2 2 0 0.25 1.25 0.5 = = = = μ Σ μ Σ 真値 潜在変数 (真値) ※パラメータ推定後 そのパラメータを使用して予測 予測した 潜在変数 ※
  23. Example: results, compare with GMM 2019/7/17 27 ※GMMでは,EMアルゴリズムを使用 観測値 潜在変数

    (真値) HMM GMM ※         1 1 2 2 0 0.25 1.25 0.5 = = = = μ Σ μ Σ 真値         1 1 2 2 0.01 0.26 1.29 0.51 = − = = = μ Σ μ Σ HMM GMM         1 1 2 2 0.01 0.26 1.09 0.69 = − = = = μ Σ μ Σ