Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

geeky-bit/Tensorflow-HiddenMarkovModel-Baum_Welch-Viterbi-forward_backward-algo

Repository files navigation

Note :: Most of the functions used are adapted from some other github repos and some online materials.

Hidden Markov Model using Tensorflow

Jupyter Notebooks:

These are some of the examples that I have included in the jupyter notebook. Feel free to add more.

Baum Welch Algorithm

  • Expectation Maximization Inference of unknown parameters of a Hidden Markov Model

Viterbi Algorithm

  • Efficient way of finding the most likely state sequence.
  • Method is general statistical framework of compound decision theory.
  • Maximizes a posteriori probability recursively.
  • Assumed to have a finite-state discrete-time Markov process.

Forward-Backward Algorithm

  • The goal of the forward-backward algorithm is to find the conditional distribution over hidden states given the data.
  • It is used to find the most likely state for any point in time.
  • It cannot, however, be used to find the most likely sequence of states (see Viterbi)

Differences ::

The Baum-Welch algorithm and the Viterbi algorithm calculate different things.

Use Viterbi : The Viterbi training algorithm (as opposed to the "Viterbi algorithm") approximates the MLE to achieve a gain in speed at the cost of accuracy

  • known : transition probabilities for the hidden part of your model
  • known : emission probabilities for the visible outputs of your model
  • Gives : the most likely complete sequence of hidden states conditional on both your outputs and your model specification.

Use Baum-Welch : The Baum-Welch algorithm is essentially the Expectation-Maximization algorithm applied to a HMM

Gives :

  • The most likely hidden transition probabilities

  • The most likely set of emission probabilities given only the observed states of the model (and, usually, an upper bound on the number of hidden states)

Tip : If you know your model and just want the latent states, then there is no reason to use the Baum-Welch algorithm. If you don't know your model, then you can't be using the Viterbi algorithm.

Note : The codes are freely available. Please feel free to add more codes. Spread the word!

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /