HMMTeacher guides you in the learning of the mechanics of solving the main three HMM algorithms. From the input of the data of a pre-stated HMM, passing by choosing the questions asked and the algorithms to apply, to the final report, containing the step-by-step algorithms solution.

Select the alphabet of the observed sequence of states to use.
Need more help?

You must select one of the 3 options to enable the inputs

You can change the data to try new things!

Either uppercase or lowercase letters are allowed

Is it your first time here? Ideally, use the manual to guide you in your first
HMM model!

Input the data
Need more help?

Any HMM is determined by three inputs, the vector of prior probabilities, the matrix of
transition probabilities and the matrix of emission probabilities.

Do not leave any blank cells! All matrices must be complete with numbers. If you do not know the
numbers, after filling all cells you know, leave the unknowns blank and press the Random button,
to fill the blank cells with random numbers.

The trick to fill the matrices cells are: the sum of prior probabilities must sum one; The sum
of each line in the transition (probabilities) matrix must sum one and; The sum of each line in
the emission (probabilities) matrix must sum one.

You can use the check button to see if the summation is 1 or close to 1. When working with
random float numbers in any programming language, rounding approximations may diverge the final
expected result of 1.

Select an algorithm
Need more help?
Whenever you choose the backward algorithm, the forward algorithm is automatically chosen. This, because the backward algorithm need the result of the forward algorithm.
#####
HMM algorithms

HMM can answer three main questions. Each question is answered by an algorithm.
The questions and their algorithms are:

1. What is the probability of the observed sequence of elements, given the data? (Forward)

2. What is the probability that the observed state at position X was emitted by hidden state Y?
(Backward) given the data.

3. What is the most probable sequence of hidden states given the data? (Viterbi)
You can try more than one at a time.

You need to choose at least one algorithm.

Example: H0

Enter the hidden
state. (ie 2)