More Related Content
Similar to パターン認識と機械学習 13章 系列データ (20)
パターン認識と機械学習 13章 系列データ
- 2. • 隠れマルコフモデル(HMM)
• HMM の最尤推定
• EM アルゴリズム
• Forward-backward アルゴリズム
• Viterbi アルゴリズム
• 線形動的システム(LDS)
• LDS の推論
• カルマンフィルタ
• カルマンスムージング
⽬次 2
- 3. • 1次マルコフ連鎖
• 𝑝 𝒙$, … , 𝒙' = 𝑝 𝒙$ 𝑝 𝒙) 𝒙$)𝑝 𝒙+ 𝒙)) …
• 𝑚次マルコフ連鎖
• 𝑝 𝒙$, … , 𝒙' = 𝑝 𝒙$ 𝑝 𝒙) 𝒙$)𝑝 𝒙+ 𝒙), 𝒙$) …
𝑝 𝒙' 𝒙'-. … , 𝒙'-$)
マルコフ連鎖 3
→ 均⼀と仮定して 𝒙' の 𝐾 個の状態に対して 𝐾0 𝐾 − 1 個のパラメータ
𝒙$ 𝒙) 𝒙2 𝒙3𝒙+
Ex. 𝑚 = 2
観測
- 4. 潜在変数 𝒛$, … , 𝒛6 の導⼊により、パラメータ数を制限しつつ豊か
な表現⼒を持つことができる
隠れマルコフモデル(HMM) 4
𝒛$ 𝒛) 𝒛6𝒛6-$
𝒙$ 𝒙) 𝒙6-$ 𝒙6
……
潜在変数
(離散)
観測変数
(離散or連続)
同時分布は、
p 𝒙$, … , 𝒙6, 𝒛$, … , 𝒛6 = 𝑝 𝒛$ 8
'9)
6
𝑝 𝒛' 𝒛'-$ 8
'9$
6
𝑝 𝒙' 𝒛')
初期確率 遷移確率 出⼒確率
- 5. 隠れマルコフモデル(HMM) 5
• 潜在変数 𝒛' について 1 of 𝐾 符号化
𝒛' = 𝑧'$, … , 𝑧'= 𝑧'> = 1, 𝑧'? = 0 𝑗 ≠ 𝑘
遷移確率 𝑝 𝒛' 𝒛'-$, 𝑨 = 8
>9$
=
8
?9$
=
𝐴?>
FGHI,JFGK
初期確率 𝑝 𝒛$ 𝝅 = 8
>9$
=
𝜋>
FIK
• 𝐴?> = 𝑝 𝑧'> = 1 𝑧'-$,? = 1 , 𝜋> = 𝑝 𝑧$> = 1 によって、
𝑝 𝒙' 𝒛', 𝝓 = 8
>9$
=
𝑝(𝒙'|𝝓>)FGK
𝜃 = {𝝅, 𝑨, 𝝓}をモデルのパラメータ集合とする
• 出⼒確率
→ 𝐾 𝐾 − 1 個のパラメータ
- 6. HMM の最尤推定 6
観測変数(データ) 𝑿 = {𝒙$, … , 𝒙6}が観測された場合に
パラメータ𝜽 = {𝝅, 𝑨, 𝝓} をEM アルゴリズムにより決定する
尤度関数: 𝑝 𝑿 𝜽) = X
𝒁
𝑝 𝑿, 𝒁 𝜽) 𝒁: 潜在変数
• 𝑞 𝒁 を潜在変数に関する分布として以下の分解
ln 𝑝 𝑿 𝜽) = ℒ 𝑞, 𝜽 + 𝐾𝐿(𝑞 ∥ 𝑝)
ℒ 𝑞, 𝜽 = X
𝒁
𝑞 𝒁 ln
𝑝 𝑿, 𝒁 𝜽
𝑞 𝒁
𝐾𝐿(𝑞| 𝑝 = − X
𝒁
𝑞 𝒁 ln
𝑝 𝒁 𝑿, 𝜽
𝑞 𝒁
変分下限 KL ダイバージェンス
- 7. HMM の最尤推定 7
• E Step では
𝜽abcを固定 → ℒ 𝑞, 𝜽abc の最⼤化
⇔ 𝐾𝐿(𝑞| 𝑝 = 0 ⇔ 𝑞 𝒁 = 𝑃 𝒁 𝑿, 𝜽abc)
• M Step では
𝑞 𝒁 を固定 → ℒ 𝑞, 𝜽abc を最⼤にする 𝜽'fgの算出
ℒ 𝑞, 𝜽 = ∑i 𝑝 𝒁 𝑿, 𝜽abc) ln 𝑝(𝑿, 𝒁 𝜽 − ∑ 𝒁 𝑝 𝒁 𝑿, 𝜽abc) ln 𝑝(𝒁 𝑿, 𝜽abc
Const(𝜽に⾮依存)完全データ対数尤度の期待値
→ 𝑄 𝜽, 𝜽abc とおいて最⼤化
- 8. EM アルゴリズム: E Step 8
Q 𝜽, 𝜽abc = X
𝒁
𝑝 𝒁 𝑿, 𝜽abc) ln 𝑝 𝑿, 𝒁 𝜽)
= Ε[ln 𝑝 𝑿, 𝒁 𝜽)]
= X
>9$
=
Ε 𝑧$> ln 𝜋> + X
'9)
6
X
?9$
=
X
>9$
=
Ε 𝑧'-$,? 𝑧'> ln 𝐴?> + X
'9$
6
X
>9$
=
Ε 𝑧'> ln 𝑝 𝒙' 𝝓>)
𝛾 𝑧'> = Ε 𝑧'> = X
𝒛G
𝑝 𝒛' 𝑿, 𝜽abc)𝑧'>
𝜉 𝑧'-$,?, 𝑧'> = Ε 𝑧'-$,? 𝑧'> 𝑧'-$,? 𝑧'> = X
𝒛GHI,𝒛G
𝑝 𝒛'-$, 𝒛' 𝑿, 𝜽abc)𝑧'-$,> 𝑧'>
→ 𝛾 𝑧'> , 𝜉 𝑧'-$,?, 𝑧'> の計算(効率的な⽅法は後述)
𝜽abcを固定して事後分布 𝑝 𝒁 𝑿, 𝜽abc) を求める
- 9. EM アルゴリズム: M Step 9
Q 𝜽, 𝜽abc
= X
>9$
=
𝛾 𝑧$> ln 𝜋> + X
'9)
6
X
?9$
=
X
>9$
=
𝜉 𝑧'-$,?, 𝑧'> ln 𝐴?> + X
'9$
6
X
>9$
=
𝛾 𝑧'> ln 𝑝 𝒙' 𝝓>)
𝛾 𝑧'> , 𝜉 𝑧'-$,?, 𝑧'> を固定して 𝜽'fg を求める
𝜋> =
q FIK
∑JrI
s
q FIJ
𝐴?> =
∑Grt
u
v FGHI,J,FGK
∑wrI
s ∑Grt
u v FGHI,J,FGw
Q 𝜽, 𝜽abc
に関する最⼤化
- 10. EM アルゴリズム: M Step 10
Q 𝜽, 𝜽abc = Ε[ln 𝑝 𝑿, 𝒁 𝜽)]
= X
>9$
=
𝛾 𝑧$> ln 𝜋> + X
'9)
6
X
?9$
=
X
>9$
=
𝜉 𝑧'-$,?, 𝑧'> ln 𝐴?> + X
'9$
6
X
>9$
=
𝛾 𝑧'> ln 𝑝 𝒙' 𝝓>)
𝝓> が成分ごと独⽴.
𝑝 𝒙 𝝓>) = 𝒩 𝒙 𝝁>, 𝜮>) とすると,
𝝁> =
∑'9$
6
𝛾(𝑧'>)𝒙'
∑'9$
6
𝛾(𝑧'>)
𝜮> =
∑'9$
6
𝛾 𝑧'> (𝒙' − 𝝁>)(𝒙' − 𝝁>)|
∑'9$
6 𝛾(𝑧'>)
cf. 混合ガウス分布のM Step
Ε ln 𝑝 𝑿, 𝒁 𝝁, 𝜮, 𝝅 ] =
∑'9$
6 ∑>9$
=
𝛾 𝑧'> {ln 𝜋> + ln 𝒩 𝒙' 𝝁>, 𝜮>)}
の最⼤化
- 11. Forward-backward アルゴリズム 11
E Step で 𝛾 𝑧'> , 𝜉 𝑧'-$,?, 𝑧'> を求める
𝛾 𝑧'> = Ε 𝑧'> = X
FG
𝑝 𝒛' 𝑿, 𝜽abc)𝑧'>
𝑝 𝒛' 𝒙$, … , 𝒙6) の各 𝐾 要素がΕ 𝑧'> に対応している (E Step では 𝜽abc は固定より省略した)
𝑝 𝒛' 𝒙$, … , 𝒙6) =
𝑝 𝒛' 𝑝 𝒙$, … , 𝒙6 𝒛'
𝑝 𝒙$, … , 𝒙6
=
𝑝 𝒙$, … , 𝒙', 𝒛' 𝑝(𝒙'}$, … , 𝒙6|𝒛')
𝑝(𝒙$, … , 𝒙6)
=
𝛼(𝒛')𝛽(𝒛')
𝑝(𝑿)
𝛼 𝒛' = 𝑝 𝒙$, … , 𝒙', 𝒛'
𝛽 𝒛' = 𝑝 𝒙'}$, … , 𝒙6 𝒛'
- 12. Forward-backward アルゴリズム 12
𝜉 𝒛'-$,?, 𝒛'> = Ε 𝒛'-$,?, 𝒛'> = X
FG
𝑝 𝒛'-$, 𝒛' 𝑿, 𝜽abc)𝑧'>
𝑝 𝒛'-$, 𝒛' 𝒙$, … , 𝒙6) の各𝐾 × 𝐾 要素が Ε 𝑧'-$,?, 𝑧'> に対応している
E Step で 𝛾 𝑧'> , 𝜉 𝑧'-$,?, 𝑧'> を求める
𝛼 𝒛' = 𝑝 𝒙$, … , 𝒙', 𝒛'
𝛽 𝒛' = 𝑝 𝒙'}$, … , 𝒙6 𝒛'
𝑝 𝒛'-$, 𝒛' 𝒙$, … , 𝒙6) =
𝑝 𝒛'-$, 𝒛' 𝑝 𝒙$, … , 𝒙6 𝒛'-$, 𝒛'
𝑝 𝒙$, … , 𝒙6
=
𝑝 𝒙$, … , 𝒙'-$|𝒛'-$ 𝑝 𝒙' 𝒛' 𝑝 𝒙'}$, … , 𝒙6 𝒛' 𝑝 𝒛' 𝒛'-$ 𝑝(𝒛'-$)
𝑝(𝒙$, … , 𝒙6)
=
𝛼(𝒛'-$)𝑝 𝒙' 𝒛' 𝑝(𝒛'|𝒛'-$)𝛽(𝒛')
𝑝(𝑿)
- 13. Forward-backward アルゴリズム 13
𝛼(𝒛')は前向き, 𝛽(𝒛')は後向きに再帰的に計算できる
• 𝛼 𝒛$ = 𝑝 𝒙$, 𝒛$ = 𝑝 𝒛$ 𝑝 𝒙$|𝒛$
• 𝛽 𝒛6 = 1
• 𝛼 𝒛' = 𝑝 𝒙$, … , 𝒙', 𝒛'
= ⋯
= 𝑝 𝒙' 𝒛' X
𝒛GHI
𝛼 𝒛'-$ 𝑝(𝒛'|𝒛'-$)
• 𝛽 𝒛' = 𝑝 𝒙'}$, … , 𝒙6|𝒛'
= ⋯
= X
𝒛G‚I
𝛽 𝒛'}$ 𝑝 𝒙'}$ 𝒛'}$ 𝑝(𝒛'}$|𝒛')
- 14. スケーリング係数 14
𝛼 𝒛' , 𝛽(𝒛')の実際の計算には問題がある
𝛼 𝒛' = 𝑝 𝒙' 𝒛' X
𝒛GHI
𝛼 𝒛'-$ 𝑝 𝒛' 𝒛'-$
→ 𝑝 𝒙' 𝒛' , 𝑝 𝒛' 𝒛'-$ が⼩さいと𝛼 𝒛' は前向き計算とともに急速
にゼロに近づいてしまう
ƒ𝛼 𝒛' = 𝑝 𝒛' 𝒙$, … , 𝒙' =
𝛼(𝒛')
𝑝(𝒙$, … , 𝒙')
を導⼊
→どの𝑛に対しても𝐾個の変数上の確率分布であり問題ない
- 15. スケーリング係数 15
スケーリング係数: 𝑐' = 𝑝(𝒙'|𝒙$, … , 𝒙'-$)を導⼊する
𝛼 𝒛' = 𝑝 𝒛' 𝒙$, … , 𝒙' 𝑝 𝒙$, … , 𝒙' = 8
.9$
'
𝑐. ƒ𝛼 𝒛'
𝛼 𝒛' の再帰式は
𝑐' ƒ𝛼 𝒛' = 𝑝 𝒙' 𝒛' ∑ 𝒛GHI
ƒ𝛼 𝒛'-$ 𝑝 𝒛' 𝒛'-$
𝛽 𝒛' に関してもスケーリングを考える
†𝛽 𝒛' =
𝑝(𝒙'}$, … , 𝒙6|𝒛')
𝑝(𝒙'}$, … , 𝒙6|𝒙$, … , 𝒙')
𝑐'}$
†𝛽 𝒛' = ∑ 𝒛G‚I
†𝛽 𝒛'}$ 𝑝 𝒙'}$ 𝒛'}$ 𝑝(𝒛'}$|𝒛')
← 条件付き確率の”⽐”
- 19. Viterbi アルゴリズム 19
𝑁 − 2 𝑁 − 1 𝑁
……
……
……
𝑘 = 1
𝑘 = 2
𝑘 = 3
とすると、
2. バックトラックにより最も確からしい系列(経路)を得る
- 20. 線形動的システム(LDS) 20
𝒛$ 𝒛) 𝒛6𝒛6-$
𝒙$ 𝒙) 𝒙6-$ 𝒙6
……
潜在変数
(連続)
観測変数
(離散or連続)
𝑿, 𝒁 は親ノードの状態の線形関数を平均とするガウス分布に従うとする
𝑝 𝒛'|𝒛'-$ = 𝒩 𝑨𝒛'-$, 𝜞
𝑝 𝒙'|𝒛' = 𝒩 𝒙'|𝑪𝒛', 𝜮
𝑝 𝒛$ = 𝒩(𝒛$|𝝁Œ, 𝑷Œ)
遷移確率
出⼒確率
初期確率
- 21. LDS の応⽤例: 物体のトラッキング 21
X 物体の観測値(ノイズを含む)
Z 物体の真の位置
𝝁, 𝑽 推定された事後分布の平均と共分散(95%信頼区間)
カルマンフィルタ
10 12 14 16 18 20 22
4
6
8
10
12
14
observed
truth
8 10 12 14 16 18 20 22 24
4
6
8
10
12
14
16
observed
filtered
(物体は左から右へ移動)
『Machine Learning: A Probabilistic Perspective』より
- 22. 観測値 𝒙$, … , 𝒙' を与えて 𝒛'の事後周辺分布
𝑝(𝒛'| 𝒙$, … , 𝒙') = 𝒩(𝒛'|𝝁', 𝑽') を求める
LDSの推論: カルマンフィルタ 22
ƒ𝛼 𝒛' = 𝑝 𝒛' 𝒙$, … , 𝒙'
𝛼 𝒛' の再帰式は
𝑐' ƒ𝛼 𝒛' = 𝑝 𝒙' 𝒛' ∑ 𝒛GHI
ƒ𝛼 𝒛'-$ 𝑝 𝒛' 𝒛'-$
HMM
LDS では ƒ𝛼 𝒛' = 𝑝 𝒛' 𝒙$, … , 𝒙' = 𝒩 𝒛' 𝝁', 𝑽'
𝑐' ƒ𝛼 𝒛' = 𝑝 𝒙' 𝒛' ∫ ƒ𝛼 𝒛'-$ 𝑝 𝒛' 𝒛'-$ 𝑑𝒛'-$
→オンライン予測
- 23. LDSの推論: カルマンフィルタ 23
𝑐' ƒ𝛼 𝒛' = 𝑝 𝒙' 𝒛' ‘ ƒ𝛼 𝒛'-$ 𝑝 𝒛' 𝒛'-$ 𝑑𝒛'-$
𝑐' 𝒩 𝒛' 𝝁', 𝑽' = 𝒩 𝒙'|𝑪𝒛', 𝜮 ∫ 𝒩 𝑨𝒛'-$, 𝜞 𝒩 𝒛'-$ 𝝁'-$, 𝑽'-$ 𝑑𝒛'-$
= 𝒩 𝒙'|𝑪𝒛', 𝜮 𝒩 𝒛' 𝑨𝝁'-$, 𝑨𝑽'-$ 𝑨| + 𝜞
𝝁' = 𝑨𝜇'-$ + 𝑲'(𝒙' − 𝑪𝑨𝜇'-$)
𝑽' = (𝑰 − 𝑲' 𝑪)𝑷'-$
𝑐' = 𝒩(𝒙'|𝑪𝑨𝜇'-$, 𝑪𝑷'-$ 𝑪|
+ 𝜮)
𝑷'-$ = 𝑨𝑽'-$ 𝑨| + 𝚪
𝑲' = 𝑷'-$ 𝑪|
(𝑪𝑷'-$ 𝑪|
+ 𝜮)-$
(2.115)ガウス分布の周辺分布と条件付き分布
𝑝 𝒙 = 𝒩 𝒙 𝝁, 𝜦
𝑝 𝒚 𝒙 = 𝒩 𝒙 𝑨𝒙 + 𝒃, 𝑳
𝑝 𝒚 = 𝒩 𝒙 𝑨𝝁 + 𝒃, 𝑳 + 𝐀𝜦𝐀 𝐓
𝑝 𝒙|𝒚 = 𝒩 𝒙 𝑨𝝁 + 𝒃, 𝑳
- 24. カルマンスムーザ 24
観測値 𝒙$, … , 𝒙6 を与えて 𝒛'の事後周辺分布
𝑝(𝒛'| 𝒙$, … , 𝒙6) = 𝒩(𝒛'|œ𝝁', •𝑽') を求める
→ 過去の観測だけでなく未来の観測も含めることでパラメータを再推定
𝑝 𝒛' 𝒙$, … , 𝒙6 =
ž 𝒙I,…,𝒙G,𝒛G ž(𝒙G‚I,…,𝒙u|𝒛G)
ž(𝒙I,…,𝒙u)
= ƒ𝛼 𝒛'
†𝛽 𝒛' = 𝒩(𝒛'|œ𝝁', •𝑽')
𝑐'}$
†𝛽 𝒛' = ‘ †𝛽 𝒛'}$ 𝑝 𝒙'}$ 𝒛'}$ 𝑝 𝒛'}$ 𝒛' 𝑑𝒛'}$
ƒ𝛼 𝒛' はカルマンフィルタで求めてある
†𝛽 𝒛' についてはHMM の †𝛽 𝒛' の再帰式から
- 25. カルマンスムーザ 25
𝑐'}$ ƒ𝛼 𝒛'
†𝛽 𝒛'
= ƒ𝛼 𝒛' ‘ †𝛽 𝒛'}$ 𝑝 𝒙'}$ 𝒛'}$ 𝑝 𝒛'}$ 𝒛' 𝑑𝒛'}$
œ𝝁' = 𝝁' + 𝑱'(œ𝝁'}$ − 𝑨𝝁')
•𝑽' = 𝑽' + 𝑱'(•𝑽'}$ − 𝑷') 𝑱'
|
𝑷' = 𝑨𝑽' 𝑨| + 𝚪
𝑱' = 𝑽' 𝑨|
(𝑷')-$
ƒ𝛼 𝒛' , †𝛽 𝒛' は LDS のパラメータ 𝜽 = {𝑨, 𝜞, 𝑪, 𝜮, 𝝁 𝟎, 𝑷 𝟎}の推定時、
E Step での Forward-backward アルゴリズムで⽤いる
- 26. 例: カルマンフィルタとカルマンスムーザ 26
8 10 12 14 16 18 20 22 24
4
6
8
10
12
14
16
observed
filtered
10 15 20 25
4
6
8
10
12
14
observed
smoothed
10 12 14 16 18 20 22
4
6
8
10
12
14
observed
truth
カルマンフィルタのみ
カルマンフィルタ
+
カルマンスムーザ
『Machine Learning: A Probabilistic Perspective』より
物体の観測値(ノイズを含む)
物体の真の位置
推定された事後分布の平均
事後分布の共分散(95%信頼区間)
- 27. LDS では Viterbi アルゴリズムのようなものは考える必要なし
→ 個別の時刻で最も確からしい潜在変数の値を選べばよい
LDS の最も確からしい系列 27
𝑿 = 𝒙$, … , 𝒙6 , 𝒁 = {𝒛$, … , 𝒛6}
𝑝 𝒁 𝑿 はガウス分布で, 𝝁 = {𝝁$, … , 𝝁6}とするとガウス分布は平均で最⼤.
𝒁.¡¢ = {𝝁$, … , 𝝁6}
また, 𝑝 𝒁 𝑿 の周辺分布 𝑝 𝒛' 𝑿 は平均𝝁'のガウス分布に従う.
(2.98) 𝑝(𝒙¡, 𝒙£) = 𝒩 𝒙 𝝁, 𝚺
𝝁 = 𝝁¡, 𝝁£ , 𝜮 =
𝜮¡¡ 𝜮¡£
𝜮£¡ 𝜮££
𝑝 𝒙¡ = ‘ 𝑝(𝒙¡, 𝒙£) 𝑑𝒙£ = 𝒩 𝒙 𝝁¡, 𝜮¡¡
(𝑿は観測に固定)
- 28. • 隠れマルコフモデル(HMM)
• 潜在変数は離散
• パラメータ推定: EM + Forward-backward
• Viterbi アルゴリズム: 観測変数系列に対し最も確からしい潜在変数系列
まとめ 28
• 線形動的システム(LDS)
• 潜在変数は連続. 観測変数, 潜在変数ともにガウス分布に従う
• LDS の推論: 潜在変数の分布を予測する
• カルマンフィルタ(Forward): オンライン予測
• カルマンスムーザ(Backward): 全ての観測からパラメータ再推定(オフライン)
• Viterbi アルゴリズムは必要なし: 個々に最も確からしい潜在変数を選べばよい