+ All Categories
Home > Documents > Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov...

Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov...

Date post: 20-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
61
Hidden Markov Models Robert Platt Research Scientist Computer Science and Artificial Intelligence Lab MIT Copyright Robert Platt Jr.
Transcript
Page 1: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Hidden Markov Models

Robert PlattResearch Scientist

Computer Science and Artificial Intelligence LabMIT

Copyright Robert Platt Jr.

Page 2: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Hidden Markov models are everywhere!

Used to model time-series data:- Robot perception/control- Speech recognition- Video understanding- ...

MIT DARPA grand challenge vehicle Human speech

Page 3: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

A Markov Process

N states:

At time t, state is:

Discrete time steps:

Stochastic transitions once per time step:

Page 4: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

State transitions

Example

Suppose:Transition probabilities:

Page 5: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

State transitions

Notation:

- conditional probability table (CPT)- (process dynamics)

Page 6: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

State transitions

Notation:

- conditional probability table (CPT)- (process dynamics)

Notice:

Page 7: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Markov Property

Implicit in CPT ...

Page 8: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Markov Property

Implicit in CPT ...

Bayes net for a Markov model:

Page 9: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Markov Property

Implicit in CPT ...

Bayes net for a Markov model:

What does the Bayes net look like if theMarkov property does not hold?

Page 10: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Gridworld Example

Robot on a 4x5 grid …

Define transition dynamics:- 5 possible transitions

(up, down, left, right, stay)

P(right) = 0.4P(left) = 0.15P(up) = 0.15P(down) = 0.15P(stay) = 0.15

- different dynamics at walls...

Page 11: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Warm up question

If robot starts in state

What is probability of landing on stateat time ?

Page 12: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Warm up question

If robot starts in state

What is probability of landing on stateat time ?

i.e. find:

Page 13: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Naïve solution

Find:

Page 14: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Naïve solution

Find:

Sol'n:

Page 15: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Naïve solution

Find:

Sol'n:

Cost:

Page 16: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Dynamic Programming Sol'n

Find:

Let:

Page 17: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Dynamic Programming Sol'n

Find:

Sol'n:

1.

2.

3.

Let:

Page 18: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Dynamic Programming Sol'n

Find:

Sol'n:

1.

2.

3.

Let:

Page 19: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Dynamic Programming Sol'n

Find:

Sol'n:

1.

2.

3.

Cost:

Let:

Page 20: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Dynamic Programming Sol'n

Find:

Another way of writing the DP sol'n:

1.

2.

Let:

Page 21: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Stationary distribution

Given a Markov process with:

The process ultimately converges to a particularstationary distribution:

How do you calculate ?

Page 22: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

A Hidden Markov Model

N states:

M observations:

Discrete time steps:

At time t, state is:

At time t, observation is:

You never observe system state ...

Page 23: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Observations

Stochastic observations once per time step:

- when you first arrive in a state

What does the Bayes net for an HMM look like?

Assume:

Page 24: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM

What does the Bayes net for an HMM look like?

Page 25: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM

Notation:- observation dynamics

Notice:

Page 26: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM Definition

N states:

M observations:

Process dynamics:

Observation dynamics:

Prior distribution: or

or

Page 27: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Games you can play with an HMM

1. Inference:- where is the robot now?- where was the robot?- what path did it take?

2. Learning:- what are the robot

process and observation dynamics?

Today

Some other time

Page 28: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Problem #1: Filtering

If the robot starts in prior distribution,

and make a sequence of observations,

Then, where is the robot at time T?

In other words, what is: ?

Page 29: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Naïve solution

? ?

Page 30: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Naïve solution

? ?

Not cool …

Page 31: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Filtering: dynamic programming sol'n

Find:

Define:

Page 32: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Filtering: dynamic programming sol'n

Find:

Define:

Or ...

Page 33: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Filtering: dynamic programming sol'n

Find:

Define:

1.

2.

3.

Also called the forward algorithm

Page 34: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Filtering: dynamic programming sol'n

Find:

Define:

1.

2.

3.

Cost:

Page 35: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Filtering: dynamic programming sol'n

Find:

Define:

Last step:

Page 36: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Problem #2: Smoothing

If the robot starts in prior distribution,

and make a sequence of observations,

Then, where is the robot at time t<T?

In other words, what is: ?

Page 37: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Notice:

why?

Find:

Page 38: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Notice:

Find:

Therefore:

Page 39: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Find recursion for:

Page 40: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Find recursion for:

Page 41: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Page 42: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Page 43: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Find:

Define:

1.

2.

3.

Page 44: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Find:

Define:

1.

2.

3.

Cost:

Page 45: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Smoothing: DP solution

Find:

1. Calculate all alphas and betas

2.

Also called: forward-backward algorithm

Page 46: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Viterbi: finding the most likely path

Smoothing gives us for any t.

- most likely state is not quite the same as the most likely path …

Viterbi will give us most likely path:

Page 47: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Viterbi

Find:

Define:

Compare with:

Page 48: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Filtering: dynamic programming sol'n

Find:

Define:

1.

2.

3.

Page 49: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Viterbi

Find:

1.

2.

3.

4.

Define:

Page 50: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Viterbi

Define:

Shorthand:

Page 51: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Viterbi recursion

probability of most likely path to followed by

Recursion:

Page 52: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Kevin Murphy, Kalman filter toolbox

Filtering smoothing example: Kalman filter

Page 53: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Kevin Murphy, Kalman filter toolbox

Filtering smoothing example: Kalman filter

Page 54: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Kevin Murphy, Kalman filter toolbox

Filtering smoothing example: Kalman filter

Page 55: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM Learning (overview)

Easy once you know filtering/smoothing

- given a series of observations, learnthe parameters of the HMM,

Find the parameters, ,that maximize:

Page 56: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM Learning (overview)

1. Given, , do forward/backward to calculate

Page 57: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM Learning (overview)

2. Given , calculate expected :

- expected value of :

- expected value of :

Page 58: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM Learning (overview)

3. Goto step 1, using new values of

This procedure is an application of EM(expectation maximization) known as theBaum-Welch algorithm.

- procedure converges to local optimum- not necessarily globally optimal

Page 59: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

HMM Learning (overview)

Baum-Welch can be viewed as coordinateascent:

Roweis, Ghahramani, 2001

Page 60: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

Summary

1. Markov Processes

2. Hidden Markov Models

3. Filtering (forward algorithm)

4. Smoothing (backward algorithm)

5. Viterbi (most likely path)

6. Parameter learning

Page 61: Hidden Markov Modelsweb.eecs.umich.edu/~jjcorso/t/2011S_555/files/platt_hmm.pdf · Hidden Markov models are everywhere! Used to model time-series data: - Robot perception/control

References

1. Rabiner, A tutorial on hidden Markov models and selected applications in speech Recognition, Proc. of the IEEE, 1989

2. Bishop, Pattern recognition and machineLearning, Springer, Ch 13, 2006


Recommended