Slide 1

Slide 1 text

隠れマルコフモデル HMM Rigel

Slide 2

Slide 2 text

隠れマルコフモデルとは • 一言で言うなら マルコフモデルが隠れているモデル • 二言で言うなら 状態変数が離散値で、かつマルコフ過程に従う 状態空間モデル 計算機統計学観点:状態空間モデルの一種 機械学習観点:系列ラベリング(教師なし学習)

Slide 3

Slide 3 text

隠れマルコフモデルの応用例 • 形態素解析 • 音声認識 • 遺伝子解析 • その他時系列パターンの認識

Slide 4

Slide 4 text

具体例 アリスとボブ • アリスとボブがいる • アリスは毎日何をしたかボ ブに電話で伝える • アリスは三種類しか行動し ない • アリスはその日の天気に よってのみ行動を決める • ボブはアリスの地域の天 気を知る術はない • この世界の天気は2種類 ありマルコフ過程に従い変 化する このような仮定のとき、観測値(アリスの行動)は 隠れマルコフモデルに従う。

Slide 5

Slide 5 text

隠れマルコフモデルのグラフィカル表現 目に見えない状態の世界 離散値 可算 マルコフ過程 目に見える観測の世界 離散値でも連続値でもよい " "#$ "%$ " "#$ "%$

Slide 6

Slide 6 text

マルコフモデルのグラフィカル表現 目に見えない状態の世界 目に見える観測の世界 離散値 可算 マルコフ過程 " "#$ "%$

Slide 7

Slide 7 text

隠れマルコフモデルで使われるアルゴリズム • Baum-Welchアルゴリズム 観測値系列からモデルのパラメータを求める EMアルゴリズムの一種 EMアルゴリズムは、観測できる変数と観測できない変 数がある場合に使う、尤度の期待値を最大化するアル ゴリズム • Viterbiアルゴリズム 観測値系列とパラメータから状態系列を求める

Slide 8

Slide 8 text

ここから個人的メモ

Slide 9

Slide 9 text

隠れマルコフモデルの定式化 k 2 {1, ..., K} ⇢ N , j 2 {1, ..., K} ⇢ N , n 2 {1, ..., N} ⇢ N 8k , 8n , znk 2 {0, 1} where K X k=1 znk = 1 and zn = {zn1, zn2, ..., znK } 8k , ⇡k = p(z1k = 1) where 0  ⇡k  1 ^ K X k=1 ⇡k = 1 and ⇡ = {⇡1, ⇡2, ..., ⇡K } 8k , 8j , 8n , Ajk = p(znk = 1|zn 1,j = 1) where 0  Ajk  1 ^ K X k=1 Ajk = 1 and A = [Ajk] 1jK,1kK 8k , 8n , p( xn |znk, k) = znkf( xn | k) and = { 1, 2, ..., K } then p( xn | zn, ) = K Y k=1 f( xn | k)znk X = { x1, x2, ..., xN } , Z = { z1, z2, ..., zN } , ✓ = { ⇡ , A , } as the result p( X , Z | ✓ ) = p( z1 | ⇡ ) ( N Y n=2 p( zn | zn 1, A ) ) ( N Y n=1 p( xn | zn, ) )

Slide 10

Slide 10 text

Baum-Welchアルゴリズム(Eステップ) Log likelihood log p ( X|✓ ) = log p ( X, Z|✓ ) log p ( Z|X, ✓ ) = X Z p ( Z|X, ✓old ) log p ( X, Z|✓ ) X Z p ( Z|X, ✓old ) log p ( Z|X, ✓ ) where ✓old is initial parameters . with Q ( ✓|✓old ) = X Z p ( Z|X, ✓old ) log p ( X, Z|✓ ) then log p ( X|✓ ) log p ( X|✓old ) = Q ( ✓|✓old ) Q ( ✓old|✓old ) + X Z p ( Z|X, ✓old ) log p ( Z|X, ✓old ) p ( Z|X, ✓ ) since X Z p ( Z|X, ✓old ) log p ( Z|X, ✓old ) p ( Z|X, ✓ ) 0 log p ( X|✓ ) log p ( X|✓old ) Q ( ✓|✓old ) Q ( ✓old|✓old ) hence update equation is ✓new = arg max ✓ Q ( ✓|✓old ) EMアルゴリズムはここまで共通

Slide 11

Slide 11 text

