The presentation material for the reading club of Pattern Recognition and Machine Learning by Bishop.
The contents of the section cover
- EM algorithm for HMM
- Forward-Backward Algorithm
-------------------------------------------------------------------------
研究室でのBishop著『パターン認識と機械学習』(PRML)の輪講用発表資料(ぜんぶ英語)です。
担当範囲は
・隠れマルコフモデルに対するEMアルゴリズムのEステップ
・フォワード-バックワードアルゴリズム
2. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
3. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
4. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
5. The forward-backward algorithm
E-step of EM algorithm for HMM
Quick review
HMM is trained by EM algorithm
E-step:
Evaluate γ(zn) and ξ(zn-1, zn)
M-step:
Update parameters
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
πk =
γ(z1k)
K
j=1 γ(z1j)
,
Ajk =
N
n=2 ξ(zn−1, j, znk)
K
l=1
N
n=2 ξ(zn−1, j, znl)
.
6. The forward-backward algorithm
E-step of EM algorithm for HMM
Quick review
HMM is trained by EM algorithm
E-step:
Evaluate γ(zn) and ξ(zn-1, zn)
M-step:
Update parameters
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
πk =
γ(z1k)
K
j=1 γ(z1j)
,
Ajk =
N
n=2 ξ(zn−1, j, znk)
K
l=1
N
n=2 ξ(zn−1, j, znl)
.
8. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
? ?
9. The forward-backward algorithm
E-step of EM algorithm for HMM
How to calculate γ(zn), ξ(zn-1, zn) ?
Basic idea is message passing on tree
(It will be studied later, and we shall do
conventional style now)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
10. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of γ(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) = p(zn|x1:N)
=
p(x1:N|zn)p(zn)
p(x1:N)
=
p(x1:n|zn)p(zn)p(xn+1:N|zn)
p(x1:N)
11. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of γ(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) = p(zn|x1:N)
=
p(x1:N|zn)p(zn)
p(x1:N)
=
p(x1:n|zn)p(zn)p(xn+1:N|zn)
p(x1:N)
12. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of γ(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) = p(zn|x1:N)
=
p(x1:N|zn)p(zn)
p(x1:N)
=
p(x1:n|zn)p(zn)p(xn+1:N|zn)
p(x1:N)
13. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn+1 zNzn-1 znz1
xn+1 xNxn-1 xnx1
Head Tail
Tail
14. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of γ(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) = p(zn|x1:N)
=
p(x1:N|zn)p(zn)
p(x1:N)
=
p(x1:n|zn)p(zn)p(xn+1:N|zn)
p(x1:N)
15. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of γ(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) = p(zn|x1:N)
=
p(x1:N|zn)p(zn)
p(x1:N)
=
p(x1:n|zn)p(zn)p(xn+1:N|zn)
p(x1:N)
16. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of γ(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) = p(zn|x1:N)
=
p(x1:N|zn)p(zn)
p(x1:N)
=
p(x1:n|zn)p(zn)p(xn+1:N|zn)
p(x1:N)
β(zn)
α(zn)
17. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
? ?
18. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
?
?
p(x1:N)
?
19. The forward-backward algorithm
E-step of EM algorithm for HMM
Now problem is changed into
How to calculate α(zn), β(zn) ?
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
20. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
21. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
22. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn-1 znz1
xn-1 xnx1
Head
Tail
23. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
24. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
25. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
26. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
27. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
28. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn-1 znz1
xn-1 xnx1
Head
Tail
Tail
29. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
30. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
31. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
32. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(x1:n|zn)p(zn)
= p(xn|zn)p(x1:n−1|zn)p(zn)
= p(xn|zn)p(x1:n−1, zn)
= p(xn|zn)
zn−1
p(x1:n−1, zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
p(x1:n−1|zn−1)p(zn|zn−1)p(zn−1)
= p(xn|zn)
zn−1
α(zn−1)A.
33. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(xn|zn)
zn−1
α(zn−1)A.
k = 1
k = 2
k = K
...
n = 1 n = 2 n = N...
O(K)
34. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(xn|zn)
zn−1
α(zn−1)A.
k = 1
k = 2
k = K
...
n = 1 n = 2 n = N...
O(K2
)
35. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(xn|zn)
zn−1
α(zn−1)A.
k = 1
k = 2
k = K
...
n = 1 n = 2 n = N...
O(K2
N)
36. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Start of recursion?
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(z1) = p(x1|z1)p(z1) =
π1 p(x1|φ1)
...
πN p(x1|φN)
.
37. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of α(zn)
Start of recursion?
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(z1) = p(x1|z1)p(z1) =
π1 p(x1|φ1)
...
πN p(x1|φN)
.
38. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
?
?
p(x1:N)
?
39. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
?
p(x1:N)
?
40. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
41. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
42. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
43. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn+2 zNzn zn+1
xn+2 xNxn xn+1
Head
Tail
44. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
45. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
46. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
47. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn+2 zNzn zn+1
xn+2 xNxn xn+1
Tail
Tail
48. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
49. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
50. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
51. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) = p(xn+1:N|zn)
=
zn+1
p(xn+1:N|zn, zn+1)p(zn+1|zn)
=
zn+1
p(xn+1:N|zn+1)p(zn+1|zn)
=
zn+1
p(xn+2:N|zn+1)p(xn+1|zn+1)p(zn+1|zn)
=
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
52. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
β(zn) =
zn+1
β(zn+1)p(xn+1|zn+1)AT
.
k = 1
k = 2
k = K
...
n = 1 n = 2 n = N...
O(K2
N)
53. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Start of recursion?
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
p(zN|x1:N) =
p(x1:N|zN)p(zN)β(zN)
p(x1:N)
⇔ β(zN) = 1 · · · 1
T
.
54. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of β(zn)
Start of recursion?
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
p(zN|x1:N) =
p(x1:N|zN)p(zN)β(zN)
p(x1:N)
⇔ β(zN) = 1 · · · 1
T
.
55. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
?
p(x1:N)
?
56. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
p(x1:N)
?
57. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of p(x1:N)
It appears on the denominator of γ(zn).
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) =
α(zn)β(zn)
p(x1:N)
58. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of p(x1:N)
It appears on the denominator of γ(zn).
In fact, we don't need it for update because it
cancel out.
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
πk =
γ(z1k)
K
j=1 γ(z1j)
,
Ajk =
N
n=2 ξ(zn−1, j, znk)
K
l=1
N
n=2 ξ(zn−1, j, znl)
.
59. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of p(x1:N)
It appears on the denominator of γ(zn).
In fact, we don't need it for update because it
cancel out.
However, we need to evaluate it,
because it's LIKELIHOOD, which is monitored.
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
60. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of p(x1:N)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) =
α(zn)β(zn)
p(X)
.
⇔
zn
γ(zn) =
zn
α(zn)β(zn)
p(X)
.
⇔ p(X) =
zn
α(zn)β(zn) ( γ = 1).
∴ p(X) =
zN
α(zN) =
k
αk(zN).
61. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of p(x1:N)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) =
α(zn)β(zn)
p(X)
.
⇔
zn
γ(zn) =
zn
α(zn)β(zn)
p(X)
.
⇔ p(X) =
zn
α(zn)β(zn) ( γ = 1).
∴ p(X) =
zN
α(zN) =
k
αk(zN).
62. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of p(x1:N)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) =
α(zn)β(zn)
p(X)
.
⇔
zn
γ(zn) =
zn
α(zn)β(zn)
p(X)
.
⇔ p(X) =
zn
α(zn)β(zn) ( γ = 1).
∴ p(X) =
zN
α(zN) =
k
αk(zN).Any n will do
63. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of p(x1:N)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(zn) =
α(zn)β(zn)
p(X)
.
⇔
zn
γ(zn) =
zn
α(zn)β(zn)
p(X)
.
⇔ p(X) =
zn
α(zn)β(zn) ( γ = 1).
∴ p(X) =
zN
α(zN) =
k
αk(zN).
64. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
p(x1:N)
?
65. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
p(x1:N)
Nth
66. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
67. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
68. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
69. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn+1 zNzn-1 znz1
xn+1 xNxn-1 xnx1
Head
Tail
TailTail
70. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
71. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
72. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
73. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn+1 zNzn-1 znz1
xn+1 xNxn-1 xnx1
Head
Tail
Tail
74. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
75. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
76. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
77. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn+1 zNzn-1 znz1
xn+1 xNxn-1 xnx1
Head
Tail
78. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
79. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
80. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn−1, zn) = p(zn−1, zn|x1:N)
=
p(x1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1, zn)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn−1, zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
...
81. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
...
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn|zn−1)p(zn−1)
p(x1:N)
=
α(zn−1)p(xn|zn)p(zn|zn−1)β(zn)
p(x1:N)
.
82. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
...
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn|zn−1)p(zn−1)
p(x1:N)
=
α(zn−1)p(xn|zn)p(zn|zn−1)β(zn)
p(x1:N)
.
83. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
zn+1 zNzn-1 znz1
xn+1 xNxn-1 xnx1
Head
Tail
84. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
...
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn|zn−1)p(zn−1)
p(x1:N)
=
α(zn−1)p(xn|zn)p(zn|zn−1)β(zn)
p(x1:N)
.
85. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
...
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn|zn−1)p(zn−1)
p(x1:N)
=
α(zn−1)p(xn|zn)p(zn|zn−1)β(zn)
p(x1:N)
.
86. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
...
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn|zn−1)p(zn−1)
p(x1:N)
=
α(zn−1)p(xn|zn)p(zn|zn−1)β(zn)
p(x1:N)
.
β(zn)
α(zn)
87. The forward-backward algorithm
E-step of EM algorithm for HMM
Evaluation of ξ(zn-1, zn)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
...
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn−1, zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn−1, zn)
p(x1:N)
=
p(x1:n−1|zn−1)p(xn|zn)p(xn+1:N|zn)p(zn|zn−1)p(zn−1)
p(x1:N)
=
α(zn−1)p(xn|zn)p(zn|zn−1)β(zn)
p(x1:N)
.
88. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
?
p(x1:N)
Nth
89. The forward-backward algorithm
E-step of EM algorithm for HMM
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
p(x1:N)
Nth
90. The forward-backward algorithm
E-step of EM algorithm for HMM
Summary
HMM is trained by EM algorithm
E-step:
Evaluate α(zn) and β(zn)
M-step:
Update parameters
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
α(zn) = p(xn|zn)
zn−1
α(zn−1)p(zn|zn−1),
β(zn) =
zn+1
β(zn+1)p(xn+1|zn+1)p(zn+1|zn).
91. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
92. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
93. The forward-backward algorithm
Multiple shorter sequences
In some practical situation, we can't get a
long sequence.
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
94. The forward-backward algorithm
Multiple shorter sequences
In some practical situation, we can't get a
long sequence.
Instead, we get multiple shorter sequences.
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
95. The forward-backward algorithm
Multiple shorter sequences
In some practical situation, we can't get a
long sequence.
Instead, we get multiple shorter sequences.
In this situation, we are still able to use
forward-backward algorithm
(w/ bit modification).
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
96. The forward-backward algorithm
Multiple shorter sequences
E-step
Just evaluate independently
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(z(r)
n ) = p(z(r)
n |X(r)
, θold
),
ξ(z(r)
n−1, z(r)
n ) = p(z(r)
n−1, z(r)
n |X(r)
, θold
).
97. The forward-backward algorithm
Multiple shorter sequences
E-step
Just evaluate independently
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
γ(z(r)
n ) = p(z(r)
n |X(r)
, θold
),
ξ(z(r)
n−1, z(r)
n ) = p(z(r)
n−1, z(r)
n |X(r)
, θold
).
98. The forward-backward algorithm
Multiple shorter sequences
M-step
Just add them all
etc.
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
πk =
R
r=1 γ(z(r)
1k )
R
r=1
K
j=1 γ(z(r)
i j )
,
Ajk =
R
r=1
Nr
n=2 ξ(z(r)
n−1, j, z(r)
nk )
R
r=1
K
l=1
Nr
n=2 ξ(z(r)
n−1, j, z(r)
nl )
99. The forward-backward algorithm
Multiple shorter sequences
M-step
Just add them all
etc.
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
πk =
R
r=1 γ(z(r)
1k )
R
r=1
K
j=1 γ(z(r)
i j )
,
Ajk =
R
r=1
Nr
n=2 ξ(z(r)
n−1, j, z(r)
nk )
R
r=1
K
l=1
Nr
n=2 ξ(z(r)
n−1, j, z(r)
nl )
100. The forward-backward algorithm
Multiple shorter sequences
M-step
Just add them all
etc.
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
πk =
R
r=1 γ(z(r)
1k )
R
r=1
K
j=1 γ(z(r)
i j )
,
Ajk =
R
r=1
Nr
n=2 ξ(z(r)
n−1, j, z(r)
nk )
R
r=1
K
l=1
Nr
n=2 ξ(z(r)
n−1, j, z(r)
nl )
Note: p(X) no
longer cancel out
101. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
102. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
103. The forward-backward algorithm
Predictive distribution
Once you trained the HMM, next thing you want
to do may be PREDICTION.
I.e., evaluation of p(xN+1|X)
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
119. The forward-backward algorithm
Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
...
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN)p(zN|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN)
p(zN, X)
p(X)
=
1
p(X) zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN)α(zN).
Only depend on α(zN)
i.e., whole X don't need
120. The forward-backward algorithm
Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
β(zn)
α(zn)
p(x1:N)
Nth
121. The forward-backward algorithm
Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
ξ(zn-1, zn)
γ(zn)
p(x1:N)
β(zn)
α(zn)
p(xN+1|X)
Nth
Nth
122. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
123. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA
124. The forward-backward algorithm
Today's topics
The forward-backward algorithm
1. E-step of EM algorithm for HMM
2. Multiple shorter sequences
3. Predictive distribution
Aug 4, 2014
PRML 13.2.2
Shinichi TAMURA