Viterbi or Baum-Welsh algorithm for estimating the probability of transition and emission?

I am trying to find the most likely path (i.e. a sequence of states) on an HMM using the Viterbi algorithm. However, I do not know the transition and radiation matrices, which I need to estimate from the observations (data).

To evaluate these matrices, which algorithm should I use: Baum-Welch or Viterbi learning algorithm? Why?

In case I use the Viterbi learning algorithm, can someone provide me with a good pseudo-code (it is not easy to find)?

+8
algorithm hidden-markov-models expectation-maximization viterbi
source share
3 answers

Given sufficient resources, you should probably use the Baum-Welch algorithm (back and forth) according to the Viterbi learning algorithm (the so-called segmental k-means algorithm), which is an alternative parameter estimation process that sacrifices some Baum-Welch generality for computational efficiency . In general, the Baum-Welch algorithm will provide parameters that will lead to better performance, although there are times when this is not the case. good comparative study .

Also, note that you must use the Baum-Welch algorithm to evaluate model parameters. This sets up the probability of emission and the probability of transmission using something similar to the EM algorithm. After you trained HMM, you would use the Viterbi decoding algorithm to calculate the most probable sequence of states that your observations could generate.


Link I would recommend Speech and Language Processing , Artificial Intelligence - A Modern Approach or this document

+12
source share

From http://nlp.stanford.edu/courses/lsa352/lsa352.lec7.6up.pdf :

Viterbi training compared to Baum Welch:

  • Much faster
  • But it doesnโ€™t work like that.
  • But the compromise is often worth it.

Some comparative studies:

The same question was asked in the Exchange Stack Statistics section: Differences between Baum-Welch and Viterbi Learning .

0
source share

you need to go through the baum welch algorithm to find out the hidden parameters of the Markov model. baum welch uses the algorithm back and forth to find out the hmm parameter.

I have one link for python baum welch algorithm code, just check it out: https://jyyuan.wordpress.com/2014/01/28/baum-welch-algorithm-finding-parameters-for-our-hmm/

-one
source share

All Articles