
隐含马尔可夫模型(HMM)通过构建一个系统可能出现的有限状态序列,运用统计方法来描述各状态间转移的概率,以此来刻画复杂的系统。该模型主要用于根据外部观测量预测事件的未知(隐含)状态序列。例如,在语音识别系统中,HMM方法能够通过麦克风捕获的声学信息这一观测量,推测出说话者所表达的内容(可视为系统的未知状态序列)。隐含马尔可夫模型自上世纪80年代早期即已被应用于商业语音识别系统,并至今被普遍视为实现快速且精准语音识别的有效手段。
以下是一些基本概念的摘录:
一、关于马尔可夫链的基本概念
1、马尔可夫性-无后效性,指的是在已知系统当前状态的情况下,系统未来的演变与过去的状态无关。其数学表达为:对于一个随机过程{X(t), t∈T},如果其状态空间S为可数集,则(n+1)状态仅依赖于n状态,而与先前状态无关。
2、马尔可夫过程与马尔可夫链
当马尔可夫过程的状态空间S为连续区间时,称之为马尔可夫过程;而当其状态空间为离散可列集时,称之为马尔可夫链。本研究中使用显然属于马尔可夫链。
3、马尔可夫链的转移概率及转移矩阵被称为从α步向β步转移的概率。
4、齐次性(与具体时间无关性)
对于任意的m、n均成立。
二、隐马尔可夫模型假设(HMM)
对于一个随机事件,其观察值序列为:O1, …, Ot,隐含着一个状态序列:X1, …, Xt。
假设1:马尔可夫假设(状态构成一阶马尔可夫链)
P(Xi|Xi-1, …, X1) = P(Xi|Xi-1)
假设2:不动性假设(状态与具体时间无关)
P(Xi+1|Xi) = P(Xj+1|Xj),对任意i,j均成立。
假设3:输出独立性假设(输出仅与当前状态相关)
P(O1, …, Ot | X1, …, Xt) = Π P(Ot | Xt)
在基因识别模型中,观察值序列显然对应于DNA序列(或蛋白质序列),而状态序列则表示基因的功能区段(或蛋白质中相似结构域的片段)。假设1与假设2分别定义了基因功能序列的马尔可夫性及与初始状态的无关性,假设3则表明特定基因功能区对应的DNA序列仅与其功能区域有关。这些假设在基因模型中的适用性尚需进一步检验,但从现有知识与应用成果来看,均显得合理。
三、隐马尔可夫模型的定义
隐马尔可夫模型由五个参数组成:(Ωx,Ωo,A,B,π)
其中:
ΩX = {q1,…,qN}:状态的有限集合
ΩO = {v1,…,vM}:观察值的有限集合
A = {aij},aij = P(Xt+1 = qj | Xt = qi):转移概率
B = {bik},bik = P(Ot = vk | Xt = qi):输出概率
π = {πi},πi = P(X1 = qi):初始状态分布
有了这些参数,可以构建出完整的模型以解决实际问题,但在此之前,需回答三个基本问题,这几乎是每一本关于隐马尔可夫模型的书籍中都会提及的。
1、可能性评估问题(likelihood question)
在给定模型的情况下,如何评估某观察值序列与该模型的匹配程度,即该观察值序列在多大程度上符合给定的模型。
2、解码问题(decoding question)
在特定模型及观察值序列下,求得可能性最大的状态序列。
3、学习问题(learning question)
针对特定观察值序列,如何根据此序列调整参数{A,B,π}以获得合理模型。
四、隐马尔可夫模型的算法
1、基本算法
包括向前算法、向后算法以及维特比算法(Viterbi algorithm)。
2、学习算法
包括期望最大化算法(EM algorithm)、梯度下降法(gradient descent)以及维特比学习(Viterbi learning)。
五、隐马尔可夫模型的应用
1. 多重比对(multiple alignments)
2. 数据库挖掘与序列及片段的分类(database mining and classification of sequence and fragments)
3. 结构分析与模式发现(structural analysis and pattern discovery)