13.2 隠れマルコフモデル
TRANSCRIPT
13.2 隠れマルコフモデル(Hidden Markov Model)
2010/7/17showyou
13.2 .1も行う予定でしたが、13.2.1を実装するには13.2 .2を理解しないとできないので、nokunoさんにお願いしました
お詫び
自己紹介● Hatena, Twitter: showyou
● ソフトウェアエンジニア(Webではない)
● Python, C++。Javaは読めるけどほとんど書けない
● 大学院では視線認識と手指認識を使ってテレビの画面を操作する研究をしていた● アプリケーション中心、認識部分は触れず
● Twitterで人工無脳作ってます(ha_ma, donsuke, yuka_)
隠れマルコフモデル(HM M )とは下の図に示される状態空間モデルにおいて、潜在変数が離散な例
簡単にいうと 隠れ変数のマルコフ連鎖一つの時刻について見ると、成分密度分布が過去の観測で選択された成分に依存して選択されるように、混合分布モデルを拡張したもの
音声認識 自然言語モデル オンライン手書き文字認識 タンパク質やD NAなどの生物学的配列の解析
などに広く用いられている
HMMの性質● 潜在変数は離散的な多項変数
zn は [ 1, 0, 0, .. ]のような形をとる
● p(zn)は直前の潜在変数p(zn-1)に依存● 潜在変数の条件付き分布は以下の形にかける
A:遷移行列を要素に持つ数表
Aj kはp(znk = 1|zn-1,j = 1)
0≦Ajk ≦ 1, ΣkAjk=1AはK(K-1)個の独立なパラメータ
p zn∣zn−1 , A=∏k=1
K
∏j=1
K
A jkzn−1, j znk−13.7
● 最初の潜在ノードz_1だけ親ノードを持たず特別である
● Πk = p(z1k=1)を持つ確率のベクトルπ で表される周辺分布p(z1)を持つ
p z1∣=∏k=1
K
kz1k−13.8
ただしΣk πk=1
遷移行列を自分なりに書いてみた
zn-1 = [ 0, 0, 1 ]^T zn = [ 1, 0, 0 ]^T
Akj = p(znk = 1| zn-1,j =1)A31 = p(zn3| zn-1,1)
j=3, k=1しか発生しない場合、
横が現在取ってる状態縦が前とってる状態表Aは状態間の遷移確率を表している
A=[0 0 p zn3∣zn−1,10 0 00 0 0 ]
● 遷移行列はノードを状態とする状態遷移図(下左)で表されることもある● ただしこの図は複数の変数ではなく、一つの変数の状態を表している
● 状態遷移図を時間方向に展開すると格子図(トレリス図, 下右)となる
観測変数p(xn|zn,Φ)の定義
● Φ:分布を支配するパラメータの集合● p(xn|zn,Φ)は出力確率と呼ばれる
● xが連続:(9.11)式
xが離散:条件付き確率表 で与えられる
p xn∣zn ,=∏k=1
K
p xn∣k znk−13.9
p xn∣zn ,=∏k=1
K
N xn∣k ,k znk
均一なモデルについて考えてみる● 均一なモデル=
● 潜在変数を支配する全ての条件付き分布が同じパラメータAを共有
● 全ての出力分布が同一のパラメータΦを共有
● このときの潜在変数と観測変数の同時分布
p X , Z∣= p z1∣[∏n=2
N
p zn∣zn−1 , A]∏m=1
N
p xm∣zm ,
−13.10
生成モデルから見たHM M
π2π2π1
x1
混合ガウス分布 HMM
z1=1
z1=2
πk
z1
x1
z1=j z2=1
z2=2
z2
x2
生成モデルから見たHMM
left-to-right HM M
● Aのk<jとなるA _jkが0のHM M
● 多くの場合状態j=1から始まる
● k>j+ΔならA_jk=0になる(大きな変化を避ける)
left-rightの例:オンライン手書き文字
● 数字2の画像が45個● K=16, 16種類の角度に対応
● 出力は角度と決まった長さを持つ線分
● 出力分布は状態に角度を関連付けた16x16の表
● 同じ状態か+1になる遷移以外は遷移確率が0
HM Mの特徴
時間軸上での局所的な伸縮に対して、ある程度まで普遍性を保つ● オンライン手書き文字:形状(尖点・輪の位置)● 音声認識:発生速度の自然なゆらぎ