HMM详解

本文内容主要基于统计学习方法中的内容并加入自己的理解(红字部分为自己的理解)

                                          隐马尔可夫模型详解

  • 应用

隐马尔可夫模型(hidden Markov model,HMM)通常用于序列标注问题,根据给定的观测的序列来预测其对应的标记序列(序列的标记可以看成隐藏节点,序列是可观测节点)

具体应用可看这篇博客讲的比较好: https://www.lookfor404.com/用隐马尔可夫模型hmm做命名实体识别-ner系列二/

  • 假设

大家应该知道任何算法都有其假设,也可以理解其为偏好,例如朴素贝叶斯的独立性假设,这里隐马有以下两个假设:

  1. 齐次马尔可夫假设:即隐藏的马尔可夫链在任意时刻t的状态只依赖于其前一时刻的状态,其实也就是无后效性
  2. 观测独立性假设:假设任意时刻t的观测只依赖于当前时刻的马尔可夫链状态
  • 隐马尔可夫模型的三个基本问题

隐马有三个基本问题: 概率计算问题、学习问题、预测问题

  1. 概率计算问题

给定模型 和观测序列,计算观测序列在给定模型的情况下的概率

概率计算问题可以通过三个方式来实现:直接计算法、前向算法、后向算法

         (1)直接计算法应该是一个穷举法的感觉,遍历所有可能出现的状态序列,将每种状态序列得到观测序列的概率的累加

                     

       (2)前向算法:下面的截图是书中的说法我说一下自己的理解,其实是一个向量,向量的维度上Nx1,N是状态序列可能取               值的范围,可以理解为在t时刻输出序列为,是状态序列为1-N的概率向量,往后迭代的过程也就是下一个转移后且输出为是的概率向量,即可以用公式表示为:

   可以理解为的转置乘以转移矩阵跟向量的点乘

(3)后向算法,跟前向算法原理类似,只是后向考虑是怎么返回到前一个状态

2. 学习算法

隐马的学习问题是根据观测序列来估计参数,可以分别用监督学习和非监督学习来实现

 (1)监督学习

即可以获取观测序列对应的状态序列可以用极大似然估计来估计隐马的参数

 (2)非监督学习

          非监督学习采用的是Baum-Welch算法,其实就是EM算法的一种分为E步和M步,这里先贴上统计学习方法中的内容

相当于通过E步先定一个目标函数Q函数需要优化的是极大化该Q函数,M步通过将Q函数的几个部分分别用拉格朗日函数的偏导为0求出最优参数更新整体参数

 

  1. 预测问题

预测算法采用的是维特比算法(Viterbi algorithm),运用动态规划的思路来求最优的概率最大的状态序列

每一步的状态序列保存前一次状态序列转换到各个状态的最大值,并乘上当前状态转移到观测序列的概率,相当于概率计算的前向算法其实就是的转置点乘转移矩阵中的最大值,并记录最大的位置

 

  •  
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值