prml 13.2.2: the forward-backward algorithm
TRANSCRIPT
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)!Kj=1 "(z1 j)
,
Ajk =
!Nn=2 #(zn!1, j, znk)!K
l=1!Nn=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)!Kj=1 "(z1 j)
,
Ajk =
!Nn=2 #(zn!1, j, znk)!K
l=1!Nn=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 TailTail
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
HeadTail
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
TailTail
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(K2N)
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) =
!""""""""""#
"1p(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) =
!""""""""""#
"1p(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
HeadTail
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
TailTail
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(K2N)
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)!Kj=1 "(z1 j)
,
Ajk =
!Nn=2 #(zn!1, j, znk)!K
l=1!Nn=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 TailTailTail
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
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
HeadTail
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
HeadTail
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 =
!Rr=1 "(z
(r)1k )!R
r=1!K
j=1 "(z(r)i j ),
Ajk =
!Rr=1!Nrn=2 #(z
(r)n!1, j, z
(r)nk )
!Rr=1!Kl=1!Nrn=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 =
!Rr=1 "(z
(r)1k )!R
r=1!K
j=1 "(z(r)i j ),
Ajk =
!Rr=1!Nrn=2 #(z
(r)n!1, j, z
(r)nk )
!Rr=1!Kl=1!Nrn=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 =
!Rr=1 "(z
(r)1k )!R
r=1!K
j=1 "(z(r)i j ),
Ajk =
!Rr=1!Nrn=2 #(z
(r)n!1, j, z
(r)nk )
!Rr=1!Kl=1!Nrn=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
HeadTail
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
TailTail
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