ControlledHiddenMarkovModels.jl
Welcome to the documentation of ControlledHiddenMarkovModels.jl, a package for Hidden Markov Models with exogenous control variables.
Why would you need it?
This package focuses on discrete-time HMMs with a finite state space, but it's not the only one! A few alternatives that I am aware of:
I started my own package because I needed specific features that were not simultaneously available elsewhere (to the best of my knowledge):
- Control variables (obviously)
- Compatibility with generic emissions (beyond Distributions.jl)
- Numerical stability thanks to log-scale computations
- Compatibility with automatic differentiation of parameters
- in forward mode
- in reverse mode (WIP)
Getting started
To install the package, open a Julia Pkg REPL and run
pkg> add https://github.com/gdalle/ControlledHiddenMarkovModels.jl
Mathematical background
To understand the algorithms implemented here, check out the following literature:
A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition, Lawrence R. Rabiner (1989)
An Input Output HMM Architecture, Yoshua Bengio and Paolo Frasconi (1994)