NLP实习面试准备-HMM(二)

1. 概率计算问题:给定已知参数的HMM和一个观测序列(即给定 λ \lambda λ O O O),如何计算出由HMM得到此观测序列的概率?
  1. 直接计算:
    由隐马尔科夫模型首先计算(通过初始状态概率向量和状态概率转移矩阵求)得到可以产生的所有状态序列的概率,假设状态空间有 N N N个状态,则长度为 T T T状态序列的种类数为 N T N^T NT
    求得所有状态序列的概率后通过观测概率转移矩阵得到在某一状态序列条件下的到此观测序列的概率。
    对由 N N N^N NN个状态序列计算得到的观测序列概率相加得到最终的观测序列的概率。
    此过程的时间复杂度为 O ( T N T ) O(TN^T) O(TNT)

  2. 前项计算:利用了动态规划的思想减少了直接计算需要重复计算的一些过程。时间复杂度 O ( N 2 T ) O(N^2T) O(N2T)
    前项概率:
    对于隐马尔科夫模型 λ = ( π , A , B ) \lambda=(\pi, A,B) λ=(π,A,B). 定义到第 t t t步时观测序列为 o 1 , o 2 , . . . , o t o_1, o_2, ...,o_t o1,o2,...,ot,并且第t步的状态 i t i_t it q i q_i qi的概率为前项概率,即为 a t ( i ) a_t(i) at(i)
    用公式表示为:
    a t ( i ) = P ( o 1 , o 2 , . . . , o t , i t = q i ∣ λ ) a_t(i)=P(o_1, o_2, ..., o_t, i_t=q_i|\lambda) at(i)=P(o1,o2,...,ot,it=qiλ)
    算法过程:

    1. 计算初值:
      a 1 ( i ) = π i b i ( o 1 ) , i = 1 , . . . , N a_1(i)=\pi_{i}b_i(o_1), i=1, ..., N a1(i)=πibi(o1),i=1,...,N
    2. 通过第 t t t时刻的前项概率可以得到第 t + 1 t+1 t+1时刻的前向概率:
      a t + 1 ( i ) = b i ( o t + 1 ) ∑ j = 1 N a j i a t ( j ) , i = 1 , . . . , N a_{t+1}(i)=b_i(o_{t+1})\sum_{j=1}^{N}a_{ji}a_t(j), i=1,...,N at+1(i)=bi(ot+1)j=1Najiat(j),i=1,...,N
    3. 第T时刻的所有前向概率 a T ( i ) , i = 1 , . . . N a_T(i),i=1,... N aT(i),i=1,...N得到后可以计算得到最终观测序列的概率:
      P ( O ∣ λ ) = ∑ i = 1 N a T ( i ) P(O|\lambda)=\sum_{i=1}^{N}a_T(i) P(Oλ)=i=1NaT(i)
  3. 后向计算:
    后向概率:给定HMM( λ ( π , A , B ) \lambda(\pi, A, B) λ(π,A,B)),在第 t t t步隐状态为 q i q_i qi的条件下,从第 t + 1 t+1 t+1 T T T步的部分观测序列为 o t + 1 , . . . o T o_{t+1}, ... o_T ot+1,...oT的概率:
    B t ( i ) = P ( o t + 1 , o t + 2 , . . . , o T ∣ i t = q i , λ ) , i = 1 , 2 , . . . N B_t(i)=P(o_{t+1}, o_{t+2},...,o_T|i_t=q_i,\lambda), i=1,2,... N Bt(i)=P(ot+1,ot+2,...,oTit=qi,λ),i=1,2,...N
    算法过程:

    1. B t ( i ) = 1 , i = 1 , 2 , . . . , N B_t(i)=1, i=1,2,...,N Bt(i)=1,i=1,2,...,N
    2. t = T − 1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值