chapter13.2.3

34
16PRML読書会 発表資料 13.2.3 HMMの積和アルゴリズム 2010/07/17 Presented by takmin

Upload: takuya-minagawa

Post on 14-Jun-2015

2.141 views

Category:

Sports


0 download

TRANSCRIPT

Page 1: Chapter13.2.3

第16回PRML読書会 発表資料13.2.3 HMMの積和アルゴリズム

2010/07/17

Presented by takmin

Page 2: Chapter13.2.3

この章で言いたいこと

• 積和アルゴリズムでもフォワード-バックワードアルゴリズムが導出できる

Page 3: Chapter13.2.3

おさらい:積和アルゴリズム

• グラフィカルモデルにおける各ノード の周辺分布 を求めるアルゴリズム

• 有向/無向グラフを因子グラフに変換し,各ノードからメッセージを計算しながら伝搬する

)( nxpnx

)( np z )( 1np z)( 1np z)( 2zp)( 1zp求まる

Page 4: Chapter13.2.3

おさらい:積和アルゴリズム

• 因子グラフ

–確率モデルを因数分解の形で表したグラフ

),(),,(),(),,,,( 543432221154321 xxfxxxfxxfxxxxxp

変数ノード

因子ノード

1x3x

2x

5x

4x

),( 211 xxf),( 543 xxf ),,( 4322 xxxf

Page 5: Chapter13.2.3

おさらい:積和アルゴリズム

• 因子グラフの作り方

有向グラフ 因子グラフ

)()(),|(

),,(

21213

321

xpxpxxxp

xxxf

),|( 213 xxxp

)( 1xp )( 2xp

Page 6: Chapter13.2.3

おさらい:積和アルゴリズム

• 因子グラフの作り方

有向グラフ 因子グラフ

),|(),,(

)()(

)()(

213321

22

11

xxxpxxxf

xpxf

xpxf

c

b

a

),|( 213 xxxp

)( 1xp )( 2xp

Page 7: Chapter13.2.3

おさらい:積和アルゴリズム

• メッセージの伝搬

–各変数ノード,因子ノードでの計算結果を伝搬していき,各変数ノードにおける分布 を求める

)( nxp

1x3x

2x

5x

4x

1f2f3f

35 fx 11 fx

11 xf

43 xf 32 xf

22 fx

24 fx

Page 8: Chapter13.2.3

おさらい:積和アルゴリズム

1. 始点(葉ノード)を決めて,メッセージの伝搬を開始する

– 始点が変数ノードの場合

– 始点が因子ノードの場合

fx

xf

x f

xf

1)( xfx

)()( xfxxf

(8.70)

(8.71)

Page 9: Chapter13.2.3

おさらい:積和アルゴリズム

2. 各ノードでメッセージを計算

– 変数ノードの場合

sfxm

mxf 1

sfmx

1f

sm

mlsm

fxl

mxfmfx xx\)ne(

)()(

・・・

(8.69)

・・・Lf

lf

Page 10: Chapter13.2.3

おさらい:積和アルゴリズム

2. 各ノードでメッセージを計算

– 因子ノードの場合

sfx 1

xfs

sf

1x

・・・

(8.66)

1 \)ne(

1 )(),,,()(x x xfm

mfxMsxf

M s

smsxxxxfx

x

mx

Mx・・・

Page 11: Chapter13.2.3

おさらい:積和アルゴリズム

3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく

(a)葉ノードから根ノードへ (b)根ノードから葉ノードへ

Page 12: Chapter13.2.3

おさらい:積和アルゴリズム

4. 逆伝播メッセージが葉ノードまで達したら,各変数ノードの周辺分布 を以下の式で求める

xfs

x

1f

)ne(

)()(n

ns

xs

nxfn xxp (8.63)

Sf

sf

)( nxp

Page 13: Chapter13.2.3

おさらい:積和アルゴリズム

5. 各因子ノードに接続された周辺の変数群の同時分布は以下の式で求める

si fx

ix

(8.72)

Sf

sx

)ne(

)()()(s

si

fi

ifxsss xfp xx

Page 14: Chapter13.2.3

HMMの積和アルゴリズム

• HMMを因子グラフへ変換

有向グラフ

因子グラフ

観測値は因子ノードに入れてしまう

Page 15: Chapter13.2.3

HMMの積和アルゴリズム

• HMMを因子グラフへ変換

HMM

N

n

nn

N

n

nnNN pppp12

1111 )|()|()(),,,,,( zxzzzzzxx

(13.6)

Page 16: Chapter13.2.3

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

Page 17: Chapter13.2.3

HMMの積和アルゴリズム

1. 始点(葉ノード)を決めて,メッセージの伝搬を開始する

1zh

1zh

)()( 111zzz hh

Page 18: Chapter13.2.3

HMMの積和アルゴリズム

1. 始点(葉ノード)を決めて,メッセージの伝搬を開始する

– フォワード-バックワードアルゴリズムとの比較

(13.37))|()()( 1111 zxzz pp

)()( 11 zz znnf

積和アルゴリズム

フォワード-バックワードアルゴリズム

)|()()()( 111111zxzzzz pphh (13.45)

Page 19: Chapter13.2.3

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)

