# Machine Learning - Northwestern University ```Machine Learning
Hidden Markov Models
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Markov Property
A stochastic process has the Markov property if
the conditional probability of future states of the
process, depends only upon the present state.
i.e. what I’m likely to do next
depends only on where I am
now, NOT on how I got here.
P(qt | qt-1,…,q1) = P(qt | qt-1)
1
2
K
…
Which processes have the Markov property?
Doug Downey, adapted from Bryan Pardo,Northwestern University
Markov model for Dow Jones
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Dishonest Casino
A casino has two dice:
• Fair die
P(1) = P(2) =…= P(5) = P(6) = 1/6
P(1) = P(2) =…= P(5) = 1/10; P(6) = &frac12;
I think the casino switches back and forth
between fair and loaded die once every 20
turns, on average
Doug Downey, adapted from Bryan Pardo,Northwestern University
My dishonest casino model
This is a hidden Markov model (HMM)
0.05
0.95
FAIR
P(1|F) = 1/6
P(2|F) = 1/6
P(3|F) = 1/6
P(4|F) = 1/6
P(5|F) = 1/6
P(6|F) = 1/6
0.95
0.05
Doug Downey, adapted from Bryan Pardo,Northwestern University
P(1|L) = 1/10
P(2|L) = 1/10
P(3|L) = 1/10
P(4|L) = 1/10
P(5|L) = 1/10
P(6|L) = 1/2
Elements of a Hidden Markov Model
• A finite set of states Q = { q1, ..., qK }
• A set of transition probabilities between states, A
…each aij, in A is the prob. of going from state i to state j
• The probability of starting in each state P = {p1, …, pK}
…each pK in P is the probability of starting in state k
• A set of emission probabilities, B
…where each bi(oj) in B is the probability of observing
output oj when in state i
Doug Downey, adapted from Bryan Pardo,Northwestern University
My dishonest casino model
This is a HIDDEN Markov model because the states
are not directly observable.
If the fair die were red and the unfair die were blue,
then the Markov model would NOT be hidden.
0.05
0.95
FAIR
0.95
0.05
Doug Downey, adapted from Bryan Pardo,Northwestern University
HMMs are good for…
• Speech Recognition
• Gene Sequence Matching
• Text Processing
– Part of speech tagging
– Information extraction
– Handwriting recognition
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Three Basic Problems for HMMs
• Given: observation sequence O=(o1o2…oT), of events from
the alphabet , and HMM model  = (A,B,p)…
• Problem 1 (Evaluation):
What is P(O| ), the probability of the observation sequence, given
the model
• Problem 2 (Decoding):
What sequence of states Q=(q1q2…qT) best explains the observations
• Problem 3 (Learning):
How do we adjust the model parameters  = (A,B,p) to maximize
P(O|  )?
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Evaluation Problem
• Given observation sequence O and HMM , compute
P(O| )
• Helps us pick which model is the best one
0.05
0.95
FAIR
0.95
O = 1,6,6,2,6,3,6,6
0.05
0.95
0.05
FAIR
0.95
0.05
Doug Downey, adapted from Bryan Pardo,Northwestern University
Computing P(O|)
•
•
•
•
Na&iuml;ve: Try every path through the model
Sum the probabilities of all possible paths
This can be intractable. O(NT)
– The Forward Algorithm. O(N2T)
0.95
0.05
FAIR
0.95
0.05
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Forward Algorithm
Doug Downey, adapted from Bryan Pardo,Northwestern University
The inductive step,
• Computation of t(j) by summing all previous values t-1(i) for all i
A hidden state at time t-1
t-1(i)
transition
probability
t(j)
Doug Downey, adapted from Bryan Pardo,Northwestern University
Forward Algorithm Example
Model =
0.95
0.05
FAIR
P(1|F) = 1/6
P(2|F) = 1/6
P(3|F) = 1/6
P(4|F) = 1/6
P(5|F) = 1/6
P(6|F) = 1/6
0.95
P(1|L) = 1/10
P(2|L) = 1/10
P(3|L) = 1/10
P(4|L) = 1/10
P(5|L) = 1/10
P(6|L) = 1/2
0.05
Start prob
P (fair)
= .7
Observation sequence = 1,6,6,2
1(i)
State 1 (fair)
0.7*1/6
2(i)
3(i)
4(i)
1(1)*0.05*1/6+
1(2)*0.05*1/6
2(1)*0.05*1/6+
2(2)*0.05*1/6
3(1)*0.05*1/6+
3(2)*0.05*1/6
1(1)*0.95*1/2+
1(2)*0.95*1/2
2(1)*0.95*1/2+
2(2)*0.95*1/2
3(1)*0.95*1/10+
3(2)*0.95*1/10
Doug Downey, adapted from Bryan Pardo,Northwestern University
Markov model for Dow Jones
Doug Downey, adapted from Bryan Pardo,Northwestern University
Forward trellis for Dow Jones
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Decoding Problem
• What sequence of states Q=(q1q2…qT) best
explains the observation sequence O=(o1o2…oT)?
• Helps us find the path through a model.
ART
N
V
The
dog
sat
quietly
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Decoding Problem
What sequence of states Q=(q1q2…qT) best explains the
observation sequence O=(o1o2…oT)?
• Viterbi Decoding:
– slight modification of the forward algorithm
– the major difference is the maximization over previous states
Note: Most likely state sequence is not the same as the
sequence of most likely states
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Viterbi Algorithm
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Forward inductive step
• Computation of t(j)
 t ( j ) =  t 1 (k )aijb j (ot )
