您的位置:首页 > 其它

隐马尔科夫模型HMM

2018-03-13 19:21 253 查看

应用

隐马尔科夫模型(HMM,Hidden Markov Model)可用标注问题,在语音识别、NLP、生物信息、模式识别等领域被实践证明是有效的算法。

定义

隐马尔科夫模型是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成不可观测的状态的序列,再由各状态随机生成一个观测而产生观测序列的模型(参考李航的《统计学习方法》第10章)。

隐马尔科夫模型随机生成的状态随机序列,称为状态序列;每个状态生成一个观测,由此产生的观测随机序列,称为观测序列。



Q是所有可能的状态的集合,V是所有可能的观测的集合

Q={q1,q2,,...,qN},V={v1,v2,...,vM}Q={q1,q2,,...,qN},V={v1,v2,...,vM}

其中,N是可能的状态数,M是可能的观测数

Q是未知的,V是已知的,我们通过对V来做Q的推论,就是隐马尔科夫模型。

组成

HMM由初始状态概率向量π 、状态转移概率矩阵A以及观测概率矩阵B确定。

λ=(A,B,π)λ=(A,B,π)

HMM的概率计算算法

直接计算

按照概率公式,通过列举所有可能的长度为T的状态序列I={i1,i2,...,IT}I={i1,i2,...,IT},求各个状态序列I与观测序列O={o1,o2,...oT}O={o1,o2,...oT}的联合概率P(O,I|λ)P(O,I|λ),然后对所有可能的状态序列求和,得到P(O,I)P(O,I)

前向计算

定义:给定隐马尔可夫模型λ,定义到时刻t部分观测序列为o1,o2,…,ot,且状态为qi的概率为前向概率,记作

α(i)=P(o1,o2,...,ot,it=qi|λ)α(i)=P(o1,o2,...,ot,it=qi|λ)

可以递归地求得前向概率αt(i)以及观测序列概率P(O|λ)

前向计算的计算过程:

初值:α1(i)=πibi(o1)α1(i)=πibi(o1),i=1,2,…,N

递推:对t=1,2,…,T-1

αt+1(i)=[∑j=1Nαt(j)aji]bi(ot+1),i=1,2,...Nαt+1(i)=[∑j=1Nαt(j)aji]bi(ot+1),i=1,2,...N

终止:

P(O|λ)=∑i=1NαT(i)P(O|λ)=∑i=1NαT(i)

后向计算

定义:给定隐马尔可夫模型λ,定义到时刻t状态为qi的条件下,从t+1到T的部分观测序列为ot+1,ot+2,…,oT的概率为后向概率,记作

β(i)=P(ot+1,ot+2,...,oT,it=qi,λ)β(i)=P(ot+1,ot+2,...,oT,it=qi,λ)

可以用递归的方法 求得后向概率βt(i)以及观测序列概率P(O|λ)

后向计算的计算过程:

初值:βT(i)=1βT(i)=1

递推:对t=T-1,t=T-2,…,1

βt(i)=∑j=1Naijbj(ot+1)βt+1(j),i=1,2,...Nβt(i)=∑j=1Naijbj(ot+1)βt+1(j),i=1,2,...N

终止:

P(O|λ)=∑i=1Nπibi(o1)β1(i)P(O|λ)=∑i=1Nπibi(o1)β1(i)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: