What are the benefits of giving certain initial values to transition probabilities in a Hidden Markov Model? Eventually system will learn them, so what is the point of giving values other than random ones? Does underlying algorithm make a difference such as Baum–Welch?

If I know the transition probabilities at the beginning very accurately, and my main purpose is to predict output probabilities from hidden state to observations, what would you advise me?


Baum-Welch is an optimization algorithm for computing the maximum-likelihood estimator. For hidden Markov models the likelihood surface may be quite ugly, and it is certainly not concave. With good starting points the algorithm may converge faster and towards the MLE.

If you already know the transition probabilities and want to predict hidden states by the Viterbi algorithm, you need the transition probabilities. If you already know them, there is no need to re-estimate them using Baum-Welch. The re-estimation is computationally more expensive than the prediction.


Some of the materials concerning Initial Estimates of HMM are given in

Lawrence R. Rabiner (February 1989). "A tutorial on Hidden Markov Models and selected applications in speech recognition". Proceedings of the IEEE 77 (2): 257–286. doi:10.1109/5.18626 (Section V.C)

You can also take a look at the Probabilistic modeling toolkit for Matlab/Octave, especially hmmFitEm function where You can provide your own Initial parameter of the model or just using ('nrandomRestarts' option). While using 'nrandomRestarts', the first model (at the init step) uses:

  • Fit a mixture of Gaussians via MLE/MAP (using EM) for continues data;
  • Fit a mixture of product of discrete distributions via MLE/MAP (using EM) for discrete data;

the second, third models... (at the init step) use randomly initialized parameters and as the result converge more slowly with mostly lower Log Likelihood values.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.