Professional Documents
Culture Documents
Tapas Kanungo
Center for Automation Research
University of Maryland
Web: www.cfar.umd.edu/~kanungo
Email: kanungo@cfar.umd.edu
&
'
Outline
1. Markov models
2. Hidden Markov models
3. Forward/Backward algorithm
4. Viterbi algorithm
5. Baum-Welch estimation algorithm
&
'
Markov Models
Observable states:
1; 2; : : : ; N
Observed sequence:
q1; q2; : : : ; q ; : : : ; q
t
Stationarity:
P (q = j jq ,1 = i) = P (q + = j jq + ,1 = i)
t
&
'
Markov Models
State transition
matrix A :
2
66 a11 a12 a1
66
66
66 a21 a22 a2
66
66 .
.. ..
66 .
A = 666
66 a 1 a 2 a
66
66 .
.. ..
66 .
66
4a
1 a 2 a
where
ij
Nj
a = P (q = j jq ,1 = i)
ij
a1
a2
a
a
..
iN
..
NN
3
77
77
77
77
77
77
77
77
77
77
77
77
77
75
1 i; j; N
Constraints on a :
ij
a 0;
X
a = 1;
ij
&
=1
ij
8i; j
8i
'
States:
1. Rainy (R)
2. Cloudy (C )
3. Sunny (S )
State transition probability matrix:
2
66 0:4
66
A = 6666 0:2
66
4
3
0:3 777
77
0:2 777
77
5
0:3
0:6
0:1 0:1 0:8
&
'
&
'
Observation sequence O :
O = (S; S; S; R; R; S; C; S )
&
'
What is the probability that the sequence remains in state i for exactly d time units?
p (d) = P (q1 = i; q2 = i; : : : ; q = i; q +1 6= i; : : :)
= (a ) ,1 (1 , a )
i
ii
ii
1
X
=1
1
X
=1
dp (d)
i
d(a ) ,1(1 , a )
d
ii
= (1 , a )
ii
1
X
ii
=1
d(a ) ,1
d
ii
1
@ X
@a 0=1(a ) 1
@
a A
= (1 , a ) @
@a 1 , a
= (1 , a )
ii
ii
ii d
ii
ii
&
1,a
ii
ii
ii
'
1 , a33
1 , 0:8
=5
&
'
&
'
&
'
The Trellis
STATES
4
3
2
1
1
t-1
t+1
t+2
T-1
TIME
o1
o2
o t-1
ot
o t+1
o t+2
o T-1
oT
OBSERVATION
&
'
&
'
3. Given O = (o1; o2; : : : ; o ); estimate model parameters = (A; B; ) that maximize P (Oj):
T
&
'
Solution to Problem 1
Algorithm:
P (Ojq; ) =
P (o jq ; )
= b (o1 )b (o2) b T (o )
T
=1
q1
q2
q1 q2
q2 q3
1 qT
&
'
STATES
aNk
a3k
2
a1K
t+1
t
TIME
&
'
Forward Algorithm
Induction:
2
3
X
+1(j ) = 4 (i)a 5 b
N
=1
ij
(o +1)
t
3. Termination:
P (Oj) =
X
N
=1
(i)
T
Complexity: O(N 2T ):
&
'
Example
&
'
3
0:45 777
77
0:45 777 ;
77
5
0:45
0:1
0:05 0:45 0:1
&
'
Backward Algorithm
STATES
1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
aiN
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
000000
111111
0000000
1111111
000000
111111
0000000
1111111
000000
111111
0000000
1111111
000000
111111
000000
111111
0000000
1111111
000000
111111
0000000
1111111
0000000
1111111
000000
111111
0000000
1111111
000000
111111
i1111111
000000
111111
0000000
000000
111111
0000000
1111111
0000000
1111111
000000
111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
ai1
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
4
3
2
1
1
t-1
t+1
t+2
T-1
TIME
o1
o2
o t-1
ot
o t+1
o t+2
o T-1
oT
OBSERVATION
&
'
Backward Algorithm
Induction:
1. Initialization: (i) = 1
2. Induction:
T
(i) =
X
N
&
=1
a b (o +1) +1(j );
1 i N;
t = T , 1; : : : ; 1
ij
'
Solution to Problem 2
q1 ;q2 ;:::;q
By induction we have:
+1(j ) = max[ (i)a ] b (o +1)
t
&
ij
'
Viterbi Algorithm
STATES
1111111
0000000
0000000
1111111
0000000
1111111
aNk
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
k
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
a1k
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
4
3
2
1
1
t-1
t+1
t+2
T-1
TIME
o1
o2
o t-1
ot
o t+1
o t+2
o T-1
oT
OBSERVATION
&
'
Viterbi Algorithm
Initialization:
1(i) = b (o1); 1 i N
1 (i) = 0
i
Recursion:
(j ) = 1max
[ (i)a ]b (o )
,1
(j ) = arg 1max
[ (i)a ]
,1
2 t T; 1 j N
t
ij
ij
Termination:
P = 1max
[ (i)]
q = arg 1max
[ (i)]
i
&
q =
t
+1(q +1);
t = T , 1; T , 2; : : : ; 1
'
Solution to Problem 3
&
'
Baum-Welch: Preliminaries
ij
N
i
ij
N
j
ij
(i) =
X
N
=1
(i; j )
t
&
'
a = P
(i;(ij) )
t
ij
b (k) =
j
&
(j )
(j )
t =k
t;o
'
Properties
&
'
Types of HMM
Continuous density
Ergodic
State duration
&
'
Implementation Issues
Scaling
Initial parameters
Multiple observation
&
'
Comparison of HMMs
&