Hidden
Markov Model Toolbox
Abstract
The
Hidden Markov Model (HMM) Toolbox for Matlab is a library of functions
(M-files) that were written in Matlab's script language. The toolbox
was written based on the papers of L.R. Rabiner (Rabiner and Juang
1986, and Rabiner 1989) which are two of the leading publications
defining the theoretical aspects of HMM and its applications in
engineering.
The
HMM toolbox includes functions for solving the three basic problems
associated with HMM: (i) training problem (ii) evaluation problem
and (iii) uncovering the hidden state problem using the forward-backward
procedure and the Baum-Welch algorithm. The solutions of these
three problems are implemented for both the discrete version (DHMM)
and the continuous version (CHMM) of the HMM. Several new techniques
were developed and implemented into the code to ensure numerical
stability especially in the DHMM. In addition to the HMM the toolbox
includes another set of functions for performing a vector quantization
(VQ) implementing the K-means algorithm. Using the VQ procedure
a multi-dimensional data vector is clustered into discrete sets
of symbols which are further analyzed by the DHMM.
The
HMM toolbox includes two levels of user interface. The high-level
interface is a graphical user interface (GUI) with dialog boxes
allowing the user to define a HMM, solve the three typical problems
and view the results both graphically and numerically. The low-level
interface is the source code containing a set of Matlab functions
that allows the user to modify the code to develop new algorithms
and incorporate them in any application. Taking advantage of Matlab's
graphical capabilities and its open architecture (open source
code), the toolbox is a user-friendly tool that may apply to applications
in engineering and science.
A
graphical representation of a discrete HMM
(3 fully connected states and 88 symbols)
|