# Viterbi training vs. Baum-Welch algorithm

I'm trying to find the most probable path (i.e., sequence of states) on an hidden Markov model (HMM) using the Viterbi algorithm. However, I don't know the transition and emission matrices, which I need to estimate from the observations (data).

To estimate these matrices, which algorithm should I use: the Baum-Welch algorithm or the Viterbi Training algorithm? Why?

In case I should use the Viterbi training algorithm, can anyone provide me a good pseudocode (it's not easy to find) ?

-
The Viterbi algorithm requires the transition matrices to be known beforehand. You cannot use it (unless I am completely mistaken) a priori. To compute the transition probabilities you can use Baum-Welch (or other EM-based algorithms). –  Nicholas Mancuso Nov 14 '12 at 13:58
I know the Viterbi algorithm is only to find the most probable path, but there seems to exist an algorithm called Viterbi Training (not easy to find info on it) which does the same as the Baum-Welch... –  dx_mrt Nov 15 '12 at 8:21
This answer on crossvalidate.SE may be of use. I wasn't aware of viterbi-training. I have only used BW or other EM-based methods in the past. Based on the answer in the link, I think BW would be the most useful. It seems Viterbi-Training gives no guarantee on bounds. –  Nicholas Mancuso Nov 15 '12 at 16:03
@NicholasMancuso, if you'd like to expand your comment into an answer, we could clean it up –  Merbs Nov 25 '12 at 16:36