1. 隐马尔可夫模型的应用场景

隐马尔可夫模型(hidden Markov model, HMM)是可用于标记问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型.HMM在语音识别、自然语言处理、生物信息、模式识别等领域具有广泛的应用.

2. 隐马尔可夫模型的基本概念

2.1 隐马尔可夫模型的定义
2.1.1 定义

隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可预测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程.
状态序列: 隐藏的马尔可夫链随机生成的状态的序列.
观测序列: 每个状态生成一个观测,而由此产生的观测的随机序列.
序列的每一个位置又可以看作是一个时刻.
在这里插入图片描述
在这里插入图片描述
注:

  1. 状态转移概率矩阵A与初始状态概率向量π确定了隐藏的马尔可夫链,生成不可预测的状态序列.
  2. 观测概率矩阵B确定了如何从状态生成规则,与状态序列综合确定了如何产生观测序列.
2.1.2 隐马尔可夫模型从定义可知的基本假设
  1. 齐次马尔可夫假设.及假设隐藏的马尔可夫链在任意时刻t的状态只依赖于其前一时刻的状态,与其它时刻的状态及观测无关,也与时刻t无关.
    在这里插入图片描述
  2. 观测独立性假设. 即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其它观测机状态无关.
    在这里插入图片描述
    注: 隐马尔可夫模型可用于标注,这时状态对应着标记.标注问题是给定观测的序列预测其对应的标记序列.可以假设标注问题的数据是由隐马尔可夫模型生成的.这样则可以利用隐马尔可夫模型的学习与预测算法进行标注.
2.1.3 隐马尔可夫模型的例子

在这里插入图片描述
在这里插入图片描述

2.1.4 观测序列的生成过程

在这里插入图片描述

2.1.5 隐马尔可夫模型的三个基本问题

在这里插入图片描述

3. 概率计算问题

3.1 直接计算法(概率上可行,计算不可行)

在这里插入图片描述

3.2 前向算法
3.2.1 前向算法定义

在这里插入图片描述

3.2.2 观测序列概率的前向算法

输入: 隐马尔可夫模型λ(A,B,π),观测序列O
输出: 观测序列概率P(O|λ)
在这里插入图片描述
前向算法博客(根据实例理解容易很多)

3.2.3 前向算法实例

在这里插入图片描述
在这里插入图片描述

3.3 后向算法
3.3.1 后向算法定义

在这里插入图片描述

3.3.2 观测序列概率的后向算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 一些概率与期望值的计算

在这里插入图片描述
在这里插入图片描述

4. 学习算法

隐马尔可夫模型的学习根据训练数据是包括观测序列和对应的状态序列还是只有观测序列,可以分别由监督学习和非监督学习实现.

4.1 监督学习

在这里插入图片描述
在这里插入图片描述
注: 由于监督学习需要使用训练数据,而人工标注训练数据的代价往往很高,有时就会使用非监督学习的方法.

4.2 非监督学习Baum-Welch算法(EM算法)

注: 下面的推导结果公式虽然经过严格的推导,但感觉是显然可得的.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 Baum-Welch模型参数估计公式

在这里插入图片描述
注:
ξt(i,j): 给定模型λ和观测O,在时刻t处于状态qt且在时刻t+1处于状态qjd的概率.即:
在这里插入图片描述
γt(j): 给定模型λ和观测O,在时刻t处于状态qt的概率,即:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 预测算法

5.1 近似算法

思想: 在每个时刻t选择在该时刻最有可能出现的状态it* ,从而得到一个状态序列I* = (i1* ,i2* ,…, iT),将它作为预测的结果.
在这里插入图片描述
注:αt(i)表示前向概率, Βt(j)表示后向概率
在这里插入图片描述
注: 因为该算法是计算每一时刻最有可能的状态it
* ,将所有时刻最有可能的状态组合到一块组成状态序列. 这整个状态序列很有可能是不存在的.

5.2 维特比算法
5.2.1 维特比算法思想

使用动态规划解隐马尔可夫模型预测问题,即用动态规划求概率最大路径(最优路径),这时一条路径对应着一个状态序列.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注: ψt(i)公式中没有乘以bi(ot+1)的原因:
该公式的目的是计算求使得时刻t状态为i的路径概率最大的第t-1个节点,不需要知道状态i时对应的观测结果.

5.2.2 维特比算法

在这里插入图片描述
在这里插入图片描述

5.2.3 维特比算法实例

在这里插入图片描述
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