hidden Markov models
(1.5 hours to learn)
Hidden Markov models (HMMs) are a kind of probabilistic model widely used in speech and language processing. There is a discrete latent state which evolves over time as a Markov chain, and the current observations depend stochastically on the current latent state. HMMs are popular because they support efficient exact inference algorithms.
This concept has the prerequisites:
Core resources (read/watch one of the following)
→ A Revealing Introduction to Hidden Markov Models
→ Mathematical Monk: Machine Learning (2011)
→ A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition
→ Pattern Recognition and Machine Learning
A textbook for a graduate machine learning course, with a focus on Bayesian methods.
Location: Sections 13.1-13.2 (up to 13.2.1), pages 607-615
Supplemental resources (the following are optional, but you may find them useful)
→ Machine Learning: a Probabilistic Perspective
A very comprehensive graudate-level machine learning textbook.
Location: Sections 17.2-17.2.1 (pages 589-590) and 17.3-17.3.1 (pages 603-606)
→ Artificial Intelligence: a Modern Approach
A textbook giving a broad overview of all of AI.
Location: Sections 15.1-15.3, pages 537-551
- Some common applications of HMMs:Hidden semi-Markov models are an elaboration of HMMs which explicitly model the duration distribution of each state
- We can perform exact inference efficiently in an HMM using the forward-backward algorithm .
- We can learn the parameters of an HMM using the Baum-Welch algorithm .
- HMMs can be seen as a kind of Bayesian network .
- Dynamic Bayes nets are a kind of time series model which has multiple variables at each time step which influence each other
- The particle filter is a way of performing inference in HMMs when the state space is too large to represent exactly.
- Kalman filters are a widely used special case of HMMs where all of the variables are Gaussian.
- Recurrent neural networks are another class of model often applied to sequence data.
- create concept: shift + click on graph
- change concept title: shift + click on existing concept
- link together concepts: shift + click drag from one concept to another
- remove concept from graph: click on concept then press delete/backspace
- add associated content to concept: click the small circle that appears on the node when hovering over it
- other actions: use the icons in the upper right corner to optimize the graph placement, preview the graph, or download a json representation