Cheryl Roberts (kopant@gmail.com)
This project includes a class for fitting and decoding HMMs (currently only
discrete emission spaces are supported; extension to GMM is tentatively planned).
The code is tested on a toy example from Wikipedia, as well as real-life example
using gas sensor data.
The jupyter notebook contains the entirety of the code (which should be broken
out into a proper library in the future), and includes significant exploration
and pre-processing of the MOX gas sensor data.
Code tested with:
- Python 3.5.2
- numpy 1.16.4
- pandas 0.24.2
- matplotlib 2.2.3
- hmmlearn 0.2.3
- MOX gas sensor data, UCI, retrieved from https://archive.ics.uci.edu/ml/datasets/Gas+sensors+for+home+activity+monitoring#
- Wikipedia worked 'chicken' example for Baum Welch, retrieved from https://en.wikipedia.org/wiki/Baum–Welch_algorithm
- Rabiner, L. (1990). A tutorial on hidden markov models and selected apllications in speech recognition. In A. Waibel and K.-F. Lee, editors, Readings in Speech Recognition, pages 267-296. Kaufmann, San Mateo, CA.
- Russell, S. and Norvig, P. (2009). Artificial Intelligence: A Modern Approach (3rd Edition). Pearson: London, UK.
- Gutierrez-Osuna, R. (n.d.) Introduction to Speech Processing, L14: Refinements for HMMs. Retrieved from http://research.cs.tamu.edu/prism/lectures/sp/l14.pdf