Biorobotics Lab Research > Surgical Technology > Device

 
People
Education
Sponsors
 
 
Surgical Technology

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)