SlideShare a Scribd company logo
PRML 13.2.2

The forward-backward
algorithm	
 
August 4, 2014
by Shinichi TAMURA
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
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
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
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)
.
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)
.
The forward-backward algorithm	
 
E-step of EM algorithm for HMM
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
ξ(zn-1, zn) 	

γ(zn)
The forward-backward algorithm	
 
E-step of EM algorithm for HMM
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
ξ(zn-1, zn) 	

γ(zn) 	

? ?
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
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)
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)
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)
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
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)
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)
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)
The forward-backward algorithm	
 
E-step of EM algorithm for HMM
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
ξ(zn-1, zn) 	

γ(zn) 	

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

?
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
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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)
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
)
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)
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)


.
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)


.
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) 	

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

?
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
.
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
.
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
.
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
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
.
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
.
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
.
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
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
.
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
.
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
.
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
.
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)
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
.
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
.
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) 	

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

?
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)
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)
.
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
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).
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).
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
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).
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) 	

?
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
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)
...
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)
...
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)
...
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
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)
...
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)
...
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)
...
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
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)
...
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)
...
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)
...
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
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)
...
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)
...
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)
...
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)
.
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)
.
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
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)
.
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)
.
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)
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)
.
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
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
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).
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
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
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
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
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
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
).
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
).
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 )
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 )
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
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
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
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
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
p(xN+1|X) =
zN+1
p(xN+1, zN+1|X)
=
zN+1
p(xN+1|zN+1, X)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN, zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
...
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
p(xN+1|X) =
zN+1
p(xN+1, zN+1|X)
=
zN+1
p(xN+1|zN+1, X)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN, zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
...
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
p(xN+1|X) =
zN+1
p(xN+1, zN+1|X)
=
zN+1
p(xN+1|zN+1, X)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN, zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
...
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
zN zN+1z1
xN xN+1x1
Head
Tail
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
p(xN+1|X) =
zN+1
p(xN+1, zN+1|X)
=
zN+1
p(xN+1|zN+1, X)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN, zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
...
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
p(xN+1|X) =
zN+1
p(xN+1, zN+1|X)
=
zN+1
p(xN+1|zN+1, X)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN, zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
...
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
p(xN+1|X) =
zN+1
p(xN+1, zN+1|X)
=
zN+1
p(xN+1|zN+1, X)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN, zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
...
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
p(xN+1|X) =
zN+1
p(xN+1, zN+1|X)
=
zN+1
p(xN+1|zN+1, X)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)p(zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN, zN+1|X)
=
zN+1
p(xN+1|zN+1)
zN
p(zN+1|zN, X)p(zN|X)
...
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).
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).
The forward-backward algorithm	
 
Predictive distribution
Aug 4, 2014
 PRML 13.2.2
 Shinichi TAMURA
zN zN+1z1
xN xN+1x1
Head
Tail
Tail
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).
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).
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).
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).
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
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
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
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
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
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

More Related Content

PDF
The Forward-Forward Algorithm
PPTX
The False Discovery Rate: An Overview
PDF
Face Recognition Using Neural Networks
PDF
Nonnegative Matrix Factorization
PPTX
WAND Top-k Retrieval
PDF
PRML Reading Chapter 11 - Sampling Method
PDF
Causality without headaches
PPTX
Branch And Bound and Beam Search Feature Selection Algorithms
The Forward-Forward Algorithm
The False Discovery Rate: An Overview
Face Recognition Using Neural Networks
Nonnegative Matrix Factorization
WAND Top-k Retrieval
PRML Reading Chapter 11 - Sampling Method
Causality without headaches
Branch And Bound and Beam Search Feature Selection Algorithms

What's hot (20)

PDF
Bayesian networks in AI
PPTX
Perception in artificial intelligence
PDF
Data Visualization(s) Using Python
PPT
Hidden markov model ppt
PPTX
Linear regression with gradient descent
PDF
Ch 7 Knowledge Representation.pdf
PPT
Animation
PPT
Clustering
PDF
Transfer Learning
PDF
Computer graphics color models
PDF
Introduction to Generative Adversarial Networks (GANs)
PDF
Convolutional Neural Networks (CNN)
PDF
Bayes Belief Networks
PDF
Dimensionality Reduction
PDF
ViT (Vision Transformer) Review [CDM]
PPTX
CNN and its applications by ketaki
PPTX
Forms of learning in ai
DOCX
Tweening and morphing
PDF
I.BEST FIRST SEARCH IN AI
Bayesian networks in AI
Perception in artificial intelligence
Data Visualization(s) Using Python
Hidden markov model ppt
Linear regression with gradient descent
Ch 7 Knowledge Representation.pdf
Animation
Clustering
Transfer Learning
Computer graphics color models
Introduction to Generative Adversarial Networks (GANs)
Convolutional Neural Networks (CNN)
Bayes Belief Networks
Dimensionality Reduction
ViT (Vision Transformer) Review [CDM]
CNN and its applications by ketaki
Forms of learning in ai
Tweening and morphing
I.BEST FIRST SEARCH IN AI
Ad

Viewers also liked (20)

