Notes
Slide Show
Outline
1
HMM
  • Parameters and
  • Probabilities
2
Important Issues re Interpretation of Sequences in the Context of the Model
  • Forward decoding:
    • What is the most probable path underlying the observed sequence?
      • The Viterbi algorithm
    • What is the full probability of all paths (and hence the probability of any path) underlying the observed sequence?
      • The Forward Algorithm
  • Posterior Decoding
    • Given an  observed sequence, what is the a posteriori probability that the observed sequence came from a particular state?
      • The Backward Algorithm

3
Important Issues re Training
  • When the training data are labeled
    • Maximum Likelihood Estimation
  • When the training paths are unknown
    • EM techniques: Baum-Welch algorithm
4
Most Probable Path
5
Viterbi Algorithm
6
 Model with 3 Coding Regions (States)
7
OBSERVED SEQUENCE
8
Viterbi Algorithm
9
 
10
 
11
 
12
 
13
 
14
 
15
Closely probable paths, and the probability of any path
 The Forward Algorithm
  • Define a function relating all joint probabilities up to the observation of interest,xi


16
The Forward Algorithm
  • Consider the Forward Algorithm variable (function)  f , vis à vis the Viterbi variable vk(i)


    • v is an ad hoc argmax times emission
    • f is an  ad hoc joint probability times emission times transition

17
 
18
 
19
Implementations
  • Both the Forward Algorithm and the Viterbi Algorithm can be implemented with DYNAMIC PROGRAMMING
    • Otherwise they are hard problems (exponential)
  • Use logs to prevent underflow


20
Posterior Decoding
  • Did observation xi come from state k  given the observed sequence x.
    • Restated, what is P(pi=k|x)


  • Need the Backward Algorithm
21
Backward Algorithm
  • Recurse backward from the end of the sequence
22
The Posterior Probability
23
Posterior Probability
24
Training Data with Unknown Paths using EM: Baum-Welch
  • Expectation Step
    • Estimate transition and emission probabilities using frequency counts (the states will look alike)
  • Maximization step
    • Run the model with these estimates, using Posterior decoding
    • Re-estimate the parameters using maximum likelihood estimator
  • Iterate