隐马尔可夫模型(HMM)之概率计算
1. 前言
本文主要对隐马尔可夫(Hidden Markov model,HMM)模型的三个基本问题做一个整理.其中所用符号与参考资料《统计学习方法》-李航保持一致,是对该章的学习笔记以便复习查看。
本文主要是隐马尔可夫模型的第一个概率计算的问题整理。
其他两个问题可参考
2. 符号说明
设所有可能的状态集合为 Q = { q 1 , q 2 , ⋯ , q N } Q=\{q_1,q_2,\cdots ,q_N\} Q={ q1,q2,⋯,qN},观测结果集合为 V = { v 1 , v 2 , ⋯ , v M } V=\{v_1,v_2,\cdots ,v_M\} V={ v1,v2,⋯,vM}.
设总共有 T T T个时刻.
T T T个时刻所对应的状态序列为 I = ( i 1 , i 2 , ⋯ , i T ) I=(i_1,i_2,\cdots ,i_T) I=(i1,i2,⋯,iT),所对应的观测序列为 O = ( o 1 , o 2 , ⋯ , o T ) O=(o_1,o_2,\cdots,o_T) O=(o1,o2,⋯,oT).
设状态转移概率矩阵为 A = [ a i j ] N × N A=[a_{ij}]_{N \times N} A=[aij]N×N.
表示在某个时刻 t t t的状态为 q i q_i qi,要转移到 t + 1 t+1 t+1时刻的状态 q j q_j qj的概率是 a i j a_{ij} aij.也就是 a i j = p ( i t + 1 = q j ∣ i t = q i ) a_{ij}=p(i_{t+1}=q_j|i_t=q_i) aij=p(it+1=qj∣it=qi).(这里 t t t是任意 1 ≤ t < T 1\le t \lt T 1≤t<T的,也就说整个状态转移矩阵在整个时序上传递是共享的).
设观测概率矩阵为 B = [ b j ( k ) ] N × M B=[b_j(k)]_{N\times M} B=[bj(k)]N×M.
表示在某个时刻 t t t的状态为 q j q_j qj,在状态 q j q_j qj的观测结果为 v k v_k vk的概率为 b j ( k ) b_j(k) bj(k).也就是 b j ( k ) = p ( o t = v k ∣ i t = q j ) b_j(k)=p(o_t=v_k|i_t=q_j) bj(k)=p(ot=vk∣it=qj).同样这个 B B B也是共享的.
设初始状态转移概率向量为 π = ( π i ) \pi=(\pi_i) π=(πi).它是 N × 1 N\times1 N×1分别对应着时刻 t = 1 t=1 t=1的 N N N个状态.
上述符号可以结合下图一一对应,方便理解
从图中的箭头的描述来看,其实包含了HMM的两个基本假设.(这里就通俗地讲)
- 每一个时刻 t t t的状态 i t i_t it只依赖于前一个状态 i t − 1 i_{t-1} it−1.
- 每一个观测结果 o t o_t ot只依赖于当前的隐含状态 i t i_t it.
π , A , B \pi,A,B π,A,B都是模型的参数,就用 λ = ( π , A , B ) \lambda=(\pi,A,B) λ=(π,A,B)来统一代替方便表示.
3.三个基本问题
- 概率计算.给定模型参数 λ \lambda λ和观测结果 O = ( o 1 , o 2