fromzhihuHMM

机器学习-隐马尔科夫模型

机器学习-隐马尔科夫模型

隐马尔科夫模型

1 基本概念

状态序列(state sequence):隐藏的马尔可夫随机链生成的状态序列,不可观测

观测序列(observation sequence):每个状态生成一个观测,由此产生观测的随机序列

隐马尔科夫模型的三要素:

  1. 状态转移概率矩阵:[公式][公式]为所有可能的状态数
  2. 观测概率矩阵:[公式][公式]为所有的观测的集合
  3. 初始状态概率向量:[公式],其中,[公式]

隐马尔可夫模型的表示:[公式]

隐马尔科夫模型的两个基本假设:

  1. 齐次马尔可夫假设:[公式]
    假设隐藏的马尔可夫链在任意时刻[公式]的状态[公式]
    只依赖于其前一时刻的状态[公式]
    与其他时刻的状态 [公式]
    及观测无关 [公式]
    也与时刻[公式]无关 [公式]

  2. 观测独立性假设:[公式]
    假设任意时刻[公式]的观测[公式]
    只依赖于该时刻的马尔可夫链的状态 [公式]
    与其他观测 [公式]
    及状态无关 [公式]

隐马尔科夫模型的三个基本问题:

  1. 概率计算问题:在模型[公式]下观测序列[公式]出现的概率[公式]
    输入:模型[公式],观测序列[公式] 输出:[公式]
  2. 学习问题:已知观测序列[公式],估计模型[公式]的参数,使观测序列概率[公式]最大,用极大似然法估计
    输入:观测序列 [公式] 输出:输出[公式]
  3. 预测问题,也称为解码问题(Decoding)
    输入:模型[公式],观测序列[公式] 输出:状态序列 [公式]

标注问题,给定观测的序列预测对应的标记序列。状态对应着标记。

2 概率计算问题

2.1 直接计算法

列举所有的可能状态序列[公式],长度为[公式]

计算:[公式]

计算量:[公式]阶的,故不可行

2.2 前向算法

前向概率:给定马尔可夫模型[公式],定义到时刻[公式]部分观测序列为[公式],且状态[公式]的概率

记作:[公式]

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

输入:[公式]
输出:[公式]
  1. 初值:[公式],式中观测值为[公式][公式]的含义是对应状态[公式]
  2. 递推:[公式]
    式中,[公式][公式]时刻所处的状态,[公式][公式]时刻所处的状态,从中可以看出[公式]的含义
    转移矩阵[公式]维度[公式], 观测矩阵[公式]维度[公式],具体的观测值[公式]可以表示成one-hot形式,维度[公式]
    所以[公式]的维度:[公式]
  3. 终止:[公式]

计算量:[公式]阶的,故可行

前向算法高效的关键:局部计算前向概率,然后利用路径结构将前向的概率“递推”到全局,得到[公式],每一次计算直接引用前一时刻的计算结果,避免重复计算

2.3 后向算法

后向概率:给定马尔可夫模型[公式],定义到时刻[公式]状态为[公式]的条件下,从[公式][公式]的部分观测序列为[公式]的概率

记作:[公式]

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

输入: [公式] 输出:[公式]
  1. 终值:[公式],在[公式]时刻, 观测序列已经确定
  2. 从后往前递推:[公式]
    [公式]
    计算[公式]:到时刻[公式]状态为[公式]的条件下,从[公式]之后的观测序列为[公式]的后向概率,需要考虑三项:
    1. [公式]:在时刻[公式]所有可能的[公式]个状态[公式]的转移概率
    2. [公式]:在此状态下的观测[公式]的观测概率
    3. [公式]:考虑状态[公式]之后的观测序列的后向概率
  3. [公式]

2.4 概率与期望

  1. 输入模型[公式]与观测[公式],输出在时刻[公式]处于状态[公式]的概率:[公式]
  2. 输入模型[公式]与观测[公式],输出在时刻[公式]处于状态[公式]且在时刻[公式]处于状态[公式]的概率:[公式]
  3. 在观测[公式]下状态[公式]出现的期望值:[公式]
  4. 在观测[公式]下状态[公式]转移的期望值:[公式]
  5. 在观测[公式]下状态[公式]转移到状态[公式]的期望值:[公式]

3 学习问题

3.1 监督学习算法

提供训练数据包括观测序列和对应的状态序列,利用极大似然估计法来估计隐马尔可夫模型的参数

人工标注训练数据成本很高

3.2 Baum-Welch算法

Baum-Welch算法是EM算法在隐马尔可夫模型学习中的具体实现,由Baum和Welch提出

马尔可夫模型实际上是一个含有隐变量的概率模型:[公式]

Baum-Welch算法:

输入: 观测数据[公式]
输出: 隐马尔可夫模型参数
  1. 初始化:对[公式],选取[公式],得到模型参数[公式]
  2. 递推:对[公式]

[公式] [公式] [公式]

3. 终止:得到模型参数[公式]

4 预测算法

4.1 近似算法

每个时刻最有可能的状态[公式]是:[公式]

得到序列[公式],作为预测的结果

特点:计算简单,不能保证预测的状态序列整体是最有可能的状态序列,有可能存在转移概率为0的相邻状态

即对某些[公式]

4.2 维特比算法

维特比算法:使用动态规划解隐马尔科夫模型,求概率最大路径,这条路径对应一个状态序列

输入: 模型[公式]和观测[公式]
输出: 最优路径[公式]
  1. 初始化 [公式] [公式]
  2. 递推 [公式] [公式] [公式]
  3. 终止 [公式] [公式]
  4. 最优路径回溯 [公式] [公式]

未完,待续。

参考

  1. 李航-统计学习方法
  2. 李航-统计学习方法笔记:
原文地址:https://www.cnblogs.com/skydaddy/p/12174628.html