background
HMM (Hidden Markov Model) have
Two kinds of variables :( variable sequence)
1. Hidden States:xi
2. Events: ei
Three elements of the model:
1. State priors
2. Transition matrix
3. Emission matrix
Three kinds of problem solving:
1. The three elements of the model are known and Events, seeking Hidden States: Viterbi Algorithm
2. Known model of the three elements and Events, seeking the probability of occurrence of this series of Events: Forward / Backward algorithm
3. Known Events, seeking Model three elements: Baum-Welch algorithm
The following is my personal understanding of the three algorithms:
Viterbi algorithm is a special case and Forward / Backward algorithms are dynamic programming
Baum-Welch algorithm is a special case of the EM algorithm (iterative parameter estimation algorithm basically EM)
Viterbi algorithm
The idea is simple understanding of the Viterbi algorithm can be seen: https://www.zhihu.com/question/20136144/answer/763021768
You can see an example to explain a model of HMM: https://www.zhihu.com/question/20136144/answer/239971177
code show as below: