HMM(隐马尔可夫模型入门)

一、基本概念

  • 隐马尔可夫模型

    • 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐藏的状态序列叫状态序列,每一个状态生成一个观测,由此生成的观测的随机序列叫观测序列。注意:这和分类有区别,这个一个序列。即P(Y|X)中X和Y都是序列。。
  • 一些参数

    • 隐马尔可夫模型由初始概率分布状态转移概率分布观测概率分布确定。
    • 设Q是所有可能的状态集合,V是所有可能的观测的集合。
      • Q=q1,q2,....,qNV=v1,v2,...,vM
    • I是长度为T的状态序列, O是对应的观测序列。
      • I=i1,i2,..,iTO=o1,o2,...,oT
    • A是状态转移概率矩阵
      • A=[aij]N×N 其中 aij=P(it+1=qj|it=qi)
    • B是观测概率矩阵
      • B=[bj(k)]N×M 其中 bj(k)=P(Ot=vk|it=qj)
    • π 是初始状态,其中 πi=P(i1=qi)
      综上,马尔科夫模型的参数组成 λ
      • λ=(ABπ)
    • 隐马尔可夫模型的2个假设

      • 齐次马尔科夫假设。即当前状态只与前N的状态有关。N = 1便是一阶马尔科夫模型
      • 观测独立性假设,即任意时刻观测的观测只依赖于该时刻的马尔科夫状态,与其它状态无关。
        • P(ot|iT,ot,iT1,ot1,...,i1,o1)=p(ot|it)
        • -
    • 隐马尔可夫模型的3个问题(最重要)
      • 概率计算问题,即求概率 P(O|λ)
      • 参数学习问题(训练过程),即求的模型参数λ使得在该模型下的观测序列(整个语料)的概率 P(O|λ) 最大。一般最大似然求解(最大似然就是生成序列的概率)
      • 预测问题(解码),即已知模型参数λ和给定的观测序列 O=o1,...,oT ,求出条件概率 P(I|O) 最大的状态序列 I=(i1,..,it) 。即最好的状态序列。。。。
    • 接下来就讲解怎么求概率?怎么训练参数?怎么解码?
      • 首先是怎么求概率 P(O|λ) ?最直接的方法大家应该能想到,方法如下
        • 因为之前已经定义的隐马尔科夫模型的2个假设如上。所以当给定状态序列 I=(i1,..,it) 时,求其发生的概率 P(I|λ)=πi1ai1i2ai2i3...ait1it
          • 对于给定状态序列 I=(i1,..,it) ,求观测序列 O=o1,...,oT 的概率P(O|I,λ), P(O|I,λ)=bi1(o1)bi2(o2)...biT(oT) 。因为之前已经说过,当前观测只与当前时刻的隐状态有关,所以与其它观测两两独立,即可连乘。
          • 最终可以求得P(O|λ)= IP(O|I,λ)P(I|λ) 。I是所有可能的状态序列。比如说一共有N个状态,序列长度为T,则一共有 NT 个序列,时间复杂度为 O(TNT)
      • 上述直接计算方法显然台low了。我们可以想到,其实有好多序列的子序列都重复计算了,比如序列L1和L2, L1 i1,i2,...,iT1,iT ,L2的前T-1个状态与L1一样,那么就不需要计算了,拿个东西保存一下即可。这便引入前向后向算法(很简单的动态规划算法)。
        • 前向算法。
        • 后向算法
          下一讲接续介绍!!!!!!
        • -
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值