Here is my old question
I would like to ask if someone knows the difference (if there is any difference) between Hidden Markov models (HMM) and Particle Filter (PF), and as a consequence Kalman Filter, or under which circumstances we use which algorithm. I’m a student and I have to do a project, but first I have to understand some things.
So, according to bibliography, both are State Space Models, including hidden (or latent or unobserved) states. According to Wikipedia (Hidden_Markov_model) “in HMM, the state space of the hidden variables is discrete, while the observations themselves can either be discrete (typically generated from a categorical distribution) or continuous (typically from a Gaussian distribution). Hidden Markov models can also be generalized to allow continuous state spaces. Examples of such models are those where the Markov process over hidden variables is a linear dynamical system, with a linear relationship among related variables and where all hidden and observed variables follow a Gaussian distribution. In simple cases, such as the linear dynamical system just mentioned, exact inference is tractable (in this case, using the Kalman filter); however, in general, exact inference in HMMs with continuous latent variables is infeasible, and approximate methods must be used, such as the extended Kalman filter or the particle filter.”
But for me this is a bit confusing… In simple words does this mean the follow (based also to more research that I have done):
- In HMM, the state space can be either discrete or continuous. Also the observations themselves can be either discrete or continuous. Also HMM is a linear and Gaussian or non-Gaussian dynamical system.
- In PF, the state space can be either discrete or continuous. Also the observations themselves can be either discrete or continuous. But PF is a non-linear (and non-Gaussian?) dynamical system (is that their difference?).
- Kalman filter (also looks like the same to me like HMM) is being used when we have linear and Gaussian dynamical system.
Also how do I know which algorithm to choose, because to me all these seem the same... Also I found a paper (not in English) which says that PF although can have linear data (for example raw data from a sensor-kinect which recognizes a movement), the dynamical system can be non-linear. Can this happen? Is this correct? How?
For gesture recognition, researchers can use either HMM or PF, but they don’t explain why they select each algorithm… Does anyone know how I can be helped to distinguish these algorithms, to understand their differences and how to choose the best algorithm?
I’m sorry if my question is too big, or some parts are naive but I didn’t find somewhere a convincing and scientific answer. Thank you a lot in advance for your time!
Here is my NEW question (according to @conjugateprior's help)
So with further reading, I would like to update some of my parts of my previous comment, and to make sure that I understood a bit more what is going on.
- Again in simple words, the umbrella is Dynamic Bayesian networks under which the models of HMM and State space are included (subclasses) (http://mlg.eng.cam.ac.uk/zoubin/papers/ijprai.pdf).
- Furthermore, the initial difference between the 2 models is that, in HMM the hidden state variables are discrete, while the observations can either be discrete or continuous. In PF the hidden state variables are continuous (real-valued hidden state vector), and the observations have Gaussian distributions.
- Also according to @conjugateprior each model has the 3 following tasks: filtering, smoothing and prediction. In filtering, the model HMM uses for discrete hidden state variables the method Forward algorithm, state space uses for continuous variables and linear dynamic system the Kalman Filter, etc.
- However, HMM can also be generalized to allow continuous state spaces.
- With these extensions of HMM, the 2 models seems to be conceptually identical (as it is also mentioned in Hidden Markov Model vs Markov Transition Model vs State-Space Model...?).
I think that I’m using a bit more accurate the terminology, but still everything is blurry to me. Can anyone explain to me what is the difference between HMM and State Space model?
Because I really cannot find an answer that can fit to my needs..
Thank you once more!