chapter13.2.3
TRANSCRIPT
第16回PRML読書会 発表資料13.2.3 HMMの積和アルゴリズム
2010/07/17
Presented by takmin
この章で言いたいこと
• 積和アルゴリズムでもフォワード-バックワードアルゴリズムが導出できる
おさらい:積和アルゴリズム
• グラフィカルモデルにおける各ノード の周辺分布 を求めるアルゴリズム
• 有向/無向グラフを因子グラフに変換し,各ノードからメッセージを計算しながら伝搬する
)( nxpnx
)( np z )( 1np z)( 1np z)( 2zp)( 1zp求まる
おさらい:積和アルゴリズム
• 因子グラフ
–確率モデルを因数分解の形で表したグラフ
),(),,(),(),,,,( 543432221154321 xxfxxxfxxfxxxxxp
変数ノード
因子ノード
1x3x
2x
5x
4x
),( 211 xxf),( 543 xxf ),,( 4322 xxxf
おさらい:積和アルゴリズム
• 因子グラフの作り方
有向グラフ 因子グラフ
)()(),|(
),,(
21213
321
xpxpxxxp
xxxf
),|( 213 xxxp
)( 1xp )( 2xp
おさらい:積和アルゴリズム
• 因子グラフの作り方
有向グラフ 因子グラフ
),|(),,(
)()(
)()(
213321
22
11
xxxpxxxf
xpxf
xpxf
c
b
a
),|( 213 xxxp
)( 1xp )( 2xp
おさらい:積和アルゴリズム
• メッセージの伝搬
–各変数ノード,因子ノードでの計算結果を伝搬していき,各変数ノードにおける分布 を求める
)( nxp
1x3x
2x
5x
4x
1f2f3f
35 fx 11 fx
11 xf
43 xf 32 xf
22 fx
24 fx
おさらい:積和アルゴリズム
1. 始点(葉ノード)を決めて,メッセージの伝搬を開始する
– 始点が変数ノードの場合
– 始点が因子ノードの場合
fx
xf
x f
xf
1)( xfx
)()( xfxxf
(8.70)
(8.71)
おさらい:積和アルゴリズム
2. 各ノードでメッセージを計算
– 変数ノードの場合
sfxm
mxf 1
sfmx
1f
sm
mlsm
fxl
mxfmfx xx\)ne(
)()(
・・・
(8.69)
・・・Lf
lf
おさらい:積和アルゴリズム
2. 各ノードでメッセージを計算
– 因子ノードの場合
sfx 1
xfs
sf
1x
・・・
(8.66)
1 \)ne(
1 )(),,,()(x x xfm
mfxMsxf
M s
smsxxxxfx
x
mx
Mx・・・
おさらい:積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく
(a)葉ノードから根ノードへ (b)根ノードから葉ノードへ
おさらい:積和アルゴリズム
4. 逆伝播メッセージが葉ノードまで達したら,各変数ノードの周辺分布 を以下の式で求める
xfs
x
1f
)ne(
)()(n
ns
xs
nxfn xxp (8.63)
Sf
sf
)( nxp
おさらい:積和アルゴリズム
5. 各因子ノードに接続された周辺の変数群の同時分布は以下の式で求める
si fx
ix
(8.72)
Sf
sx
)ne(
)()()(s
si
fi
ifxsss xfp xx
HMMの積和アルゴリズム
• HMMを因子グラフへ変換
有向グラフ
因子グラフ
観測値は因子ノードに入れてしまう
HMMの積和アルゴリズム
• HMMを因子グラフへ変換
HMM
N
n
nn
N
n
nnNN pppp12
1111 )|()|()(),,,,,( zxzzzzzxx
(13.6)
HMMの積和アルゴリズム
• HMMを因子グラフへ変換
)|()()( 1111 zxzz pph
)|()|(),( 11 nnnnnnn ppf zxzzzz
(13.45)
(13.46)
N
n
nnn
N
n
nn
N
n
nnNN
fh
pppp
2
11
12
1111
),()(
)|()|()(),,,,,(
zzz
zxzzzzzxx
HMMの積和アルゴリズム
1. 始点(葉ノード)を決めて,メッセージの伝搬を開始する
1zh
1zh
)()( 111zzz hh
HMMの積和アルゴリズム
1. 始点(葉ノード)を決めて,メッセージの伝搬を開始する
– フォワード-バックワードアルゴリズムとの比較
(13.37))|()()( 1111 zxzz pp
)()( 11 zz znnf
積和アルゴリズム
フォワード-バックワードアルゴリズム
)|()()()( 111111zxzzzz pphh (13.45)
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
– 変数ノードの場合
1 nfnz
nfn z
1nfnz
)(
)()(1
1
\)ne(
nf
fl
nfnf
nn
nn
nlnn
z
zz
z
z
zz
(8.69)
nf
(13.47)
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
– 因子ノードの場合
(13.48)
1
1)(),(
)(),()(
11
\)ne(
n
nn
m nn
nmnn
nfnnn
fm
mfmnsnf
f
f
z
z
z z
zz
zzz
zzzz
nfn 1z nfn z
nznf1nz
(8.66)
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
(13.48)
)()( 11 11 nfnf nnnn
zz zz
1
1)(),()( 11
n
nnnn nfnnnnf fz
zz zzzz
1
11)(),()( 11
n
nnnn nfnnnnf fz
zz zzzz
(13.47)
変数ノード:
因子ノード:
(13.49)
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
– フォワード-バックワードアルゴリズムとの比較
1
11
1
11
)()|()|(
)(),()(
11
11
n
nn
n
nnnn
nfnnnn
nfnnnnf
pp
f
z
z
z
zz
zzxzz
zzzz
(13.49)
(13.36)
1
)|()()|()( 11
n
nnnnnn ppz
zzzzxz
(13.46)
)()( nfn nnzz z
積和アルゴリズム
フォワード-バックワードアルゴリズム
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
– フォワード-バックワードアルゴリズムとの比較
)()( nfn nnzz z (13.50)
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく
– 根ノードの始点が変数ノード
NN fz
NzNf
1)( NfNNzz (8.70)
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく
– フォワード-バックワードアルゴリズムとの比較
(13.37)1)( Nz
)()( NfN NNzz z
積和アルゴリズム
フォワード-バックワードアルゴリズム
(8.70)1)( NfNNzz
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく
1nz1nfnz
(13.51)’
nf
1
11
1
)(),(
)()(
111
n
nn
nnnn
nfnnn
nfnf
fz
z
zz
zzz
zz
nn fz nnf z1
11 nn fz
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく
– フォワード-バックワードアルゴリズムとの比較
(13.38)
1
)|()|()()( 1111
n
nnnnnn ppz
zzzxzz
)()( nfn nnzz z
積和アルゴリズム
フォワード-バックワードアルゴリズム
(13.46)
1
11
1
11
)()|()|(
)(),()(
1111
111
n
nn
n
nnnn
nfnnnn
nfnnnnf
pp
f
z
z
z
zz
zzxzz
zzzz
(13.51)’
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく
– フォワード-バックワードアルゴリズムとの比較
)()( nfn nnzz z (13.52)’
HMMの積和アルゴリズム
4. 逆伝播メッセージが葉ノードまで達したら,各変数ノードの周辺分布 を以下の式で求める
)()(
)()(
1
)ne(
nfnf
s
nfn
nnnn
n
nsp
zz
zz
zz
z
z
(8.63)’
)( np z
1nfnznf
nnf z1
nnf z
HMMの積和アルゴリズム
周辺分布 は既に観測変数により条件付けられているので,
)()()()(),( nnnfnfn nnnnp zzzzXz zz
(13.53)
)( np z Nxx ,,1 X
)(
)()(
)(
),()(
X
zz
X
Xzz
pp
p nnnn
(13.54)
(13.33)と同じγ (zn)が導けた!
HMMの積和アルゴリズム
5. 各因子ノードに接続された周辺の変数群の同時分布は以下の式で求める
(8.72)
sx
)ne(
)()()(s
si
fi
ifxsss xfp xx
nznf
nn fznn f1z
1nz
)()(),(),( 111 1 nfnfnnnnn nnnnfp zzzzzz zz
HMMの積和アルゴリズム
演習13.11
ξ (zn-1, zn)を導く
)()()|()|(
)()(),(),,(
11
111 1
nnnnnn
nfnfnnnnn
pp
fpnnnn
zzzxzz
zzzzXzz zz
)(
)()|()|()(
)(
),,()|,(),(
11
111
X
zzzzxz
X
XzzXzzzz
p
pp
p
pp
nnnnnn
nnnnnn
(13.43)と同じξ (zn-1, zn)が導けた!
まとめ
• 積和アルゴリズムでもフォワード-バックワードアルゴリズムと同じことができた。
ご静聴ありがとうございました。