HMM三大核心问题 学习(或参数估计)问题 ·已知 观察到特定符号序列X 求 模型参数向量θ的估计值 例如:ML估计 ML=argmax(X 8)
HMM三大核心问题 • 学习(或参数估计)问题 • 已知 • 观察到特定符号序列X • 求 • 模型参数向量 的估计值 例如:ML估计
估值问题 直接计算HMM模型产生可见长度为T的符号序列X 的概率 P(X|)=>P(X|,)P(ol) P(X|0,6)=ba1x1)bo2)x(2)…ba(T)(T P(o6)=ro(1)a1)a2)a(2)03)…(T1k(T) Px|6)=∑∏a o(t-1ot)Do(tx(t) 0t=1 其中,a(0)(表示状态o(的初始概率xox) 假设HMM中有c个隐状态,则计算复杂度为O(c7)! 例如:c=10,T=20,基本运算1021次!
估值问题 • 直接计算HMM模型产生可见长度为T的符号序列X 的概率 其中, 表示状态 的初始概率 假设HMM中有c个隐状态,则计算复杂度为 ! 例如:c=10,T=20,基本运算1021次! (1) ( ) T O c T
估值问题 解决方案 ·递归计算 时刻的计算仅涉及上一步的结果,以及o(t),O(t-1),和x(t) ·HMM向前算法 ·HMM向后算法
估值问题 • 解决方案 • 递归计算 t时刻的计算仅涉及上一步的结果,以及 , ,和 • HMM向前算法 • HMM向后算法 ( )t ( 1) t − x t( )
估值问题 HMM向前算法 定义a1(1):时刻在状态,并且已观察到x(1),x(2),……x(t)的概率 初始化 对每一个隐状态,计算(1)=rb×() 递归 for t=2 to t 对每一个隐状态,计算()=∑(-1)x end 最后 P(X|6)=>a1(T) 计算复杂度O(c27)<O(7)
估值问题 • HMM向前算法 定义 :t时刻在状态i,并且已观察到x(1),x(2),…… x(t)的概率 • 初始化 对每一个隐状态i,计算 • 递归 for t=2 to T 对每一个隐状态j,计算 end • 最后 2 ( ) ( ) T 计算复杂度 O c T O c T ( ) i t
估值问题 HMM向前算法 1(2) 0 (2) 03 2 T-1 T
估值问题 • HMM向前算法