Page 20: Chapter13.2.3

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)

Page 21: Chapter13.2.3

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)

Page 22: Chapter13.2.3

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

積和アルゴリズム

フォワード-バックワードアルゴリズム

Page 23: Chapter13.2.3

HMMの積和アルゴリズム

2. 各ノードでメッセージを計算

– フォワード-バックワードアルゴリズムとの比較

)()( nfn nnzz z (13.50)

Page 24: Chapter13.2.3

HMMの積和アルゴリズム

3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく

– 根ノードの始点が変数ノード

NN fz

NzNf

1)( NfNNzz (8.70)

Page 25: Chapter13.2.3

HMMの積和アルゴリズム

3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく

– フォワード-バックワードアルゴリズムとの比較

(13.37)1)( Nz

)()( NfN NNzz z

積和アルゴリズム

フォワード-バックワードアルゴリズム

(8.70)1)( NfNNzz

Page 26: Chapter13.2.3

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

Page 27: Chapter13.2.3

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)’

Page 28: Chapter13.2.3

HMMの積和アルゴリズム

3. メッセージが根ノードに達したら,葉ノードに向けて逆向きにメッセージを伝搬していく

– フォワード-バックワードアルゴリズムとの比較

)()( nfn nnzz z (13.52)’

Page 29: Chapter13.2.3

HMMの積和アルゴリズム

4. 逆伝播メッセージが葉ノードまで達したら,各変数ノードの周辺分布 を以下の式で求める

)()(

)()(

1

)ne(

nfnf

s

nfn

nnnn

n

nsp

zz

zz

zz

z

z

(8.63)’

)( np z

1nfnznf

nnf z1

nnf z

Page 30: Chapter13.2.3

HMMの積和アルゴリズム

周辺分布 は既に観測変数により条件付けられているので,

)()()()(),( nnnfnfn nnnnp zzzzXz zz

(13.53)

)( np z Nxx ,,1 X

)(

)()(

)(

),()(

X

zz

X

Xzz

pp

p nnnn

(13.54)

(13.33)と同じγ (zn)が導けた!

Page 31: Chapter13.2.3

HMMの積和アルゴリズム

5. 各因子ノードに接続された周辺の変数群の同時分布は以下の式で求める

(8.72)

sx

)ne(

)()()(s

si

fi

ifxsss xfp xx

nznf

nn fznn f1z

1nz

)()(),(),( 111 1 nfnfnnnnn nnnnfp zzzzzz zz

Page 32: Chapter13.2.3

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)が導けた!

Page 33: Chapter13.2.3

まとめ

• 積和アルゴリズムでもフォワード-バックワードアルゴリズムと同じことができた。

Page 34: Chapter13.2.3

ご静聴ありがとうございました。