- Speech recognition
M. T. Chan, "HMM-based Audio Visual Speech Recognition Integrating Geometrics andAppearance-based Visual Features," presented at IEEE Workshop on Multimedia Signal Processing, Cannes, France, 2001. - Bioinformatics / Genomics
Thomas Plötz, GernotA. Fink,"Pattern recognition methods for advanced stochastic protein sequence analysis using HMMs", Pattern Recognition, Volume 39, 2006 - Robotics (robot sensing)
Sven Koenig and Reid Simmons, A Robot Navigation Architecture Based on Partially Observable Markov Decision Process Models," in Artificial Intelligence Based Mobile Robotics:CaseStudies of Successful Robot Systems, D. Kortenkamp, R. Bonasso, and R. Murphy, Eds., pp. 91-122. MIT press, 1998. - Economics / Finance
Rossi, Alessandro & Gallo, GiampieroM., 2006. "Volatility estimation via hidden Markov models," Journal of Empirical Finance, Elsevier, vol. 13(2), pages 203-230,
Here is his example of building a HMM with known parameters, generating a sequence of observations with the HMM, learning parameters, and computing probabilities for a coin flipping experiment. We can use the K-means to initialize the HMM and then use Baum-Welch to optimize. The dot file used in both of these cases can be converted to graph through the graphViz package. The Viterbi algorithm can be used for making predictions about the most probable state given the sequence of observations.
import java.util.*;
import be.ac.ulg.montefiore.run.jahmm.*;
import be.ac.ulg.montefiore.run.jahmm.toolbox.*;
import be.ac.ulg.montefiore.run.jahmm.learn.*;
import be.ac.ulg.montefiore.run.jahmm.draw.*;
public class HMM_CoinFlip {static public void main(String[] argv) throws java.io.IOException {
/*populate the data with N sequences of J binary coin flips, e.g. {{0,1,....,J},....,{0,1,...,J}}
int[][] data ={{}};
/* Read data into sequences */
Vector sequences = new Vector();
for (int i = 0; i < sequence =" new" j="0;" obs =" new" kml =" new" inithmm =" kml.learn();" bwl ="new" learnthmm =" bwl.iterate(initHmm);" i =" 0;" learnthmm =" bwl.iterate(learntHmm);}" http://www.biomedcentral.com/content/pdf/1471-2164-9-S1-S8.pdf and looked at their use of JahmmVix and GHMM Hidden Markov Model Editor. JahmmViz is the GUI for the library which uses Jung- a graph drawing library. The GUI can be obtained by using Java Web Start at
http://www.run.montefiore.ulg.ac.be/~francois/software/jahmm/jahmmViz/#use . GHMM can be downloaded at http://ghmm.sourceforge.net/hmmed.html and Java Web Started at http://casp.rnet.missouri.edu/hmmeditor/ . The User's manual is at http://casp.rnet.missouri.edu/hmmeditor/manual/HMMVE_1.1_manual.pdf.
Currently, I am experimenting with these libraries and will post more on my findings with some prototypes as I continue to assemble components together for this architecture.
No comments:
Post a Comment