Baum-Welchアルゴリズム(Eステップ) 8 n , 8 j , 8 k let (zn) = p(zn | X | ✓) ⇠(zn 1, zn) = p(zn 1, zn | X✓) (znk) = X zn (zn)znk = p(znk = 1 | X✓) ⇠(zn 1,j, znk) = X zn 1,zn ⇠(zn 1, zn)zn 1,jznk = p(zn 1,j = 1, znk = 1 | X✓) then Q(✓, ✓ old ) = X Z p(Z | X, ✓ old ) log p(X, Z | ✓) = X Z p(Z | X, ✓ old ) 8 < :log p(z1 | ⇡) + N X n=2 log p(zn | zn 1, A) + N X n=1 log p(xn | zn, ) 9 = ; = X Z p(Z | X, ✓ old ) log p(z1 | ⇡) + X Z p(Z | X, ✓ old ) N X n=2 log p(zn | zn 1, A) + X Z p(Z | X, ✓ old ) N X n=1 log p(xn | zn, ) = X z1 p(z1 | X, ✓ old ) log p(z1 | ⇡) + N X n=2 X zn,zn 1 p(zn, zn 1 | X, ✓ old ) log p(zn | zn 1, A) + N X n=1 X zn p(zn | X, ✓ old ) log p(xn | zn, ) = X z1 K X k=1 (z1)z1k log ⇡k + N X n=2 X zn,zn 1 K X j=1 K X k=1 ⇠(zn 1, zn)zn 1,jznk log Ajk + N X n=1 K X k=1 X zn (zn)znk log p(xk | k) = K X k=1 (z1k) log ⇡k + N X n=2 K X j=1 K X k=1 ⇠(zn 1,j, znk) log Ajk + N X n=1 K X k=1 (znk) log p(xk | k) HMM を求めるには とを求めたい

Slide 12

Slide 12 text

Baum-Welchアルゴリズム(Eステップ) ( zn) = p( zn | X ) = p( X | zn)p( zn) p( X ) = p( X , zn) p( X ) = p( x1, ..., xn | zn)p( xn+1, ..., xN | zn)p( zn) p( X ) = p( x1, ..., xn, zn)p( xn+1, ..., xN | zn) p( X ) = ↵( zn) ( zn) p( X ) where ↵( zn) = p( x1, ..., xn, zn) ( zn) = p( xn+1, ..., xN | zn) を求めるには とを求めたい

Slide 13

Slide 13 text

Baum-Welchアルゴリズム(Eステップ) ↵( zn) = p( x1, ..., xn, zn) = p( x1, ..., xn | zn)p( zn) = p( xn | x1, ..., xn 1, zn)p( x1, ..., xn 1 | zn)p( zn) = p( xn | zn)p( x1, ..., xn 1, zn) = p( xn | zn) X zn 1 p( x1, ..., xn 1, zn 1, zn) = p( xn | zn) X zn 1 p( x1, ..., xn 1, zn | zn 1)p( zn 1) = p( xn | zn) X zn 1 p( x1, ..., xn 1 | zn, zn 1)p( zn | zn 1)p( zn 1) = p( xn | zn) X zn 1 p( x1, ..., xn 1 | zn 1)p( zn | zn 1)p( zn 1) = p( xn | zn) X zn 1 p( x1, ..., xn 1, zn 1)p( zn | zn 1) = p( xn | zn) X zn 1 ↵( zn 1)p( zn | zn 1) ↵( z1) = p( x1, z1) = p( x1 | z1)p( z1) = K Y k=1 ⇡z1k k ! K Y k=1 p( xk | k)z1k ! 求まった

Slide 14

Slide 14 text

Baum-Welchアルゴリズム(Eステップ) ( zn) = p( xn+1, ..., xn | zn) = X zn+1 p( xn+1, ..., xn, zn+1 | zn) = X zn+1 p( xn+1, ..., xn | zn, zn+1)p( zn+1 | zn) = X zn+1 p( xn+1, ..., xn | zn+1)p( zn+1 | zn) = X zn+1 p( xn+2, ..., xn | xn+1, zn+1)p( xn+1 | zn+1)p( zn+1 | zn) = X zn+1 p( xn+2, ..., xn | zn+1)p( xn+1 | zn+1)p( zn+1 | zn) = X zn+1 ( zn+1)p( xn+1 | zn+1)p( zn+1 | zn) ( zN ) = ( zN )p( X ) ↵( zN ) = p( zN | X )p( X ) p( X , zN ) = 1 求まった

