NLP--3--隐马尔可夫模型HMM

  • 说明:这部分是统计自然语言处理中比较重要的部分,目前作为了解,了解其思想,有时间再补充细节。
  • 隐马尔可夫模型(Hidden Markov Model,HMM)
  • 可见状态链
  • 隐含状态链:隐含状态之间存在转换概率(transition probability),马尔科夫状态链指的是隐含状态链。
  • 输出概率(emission probability): 隐含状态和可见状态之间的一个概率。
  • HMM模型主要用来求解三类问题:
    假设隐含状态的个数为N,可见状态链的长度为T。
    • (0) 为其他三个问题铺垫,知道隐含状态数量,转换概率,隐含状态链,根据可见状态链,求解出现这个结果的概率。
      解决方法:直接计算。
    • (1) 预测问题-----知道隐含状态数量,转换概率,根据可见状态链,求解隐含状态链。
      解决方法:
      a. 通过穷举求解最大似然状态路径, O ( N T ) O(N^T) O(NT)
      b. 维特比算法(Viterbi algorithm), O ( N ∗ N ∗ T ) O(N*N*T) O(NNT)
    • (2) 概率计算问题-----知道隐含状态数量,转换概率,根据可见状态链,求解出现这个结果的概率。
      解决方法:
      a. 穷举遍历, O ( N T ) O(N^T) O(NT)
      b. 前向算法(forward algorithm), O ( N ∗ T ) O(N*T) O(NT)
      c. 后向算法(backward algorithm), O ( N ∗ T ) O(N*T) O(NT)
    • (3) 学习问题-----知道隐含状态数量,不知道转换概率,观测到很多可见状态链,想反推出每个转换概率。
      解决方法:鲍姆-韦尔奇算法(Baum-Welch Algo),即EM算法。
  • 形式化定义中的概念
    • 状态序列,即隐含状态序列,设 Q Q Q是所有可能状态的集合 Q = q 1 , q 2 , … , q N Q=q_1,q_2,\dots,q_N Q=q1,q2,,qN I I I是长度为 T T T的状态序列 I = i 1 , i 2 , … , i T I=i_1,i_2,\dots,i_T I=i1,i2,,iT
    • 观测序列,即可见状态序列,设 V V V是所有可能观测的集合 V = v 1 , v 2 , … , v M V=v_1,v_2,\dots,v_M V=v1,v2,,vM O O O I I I对应的观测序列 O = o 1 , o 2 , … , o T O=o_1,o_2,\dots,o_T O=o1,o2,,oT
    • 状态转移矩阵 A = [ a i j ] N × N A=[a_{ij}]_{N\times N} A=[aij]N×N
    • 观测概率矩阵 B = [ b j k ] N × M B=[b_{jk}]_{N\times M} B=[bjk]N×M
    • 初始状态概率向量 π = ( π i ) \pi=(\pi_{i}) π=(πi), π i = P ( i 1 = q i ) \pi_i=P(i_1=q_i) πi=P(i1=qi)
    • 隐马尔可夫模型的三要素 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)

引用
https://www.zhihu.com/question/20962240
https://applenob.github.io/hmm.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值