隐马尔可夫模型
外观
模板参数错误!(代码36)
|
隐马尔可夫模型(缩写:HMM (hidden Markov model))是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程.其难点是从可观察的参数中确定该过程的隐含参数.然后利用这些参数来作进一步的分析,例如模式识别.
在正常的马尔可夫模型中,状态对于观察者来说是直接可见的.这样状态变迁概率便是全部的参数.而在隐马尔可夫模型中,状态并不是直接可见的,但受状态影响的某些变量则是可见的.每一个状态在可能输出的符号上都有一概率分布.因此输出符号的序列能够透露出状态序列的一些信息.
马尔可夫模型的演化
上边的图示强调了HMM的状态变迁.有时,明确的表示出模型的演化也是有用的,我们用x(t1) 与x(t2)来表达不同时刻t1 和t2的状态.
在这个图中,每一个时间块(x(t), y(t))都可以向前或向后延伸.通常,时间的起点被设置为t=0 或 t=1.
使用隐马尔可夫模型
HMM有三个经典(canonical)问题:
- 已知模型参数,计算某一特定输出序列的概率.通常使用forward algorithm解决.
- 已知模型参数,寻找最可能的能产生某一特定输出序列的隐含状态的序列.通常使用Viterbi algorithm解决.
- 已知输出序列,寻找最可能的状态转移以及输出概率.通常使用Baum-Welch algorithm以及Reversed Viterbi algorithm解决.
另外,最近的一些方法使用Junction tree algorithm来解决这三个问题.
具体实例
这个例子在页上有更多的解释.
隐马尔可夫模型的应用
- 语音识别 或 光学字符识别
- 机器翻译
- 生物信息 和 genomics
- prediction of protein-coding regions in genome sequences
- modelling families of related DNA or protein sequences
- prediction of secondary structure elements from protein primary sequences
- and many more...
历史
隐马尔可夫模型最初是在二十世纪六十年代后半期Leonard E. Baum和其它一些作者在一系列的统计学论文中描述的。HMM最初的应用之一是开始于二十世纪七十年代中期的语音识别。[1]
在二十世纪八十年代后半期,HMM开始应用到生物序列尤其是DNA的分析中。从那时开始,在生物信息领域它们已经变得无处不在。[2]
参见
- Andrey Markov
- Baum Welch algorithm
- 贝叶斯推断
- 估计理论
- Viterbi algorithm
- Hierarchical hidden Markov model
- HSMM
注解
参考书目
- Lawrence R. Rabiner, A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. Proceedings of the IEEE, 77 (2), p. 257–286, February 1989.
- Richard Durbin, Sean R. Eddy, Anders Krogh, Graeme Mitchison. Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids. Cambridge University Press, 1999. ISBN 0521629713.
- Kristie Seymore, Andrew McCallum, and Roni Rosenfeld. Learning Hidden Markov Model Structure for Information Extraction. AAAI 99 Workshop on Machine Learning for Information Extraction, 1999. (also at CiteSeer: [1])
- http://www.comp.leeds.ac.uk/roger/HiddenMarkovModels/html_dev/main.html
- J. Li, A. Najmi, R. M. Gray, Image classification by a two dimensional hidden Markov model, IEEE Transactions on Signal Processing, 48(2):517-33, February 2000.
外部连接
- Hidden Markov Model (HMM) Toolbox for Matlab (by Kevin Murphy)
- Hidden Markov Model Toolkit (HTK) (a portable toolkit for building and manipulating hidden Markov models)
- Hidden Markov Models (an exposition using basic mathematics)
- GHMM Library (home page of the GHMM Library project)
- Jahmm Java Library (Java library and associated graphical application)
- A step-by-step tutorial on HMMs (University of Leeds)
- Software for Markov Models and Processes (TreeAge Software)