Slide 15

Slide 15 text

Baum-Welchアルゴリズム(Eステップ) ⇠( zn 1, zn) = p( zn 1, zn | X ) = p( X | zn 1, zn)p( zn 1, zn) p( X ) = p( x1, ..., xn 1 | zn 1)p( xn | zn)p( xn+1, ..., xN | zn)p( zn | zn 1)p( zn 1) p( X ) = p( x1, ..., xn 1 | zn 1)p( zn 1)p( xn | zn)p( xn+1, ..., xN | zn)p( zn | zn 1) p( X ) = ↵( zn 1)p( xn | zn) ( zn)p( zn | zn 1) p( X ) もとで求めることができた よってを求めることができる

Slide 16

Slide 16 text

Baum-Welchアルゴリズム(Mステップ) ✓new = arg max ✓ L ( ✓ ) L ( ✓ ) = Q ( ✓|✓old ) 1 K X k =1 ⇡ k 1 ! K X j =1 j +1 K X k =1 A jk 1 ! @L @⇡ k = ( z1 k) ⇡ k 1 = 0 , ⇡ k = ( z1 k) 1 @L @A jk = ⌃N n =1 ⇠ ( z n 1 ,j , z nk) A jk j +1 = 0 , A jk = ⌃N n =1 ⇠ ( z n 1 ,j , z nk) j +1 K X k =1 ⇡ k = K X k =1 ( z1 k) 1 = 1 , 1 = K X j =1 ( z1 j) K X k =1 A jk = K X k =1 ⌃N n =1 ⇠ ( z n 1 ,j , z nk) j +1 = 1 , j +1 = K X l =1 N X n =1 ⇠ ( z n 1 ,j , z nl) ⇡ k = ( z1 k) 1 = ( z1 k) P K j =1 ( z1 j) A jk = ⌃N n =1 ⇠ ( z n 1 ,j , z nk) j +1 = ⌃N n =1 ⇠ ( z n 1 ,j , z nk) ⌃K l =1⌃N n =1 ⇠ ( z n 1 ,j , z nl) 制約条件がある最適化なので ラグランジュの未定乗数法を使う . は仮定する分布に よって異なるので省略

Slide 17

Slide 17 text

Viterbiアルゴリズム 1( k ) = ⇡kf (x1 | k) 1( j ) = 0 t+1( k ) = max j [ t( j ) Ajk] f (xt+1 | k) t+1( k ) = arg max j [ t( j ) Ajk] ˆ P = max k T ( k ) ˆ qT = arg max k T ( k ) ˆ qt = t+1(ˆ qt+1) " (1) " () " () ・ ・ ・ ・ ・ ・ "%$ (1) "%$ () "%$ () ・ ・ ・ ・ ・ ・ max ∗ $. ∗ ;. ∗ <. ∗ ("%$ |. ) "%$ (1) "%$ () "%$ () ・ ・ ・ ・ ・ ・ argmax

Slide 18

Slide 18 text

隠れマルコフモデルの拡張 • 自己回帰隠れマルコフモデル • Input-Output隠れマルコフモデル • 階乗隠れマルコフモデル 等々

Slide 19

Slide 19 text

自己回帰隠れマルコフモデル(1)のグラフィカル表現 目に見えない状態の世界 目に見える観測の世界 " "#$ "%$ " "#$ "%$

Slide 20

Slide 20 text

Input-Output隠れマルコフモデルのグラフィカル表現 目に見えない状態の世界 目に見える観測の世界 " $ "#$ $ "%$ $ " "#$ "%$ " D "#$ D "%$ D

Slide 21

Slide 21 text

階乗隠れマルコフモデルのグラフィカル表現 目に見えない状態の世界 目に見える観測の世界 " "#$ "%$ " D "#$ D "%$ D " $ "#$ $ "%$ $

Slide 22

Slide 22 text

まとめ • 隠れマルコフモデル 系列ラベリングができる 尤度を使えば教師あり学習もできる • Baum-Welchアルゴリズム 観測値系列からモデルのパラメータを求める(EMアル ゴリズムなので初期値によっては局所解に陥る可能性 がある) • Viterbiアルゴリズム 観測値系列とパラメータから状態系列を求める • 応用 工夫次第