4.5.2.1 隐马尔可夫模型
隐马尔可夫模型[184,185]是一种用参数表示的用于描述随机过程统计特性的概率模型,是一个双重随机过程,由马尔可夫链和一般随机过程这两部分组成。隐马尔可夫链由一组状态组成,每个状态都与一个概率分布相关联,状态间的转移则是通过一组叫作转移概率的概率来描述的。一般随机过程则通过状态与观察到的输出之间的关联概率分布(观察概率分布)来描述状态与观察序列间的关系。对于隐马尔可夫模型来说,仅有输出是可观察到的,而状态转换过程是不可观察的,因而被称为“隐”马尔可夫模型。
定义4.37 一个隐马尔可夫模型是一个五元组λ=(X,O,π,A,B),其中:
(1)X表示一组有限的状态集合,X={s1,s2,…,sn},其中n表示状态的个数;
(2)O表示一组有限的输出集合,O={v1,v2,…,vm},其中m表示状态所输出的观察值的个数;
(3)π表示初始状态分布,π={πi,1≤i≤n},πi=P(X1=si),其中X1表示初始状态;
(4)A表示状态转移概率分布,A={aij,1≤i,j≤n},aij=P(Xt+1=sj|Xt=si),其中aij表示从第i个状态到第j个状态的转移概率,Xt表示t时刻的状态,此外转移概率应该满足正态随机约束,即;
(5)B表示观察概率分布,B={bik,1≤i≤n,1≤k≤m},bik=P(Ot=vk|Xt=si),其中bik表示第i个状态输出第k个观察值的概率,vk表示第k个观察值,Ot表示t时刻输出的观察值。
此外,为了数学及计算易处理,隐马尔可夫模型做了如下假设:
(1)马尔可夫假设,假设下一个状态的发生仅依赖于当前的状态;(www.xing528.com)
(2)不动性假设,假设状态转移概率独立于状态发生的时间;
(3)输出独立性假设,假设当前的输出仅与当前状态有关,统计独立于前一个输出。
4.5.2.2 Viterbi算法
在隐马尔可夫模型当中包含3个基本问题:评估问题、解码问题和学习问题。评估问题用于解决当给定模型λ和输出观察序列σ时,如何计算从模型生成观察序列的概率,也就是评估模型和观察序列的匹配程度以选取最佳的匹配。解码问题用于解决当给定模型λ和输出观察序列σ时,如何求取最优的状态序列,也就是找到与观察序列最匹配的状态序列。学习问题则解决对于一个给定的输出观察序列σ,如何调整模型λ的参数使得输出该观察序列的概率最大,试图通过优化模型参数来最佳地描述一个给定观察序列的得来途径。
Viterbi算法(算法4.2)主要是用于解决如何在给定一个HMM模型λ=(X,O,π,A,B)的情况下,找出与给定观察序列σ={o1,o2,…,oT}最匹配的状态序列q*。
算法4.2 Viterbi(λ,σ)
输入:隐马尔可夫模型λ,观察序列σ。
输出:最匹配的状态序列q*。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。