i
ot-1
ot
t-1(j)
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Viterbi inductive step
• Computation of vt(j)
vt ( j ) = max (vt 1 (i )akj b j (ot ))
i
ot-1
ot
Keep track of who the
predecessor was at each
step.
vt-1(i)
Doug Downey, adapted from Bryan Pardo,Northwestern University
Viterbi for Dow Jones
Doug Downey, adapted from Bryan Pardo,Northwestern University
The Learning Problem
• Given O, how do we adjust the model
parameters  = (A,B,p) to maximize P(O|
 )?
• In other words: How do we make a
hidden Markov Model that best models the
what we observe?
Doug Downey, adapted from Bryan Pardo,Northwestern University
Baum-Welch Local Maximization
• 1st step: You determine
– The number of hidden states, N
– The emission (observation alphabet)
• 2nd step: randomly assign values to…
A - the transition probabilities
B - the observation (emission) probabilities
p - the starting state probabilities
• 3rd step: Let the machine re-estimate
A, B, p
Doug Downey, adapted from Bryan Pardo,Northwestern University
Estimation Formulae
p i = expected frequency of state i at time = 1
expected num transitions from state i to state j
a ij =
expected num of transitions from state i
expected num of observations of symbol k in state j
b j (k ) =
expected number of times in state j
Doug Downey, adapted from Bryan Pardo,Northwestern University
Learning transitions…
 t (i, j ) = P(qt = Si , qt 1 = S j | O,  )
Doug Downey, adapted from Bryan Pardo,Northwestern University
Math…
 t (i, j ) = P (qt = Si , qt 1 = S j | O,  )
 t (i )aijb(Ot 1 )  t 1 ( j )
 t (i, j ) =
P (O |  )
 t (i )aijb j (Ot 1 )  t 1 ( j )
 t (i, j ) = N N
  t (k )akl bl (Ot 1 ) t 1 (l )
k =1 l =1
Doug Downey, adapted from Bryan Pardo,Northwestern University
Estimation of starting probs.
p i = expected frequency of state i at time 1
p i =  1 (i )
where...
N
 t (i ) =   t (i, j )
j =1
This is number of transitions
from i at time t
Doug Downey, adapted from Bryan Pardo,Northwestern University
Estimation Formulae
expected num transitions from state i to state j
a ij =
expected num of transitions from state i
T 1
a ij =
  (i, j )
t =1
T 1
t
  (i)
t =1
t
Doug Downey, adapted from Bryan Pardo,Northwestern University
Estimation Formulae
expected num of observations of symbol k in state j
b j (k ) =
expected number of times in state j
T
  ( j)
t
b j (k ) =
t =1
Such that Ot = vkk
T
  ( j)
t =1
t
Doug Downey, adapted from Bryan Pardo,Northwestern University
What are we maximizing again?
The current model is...
 = ( A, B, p )
Our reestimate d model is...
 = ( A, B ,p )
Doug Downey, adapted from Bryan Pardo,Northwestern University
The game is…
• EITHER the current model is at a local maximum
and…
reestimate = current model
• OR our reestimate will be slightly better and…
reestimate != current model
• SO we feed in the reestimate as the current
model, over and over until we can’t improve any
more.
Doug Downey, adapted from Bryan Pardo,Northwestern University
Caveats
• This is a kind of hill-climbing technique
– Often has serious problems with local maxima
– You don’t know when you’re done
So…how else could we do this?