问题1:
给定模型 λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π), 给定观测序列 O = ( o 1 , o 2 , . . . , o T ) O=(o_{1},o_{2}, ..., o_{T}) O=(o1,o2,...,oT)下, 计算该序列出现的概率 P ( O ∣ λ ) P(O|\lambda ) P(O∣λ)
问题2:
给定模型 λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π), 给定观测序列 O = ( o 1 , o 2 , . . . , o T ) O=(o_{1},o_{2}, ..., o_{T}) O=(o1,o2,...,oT)下, 求最有可能的隐藏状态序列 I ∗ = ( i 1 , i 2 , . . . , i T ) I^*=(i_{1}, i_{2}, ..., i_{T}) I∗=(i1,i2,...,iT) , I ∗ = a r g m a x I P ( I ∣ O , λ ) I^*=argmax_{I} P(I|O,\lambda) I∗=argmaxIP(I∣O,λ)
问题3:
给定观测序列 O = ( o 1 , o 2 , . . . , o T ) O=(o_{1},o_{2}, ..., o_{T}) O=(o1,o2,...,oT), 估计模型的参数 λ ∗ \lambda^* λ∗,使得该模型下, 观测序列出现的概率最大 λ ∗ = a r g m a x λ P ( O ∣ λ ) \lambda^*=argmax_{\lambda}P(O|\lambda) λ∗=argmaxλP(O∣λ)
求解问题1
前向算法
前向概率(观测序列为 ( o 1 , o 2 , o 3 , . . . , o t ) (o_{1}, o_{2}, o_{3}, ..., o_{t}) (o1,o2,o3,...,ot), 且在 t t t时刻处于隐藏状态 n n n的概率)
α t ( i ) = P ( o 1 , o 2 , . . . o t , i t = i ∣ λ ) \alpha _{t}(i)=P(o_{1},o_{2}, ...o_{t}, i_{t}=i|\lambda) αt(i)=P(o1,o2,...ot,it=i∣λ)
α t + 1 ( i ) = P ( o 1 , o 2 , . . . , o t + 1 , i t + 1 = i ∣ λ ) = ∑ j = 1 N α t ( j ) a j i b i ( o t + 1 ) \alpha_{t+1}(i)=P(o_{1}, o_{2}, ..., o_{t+1}, i_{t+1}=i|\lambda)=\sum_{j=1}^N\alpha_{t}(j)a_{ji}b_{i}(o_{t+1}) αt+1(i)=P(o1,o2,...,ot+1,it+1=i∣λ)=∑j=1Nαt(j)ajibi(ot+1)
P ( O ∣ λ ) = ∑ i = 1 N α T ( i ) P(O|\lambda)=\sum_{i=1}^N\alpha_{T}(i) P(O∣λ)=∑i=1NαT(i)
后向算法
后向概率(在 t t t时刻隐状态为 i i i的条件下, 观测序列为 ( o t + 1 , o t + 2 , . . . , o T ) (o_{t+1}, o_{t+2}, ..., o_{T}) (ot+1,ot+2,...,oT)的概率)
β t ( i ) = P ( o t + 1 , o t + 2 , . . . , o T ∣ i t = i , λ ) \beta_{t}(i)=P(o_{t+1}, o_{t+2}, ..., o_{T}|i_{t}=i, \lambda) βt(i)=P(ot+1,o