隐马尔可夫模型
概率图分为静态和动态两种,其中静态概率图可根据是否有向分为无向的贝叶斯网络和有向的马尔可夫随机场,而动态模型即有HMM,Kalman Filter和Particle Filter。
HMM事实上是高斯混合模型的时间序列,各个观测变量 x i x_i xi之间并不是独立同分布的关系。而状态变量 z i z_i zi之间则是一个马尔可夫链。
根据上图,隐马尔可夫模型的观测变量 o o o为 o 1 , o 2 , … … , o t , … … o_1,o_2,……,o_t,…… o1,o2,……,ot,……,观测空间为 V = { v 1 , v 2 , … … , v M } V=\{v_1,v_2,……,v_M\} V={v1,v2,……,vM}。状态变量 i i i为 i 1 , i 2 , … … , i t , … … , i_1,i_2,……,i_t,……, i1,i2,……,it,……,状态空间为 Q = { q 1 , q 2 , … … , q N } Q=\{q_1,q_2,……,q_N\} Q={q1,q2,……,qN}。
一个模型
隐马尔可夫模型可描述为
λ
=
(
π
,
A
,
B
)
\lambda=(\pi,A,B)
λ=(π,A,B)
-
其中 π \pi π代表的第一个状态的初始概率密度函数
-
矩阵 A A A为状态转移矩阵,即
A = [ a i j ] , a i j = P ( i t + 1 = q j ∣ i t = q i ) A=[a_{ij}],a_{ij}=P(i_{t+1}=q_j|i_t=q_i) A=[aij],aij=P(it+1=qj∣it=qi)
-
矩阵 B B B为发射矩阵,即
B = [ b i j ] , b i j = P ( o t = v j ∣ i t = q i ) B=[b_{ij}],b_{ij}=P(o_t=v_j|i_t=q_i) B=[bij],bij=P(ot=vj∣it=qi)
两个假设
同时,隐马尔可夫模型具有两个假设,即1、齐次Markov假设。2、观察独立假设
- 齐次Markov假设可以描述为
P ( i i + 1 ∣ i t , i t − 1 , … … , t 1 , o t , o t − 1 , … … , o 1 ) = P ( i t + 1 ∣ i t ) P(i_{i+1}|i_t,i_{t-1},……,t_1,o_t,o_{t-1},……,o_1)=P(i_{t+1}|i_t) P(ii+1∣it,it−1,……,t1,ot,ot−1,……,o1)=P(it+1∣it) - 观测独立假设可以描述为
P ( o t ∣ i t , i t − 1 , … … , i 1 , o t − 1 , … … , o 1 ) = P ( o t ∣ i t ) P(o_{t}|i_{t},i_{t-1},……,i_1,o_{t-1},……,o_1)=P(o_t|i_t) P(ot∣it,it−1,……,i1,ot−1,……,o1)=P(ot∣it)
三个问题
隐马尔可夫模型中有三个问题,1、Evaluation问题。2、Learning问题。3、Decoding问题。
-
Evaluation问题
求解 P ( O ∣ λ ) P(O|\lambda) P(O∣λ),即在已知模型的基础上,求解某一观测变量序列出现的概率。可以通过前向和后向两种算法进行求解。 -
Learning问题
即通过后验概率求解模型参数 λ \lambda λ,可通过EM算法进行求解。 -
Decoding问题
分为滤波和预测两种,可描述为 arg max i P ( I ∣ O ) 。 \argmax_iP(I|O)。 iargmaxP(I∣O)。
如果是预测问题,则为 P ( i t + 1 ∣ o 1 , o 2 , … … , o t ) P(i_{t+1}|o_1,o_2,……,o_t) P(it+1∣o1,o2,……,ot)。
如果是滤波问题,则为 P ( i t ∣ o 1 , o 2 , … … , o t ) 。 P(i_t|o_1,o_2,……,o_t)。 P(it∣o1,o2,……,ot)。