PRML 13.2.2: The Forward-Backward Algorithm

Post on 12-Aug-2015

115 views 2 download

Transcript of PRML 13.2.2: The Forward-Backward Algorithm

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