PPT
Time management working smarter
PDF
An overview of Hidden Markov Models (HMM)
PDF
PRML 2.4-2.5: The Exponential Family & Nonparametric Methods
PDF
ESL 17.3.2-17.4: Graphical Lasso and Boltzmann Machines
PDF
Ch09 combinatorialpatternmatching
PDF
MLaPP 2章 「確率」(前編)
PDF
NIPS 2016 輪読: Supervised Word Movers Distance
PDF
PRML 9.1-9.2: K-means Clustering & Mixtures of Gaussians
PDF
Use of Rasmol and study of proteins
PDF
Gene expression introduction
PPT
1. vectors
PPT
Artificial neural network model & hidden layers in multilayer artificial neur...
PDF
ESL 4.4.3-4.5: Logistic Reression (contd.) and Separating Hyperplane
PPTX
Immune response to hiv infection
PPTX
ISOLATION OF RNA
PPTX
HIV/AIDS (IMMUNOLOGY)
PPT
5 immune defense against bacterial pathogens
PPT
Principles of DNA isolation, PCR and LAMP
PPTX
Our presentation on algorithm design
Time management working smarter
An overview of Hidden Markov Models (HMM)
PRML 2.4-2.5: The Exponential Family & Nonparametric Methods
ESL 17.3.2-17.4: Graphical Lasso and Boltzmann Machines
Ch09 combinatorialpatternmatching
MLaPP 2章 「確率」(前編)
NIPS 2016 輪読: Supervised Word Movers Distance
PRML 9.1-9.2: K-means Clustering & Mixtures of Gaussians
Use of Rasmol and study of proteins
Gene expression introduction
1. vectors
Artificial neural network model & hidden layers in multilayer artificial neur...
ESL 4.4.3-4.5: Logistic Reression (contd.) and Separating Hyperplane
Immune response to hiv infection
ISOLATION OF RNA
HIV/AIDS (IMMUNOLOGY)
5 immune defense against bacterial pathogens
Principles of DNA isolation, PCR and LAMP
Our presentation on algorithm design
Ad

Similar to PRML 13.2.2: The Forward-Backward Algorithm (6)

PPTX
Learning group em - 20171025 - copy
PDF
A Tutorial of the EM-algorithm and Its Application to Outlier Detection
PPTX
Em Algorithm | Statistics
PDF
Lecture 13 HMMs and the derivations for perusal.pdf
PPTX
machine learning for engineering students
PDF
On learning statistical mixtures maximizing the complete likelihood
Learning group em - 20171025 - copy
A Tutorial of the EM-algorithm and Its Application to Outlier Detection
Em Algorithm | Statistics
Lecture 13 HMMs and the derivations for perusal.pdf
machine learning for engineering students
On learning statistical mixtures maximizing the complete likelihood

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Empathic Computing: Creating Shared Understanding
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Building Integrated photovoltaic BIPV_UPV.pdf
MIND Revenue Release Quarter 2 2025 Press Release
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Empathic Computing: Creating Shared Understanding
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Big Data Technologies - Introduction.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Programs and apps: productivity, graphics, security and other tools
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf

PRML 13.2.2: The Forward-Backward Algorithm

  • 1. PRML 13.2.2 The forward-backward algorithm August 4, 2014 by Shinichi TAMURA
  • 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) .
  • 7. The forward-backward algorithm E-step of EM algorithm for HMM Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA ξ(zn-1, zn) γ(zn)
  • 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
  • 104. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA p(xN+1|X) = zN+1 p(xN+1, zN+1|X) = zN+1 p(xN+1|zN+1, X)p(zN+1|X) = zN+1 p(xN+1|zN+1)p(zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN, zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN+1|zN, X)p(zN|X) ...
  • 105. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA p(xN+1|X) = zN+1 p(xN+1, zN+1|X) = zN+1 p(xN+1|zN+1, X)p(zN+1|X) = zN+1 p(xN+1|zN+1)p(zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN, zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN+1|zN, X)p(zN|X) ...
  • 106. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA p(xN+1|X) = zN+1 p(xN+1, zN+1|X) = zN+1 p(xN+1|zN+1, X)p(zN+1|X) = zN+1 p(xN+1|zN+1)p(zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN, zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN+1|zN, X)p(zN|X) ...
  • 107. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA zN zN+1z1 xN xN+1x1 Head Tail
  • 108. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA p(xN+1|X) = zN+1 p(xN+1, zN+1|X) = zN+1 p(xN+1|zN+1, X)p(zN+1|X) = zN+1 p(xN+1|zN+1)p(zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN, zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN+1|zN, X)p(zN|X) ...
  • 109. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA p(xN+1|X) = zN+1 p(xN+1, zN+1|X) = zN+1 p(xN+1|zN+1, X)p(zN+1|X) = zN+1 p(xN+1|zN+1)p(zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN, zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN+1|zN, X)p(zN|X) ...
  • 110. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA p(xN+1|X) = zN+1 p(xN+1, zN+1|X) = zN+1 p(xN+1|zN+1, X)p(zN+1|X) = zN+1 p(xN+1|zN+1)p(zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN, zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN+1|zN, X)p(zN|X) ...
  • 111. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA p(xN+1|X) = zN+1 p(xN+1, zN+1|X) = zN+1 p(xN+1|zN+1, X)p(zN+1|X) = zN+1 p(xN+1|zN+1)p(zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN, zN+1|X) = zN+1 p(xN+1|zN+1) zN p(zN+1|zN, X)p(zN|X) ...
  • 112. 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).
  • 113. 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).
  • 114. The forward-backward algorithm Predictive distribution Aug 4, 2014 PRML 13.2.2 Shinichi TAMURA zN zN+1z1 xN xN+1x1 Head Tail Tail
  • 115. 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).
  • 116. 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).
  • 117. 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).
  • 118. 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).
  • 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