3. おさらい:積和アルゴリズム
• グラフィカルモデルにおける各ノード x n の周
辺分布 p ( xn ) を求めるアルゴリズム
• 有向/無向グラフを因子グラフに変換し,各
ノードからメッセージを計算しながら伝搬する
p(z1 ) p(z 2 ) p ( z n 1 ) p(z n ) p ( z n 1 )
求まる
9. おさらい:積和アルゴリズム
2. 各ノードでメッセージを計算
– 変数ノードの場合
x m fs
( xm )
lne( xm ) f s
f l xm ( xm ) (8.69)
f1
f x m
1
・
・
x m fs
fl ・
・
・
xm fs
fL ・
10. おさらい:積和アルゴリズム
2. 各ノードでメッセージを計算
– 因子ノードの場合
f x ( x) f s ( x, x1 ,, xM )
s xm f s ( xm )
x1 xM mne( f s ) x
x1 (8.66)
x f s
1
・ f x
・ s
xm ・
・
・ fs x
xM ・
15. HMMの積和アルゴリズム
• HMMを因子グラフへ変換
HMM
N N
p(x1 ,, x N , z1 ,, z N ) p(z1 ) p(z n | z n1 ) p(x n | z n )
n2 n1
(13.6)
16. HMMの積和アルゴリズム
• HMMを因子グラフへ変換
N N
p(x1 ,, x N , z1 ,, z N ) p(z1 ) p(z n | z n 1 ) p(x n | z n )
n2 n 1
N
h(z1 ) f n (z n 1 , z n )
n2
h(z1 ) p(z1 ) p(x1 | z1 ) (13.45)
f n (z n 1 , z n ) p(z n | z n 1 ) p (x n | z n ) (13.46)
19. HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
– 変数ノードの場合
z n f n1
(z n ) f l z n
lne( z n ) f n1
(z n ) (8.69)
f n z n ( z n ) (13.47)
f n z n
z n f n 1
fn zn f n 1
20. HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
– 因子ノードの場合
f n z n
(z n ) f s (z n , z m ) zm fn (z m ) (8.66)
zm mne( f n ) z n
f n (z n 1 , z n ) z n1 f n (z n 1 ) (13.48)
z n1
z n1 f n
f n z n
z n 1 fn zn
21. HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
変数ノード:
z n fn
(z n1 ) f n1 z n1 (z n1 ) (13.47)
因子ノード:
f n z n
(z n ) f n (z n1 , z n ) z n1 f n (z n1 ) (13.48)
z n1
f n z n
(z n ) f n (z n1 , z n ) f n1 z n1 (z n1 ) (13.49)
z n1
22. HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
– フォワード-バックワードアルゴリズムとの比較
積和アルゴリズム
f n z n
(z n ) f n (z n 1 , z n ) f n1 z n1 (z n 1 ) (13.49)
z n1 (13.46)
p(z n | z n 1 ) p(x n | z n ) f n1 z n1 (z n 1 )
z n1
(z n ) f n z n
(z n )
フォワード-バックワードアルゴリズム
(z n ) p(x n | z n ) (z n1 ) p(z n | z n 1 ) (13.36)
z n1
25. HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
向けて逆向きにメッセージを伝搬していく
– フォワード-バックワードアルゴリズムとの比較
積和アルゴリズム
z N fN
(z N ) 1 (8.70)
(z N ) z N fN
(z N )
フォワード-バックワードアルゴリズム
(z N ) 1 (13.37)
26. HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
向けて逆向きにメッセージを伝搬していく
z n fn
(z n ) f n1 z n (z n )
f n1 (z n , z n1 ) z n1 f n1 (z n1 ) (13.51)’
z n1
z n fn
f n1 z n
z n1 f n1
fn zn f n 1 z n 1
27. HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
向けて逆向きにメッセージを伝搬していく
– フォワード-バックワードアルゴリズムとの比較
積和アルゴリズム
z n fn
(z n ) f n 1 (z n , z n 1 ) z n1 f n1 (z n 1 ) (13.51)’
z n1
(13.46)
p(z n 1 | z n ) p(x n 1 | z n 1 ) z n1 f n1 (z n 1 )
z n1
(z n ) z n fn
(z n )
フォワード-バックワードアルゴリズム
(z n ) (z n1 ) p(x n1 | z n1 ) p(z n1 | z n ) (13.38)
z n1
29. HMMの積和アルゴリズム
4. 逆伝播メッセージが葉ノードまで達したら,
各変数ノードの周辺分布 p ( z n ) を以下の式で
求める
p ( z n ) f s z n ( z n ) (8.63)’
sne( z n )
f n z n (z n ) f n1 z n (z n )
f n z n
f n1 z n
fn zn f n 1
30. HMMの積和アルゴリズム
周辺分布 p ( z n ) は既に観測変数 X x1 , , x N
により条件付けられているので,
p(z n , X) f n z n (z n )z n f n (z n ) (z n ) (z n )
(13.53)
p(z n , X) (z n ) (z n )
(z n ) (13.54)
p(X) p( X)
(13.33)と同じγ (zn)が導けた!
31. HMMの積和アルゴリズム
5. 各因子ノードに接続された周辺の変数群 x s
の同時分布は以下の式で求める
p(x s ) f s (x s )
ine( f s )
xi f s ( xi ) (8.72)
p(z n1 , z n ) f n (z n1 , z n )z n f n (z n )z n1 f n (z n1 )
z n1 f n
z n fn
z n 1 fn zn
32. HMMの積和アルゴリズム
演習13.11
ξ (zn-1, zn)を導く
p(z n1 , z n , X) f n (z n1 , z n ) z n f n (z n ) z n1 f n (z n1 )
p(z n | z n1 ) p(x n | z n ) (z n ) (z n1 )
p(z n 1 , z n , X)
(z n 1 , z n ) p(z n 1 , z n | X)
p ( X)
(z n 1 ) p(x n | z n ) p(z n | z n 1 ) (z n )
p ( X)
(13.43)と同じξ (zn-1, zn)が導けた!