第9章_隐马尔可夫模型报告.ppt
文本预览下载声明
Viterbi算法:连乘积→对数求和 前向算法:引入比例因子 其中,比例因子 HMM总结 HMM模型可以看作一种特定的Bayes Net HMM模型等价于概率正规语法或概率有限状态自动机 HMM模型可以用一种特定的神经网络模型来模拟 优点:研究透彻,算法成熟,效率高,效果好,易于训练 例(续) 4.当t=4时: 所以最终有: P(O| λ)= ?4(1)+ ?4(2)+ ?4(3)=0.0717696 即观察序列O由HMM模型?产生的概率 例(续) 最后将其计算过程示意图表示如下: 前向变量图示 后向变量 类似前向变量而定义后向变量βt(i),作为在时刻t处于状态Si并观测到部分序列Ot+1,…,OT的概率。 βt(i)=P(Ot+1…OT|qt=Si, λ) 递归计算 后向算法 后向变量图示 后向变量: 问题 二—解码问题 给定观测序列O={O1O2…OT}和HMM的模型λ,计算与序列O相对应的最佳状态序列Q={q1q2…qT}。 所求的 Q 应当在某个准则下是 “ 最优 ” 的 , 因此也称 Q 为最优路径 , 解码问题即是确定最优路径的问题。 解决问题二—Viterbi算法 Viterbi 算法也是类似于前向算法的一种网格结构 定义δt(i)为时刻t沿状态序列q1,q2,…,qt且 qt=Si产生出 O1,…,Ot的最大概率,即: Viterbi算法(续) 目标:给定一个观察序列和HMM模型,如何有效选择“最优”状态序列,以“最好地解释”观察序列 “最优”→概率最大: 思想:利用动态规划求解,复杂性O(N2T) Viterbi变量: 递归关系: 记忆变量: 记录概率最大路径上当前状态的前一个状态 Viterbi算法(续) 初始化: 递归: 终结: 从时刻T开始,进行路径回溯: 例子(Viterbi算法应用) HMM模型如下,试根据Viterbi算法计算产生观察符号序列O={ABAB}的最优状态序列Q。 状态集Q{S1,S2,S3} 观察序列集O={A,B} 例(续) ?初始概率矩阵π=(1,0,0), 即开始时处于状 态1。按照上面的公式,我们依次递推解出 , 以及 。解法如下: 1.当t=1时: 例(续) 2.当t=2时: 3.当t=3时: 例(续) 4.当t=4时: 例(续) 其递推结果为: 可以看出,最有可能的状态序列是: S1,S2,S2,S2. 例(续) 其计算结果示意图如下所示: 绿色的箭头表示最有可能的状态序列 问题三—学习问题 也称训练问题、参数估计问题 给定一系列观测样本,从中确定产生出这些序列的模型λ(π,A,B),以满足某种最优化准则,使得观察序列的概率P(O|λ)最大。 状态序列已知情况 可以由最大似然估计来估计HMM的参数: EM(Expectation-Maximization)算法 由于HMM中的状态序列是观察不到的(隐变量),以上的最大似然估计不可行。EM算法可用于含有隐变量的统计模型的最大似然估计。 EM算法是一个由交替进行的“期望(E过程)”和“极大似然估计(M过程)”两部分组成的迭代过程: · 对于给定的不完全数据和当前的参数值,“E过程”从条件期望中相 应地构造完全数据的似然函数值,“M过程”则利用参数的充分统计 量,重新估计概率模型的参数,使得训练数据的对数似然最大。 EM算法的每一次迭代过程必定单调地增加训练数据的对数似然值,于是迭代过程渐进地收敛于一个局部最优值。 定义 ξt(i,j)为给定全部观察序列O和λ, 在时刻t处于状态i,时刻 t + 1 位于状态j的概率。 (1) 图示 ?t(i) 表示在时刻t的前t个观测并止于状态Si的概率。并以概率aij转移到状态Sj,产生第t+1个观测,并在t+1时刻从Sj开始继续产生其余的观测序列。可通过将ξt除以所有在时刻t和时刻t+1可能处于的状态进行规范化。 定义γt(i) 给定HMM和观测序列,在时间t位于状态i的概率: (2) 计算模型参数 (3) 前向后向算法(Baum-Welch算法) 1.初始化:随机地给πi ,aij , bjk 赋值(满足概率条件),得到模型λ0,设 i=0 ; 2.EM步骤: E步骤:由λi根据公式(1)和(2),计算期望值ξt(i,j) 和 γt(i); M步骤:用E步骤所得的期望值,根据公式(3)重新估计πi ,aij ,bjk ,得到模型 λi+1 ;
显示全部