1
votes

I am a novice to machine learning, I have read about the HMM but I still have a few questions:

  1. When applying the HMM for machine learning, how can the initial, emmission and transition probabilities be obtained?

  2. Currently I have a set of values (consisting the angles of a hand which I would like to classify via an HMM), what should my first step be?

    • I know that there are three problems in a HMM (ForwardBackward, Baum-Welch, and Viterbi), but what should I do with my data?
  3. In the literature that I have read, I never encountered the use of distribution functions within an HMM, yet the constructor that JaHMM uses for an HMM consists of:

    • number of states
    • Probability Distribution Function factory
    • Constructor Description: Creates a new HMM. Each state has the same pi value and the transition probabilities are all equal. Parameters: nbStates The (strictly positive) number of states of the HMM. opdfFactory A pdf generator that is used to build the pdfs associated to each state.

What is this used for? And how can I use it?

Thank you

1

1 Answers

2
votes

You have to somehow model and learn the initial, emmision, and tranisition probabilities such that they represent your data. In the case of discrete distributions and not to much variables/states you can obtain them form maximum likelihood fitting or you train a discriminative classifier that can give you a probability estimate like Random Forests or Naive Bayes. For continuous distributions have a look at Gaussian Processes or any other regression method like Gaussian Mixture Models or Regression Forests.

Regarding your 2. and 3. question: they are to general and fuzzy to be answered here. You should kindly refer to the following books: "Pattern Recognition and Machine Learning" by Bishop and "Probabilistic Graphical Models" by Koller/Friedman.