《隐马尔可夫模型简介》由会员分享,可在线阅读,更多相关《隐马尔可夫模型简介(13页珍藏版)》请在金锄头文库上搜索。
1、隐马尔可夫模型简介,刘群 2001-6-11,假设,对于一个随机事件,有一个观察值序列:O1,.,OT 该事件隐含着一个状态序列:X1,.,XT 假设1:马尔可夫假设(状态构成一阶马尔可夫链) p(Xi|Xi-1X1) = p(Xi|Xi-1) 假设2:不动性假设(状态与具体时间无关)p(Xi+1|Xi) = p(Xj+1|Xj),对任意i,j成立 假设3:输出独立性假设(输出仅与当前状态有关) p(O1,.,OT | X1,.,XT) = p(Ot | Xt),定义,一个隐马尔可夫模型 (HMM) 是一个五元组:(X , O, A, B, ) 其中:X = q1,.qN:状态的有限集合O =
2、 v1,.,vM:观察值的有限集合A = aij,aij = p(Xt+1 = qj |Xt = qi):转移概率B = bik,bik = p(Ot = vk | Xt = qi):输出概率 = i, i = p(X1 = qi):初始状态分布,问题,令 = A,B, 为给定HMM的参数, 令 = O1,.,OT 为观察值序列, 隐马尔可夫模型(HMM)的三个基本问题: 评估问题:对于给定模型,求某个观察值序列的概率p(|) ; 解码问题:对于给定模型和观察值序列,求可能性最大的状态序列; 学习问题:对于给定的一个观察值序列,调整参数,使得观察值出现的概率p(|)最大。,算法,评估问题:向前
3、算法 定义向前变量 采用动态规划算法,复杂度O(N2T) 解码问题:韦特比(Viterbi)算法 采用动态规划算法,复杂度O(N2T) 学习问题:向前向后算法 EM算法的一个特例,带隐变量的最大似然估计,算法:向前算法(一),定义前向变量为HMM在时间t输出序列O1Ot,并且位于状态Si的概率:,算法:向前算法(二),迭代公式为:,结果为:,变化,连续输出模型 输出矩阵变为某种概率分布,如高斯分布 多阶转移矩阵,例子:病情转化,假设:某一时刻只有一种疾病,且只依赖于上一时刻疾病 一种疾病只有一种症状,且只依赖于当时的疾病 症状(观察值):发烧,咳嗽,咽喉肿痛,流涕 疾病(状态值):感冒,肺炎,
4、扁桃体炎 转移概率:从一种疾病转变到另一种疾病的概率 输出概率:某一疾病呈现出某一症状的概率 初始分布:初始疾病的概率 解码问题:某人症状为:咳嗽咽喉痛流涕发烧 请问:其疾病转化的最大可能性如何?,例子:词性标注,问题: 已知单词序列w1w2wn,求词性序列c1c2cn HMM模型: 将词性为理解为状态 将单词为理解为输出值 训练:统计词性转移矩阵aij和词性到单词的输出矩阵bik 求解:Viterbi算法,应用,语音识别 音字转换 词性标注(POS Tagging) 组块分析 基因分析 一般化:任何与线性序列相关的现象,资源,Rabiner, L. R., A Tutorial on Hid
5、den Markov Models and Selected Applications in Speech Recognition, Proceedings of the IEEE, vol. 77, no. 2, Feb. 1989, pgs 257 - 285. There is a lot of notation but verbose explanations accompany. 翁富良,王野翊,计算语言学导论,中国社会科学出版社,1998 HTK:HMM Toolkit Hidden Markov Model (HMM) White Paper (GeneMatcher) ,总结,HMM模型可以看作一种特定的Bayes Net HMM模型等价于概率正规语法或概率有限状态自动机 HMM模型可以用一种特定的神经网络模型来模拟 优点:研究透彻,算法成熟,效率高,效果好,易于训练,