fromzhihuHMM

二次信任 提交于 2020-01-10 10:01:44

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

隐马尔科夫模型

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. :考虑状态

      之后的观测序列的后向概率

2.4 概率与期望

  1. 输入模型

    与观测

    ,输出在时刻

    处于状态

    的概率:

  2. 输入模型

    与观测

    ,输出在时刻

    处于状态

    且在时刻

    处于状态

    的概率:

  3. 在观测

    下状态

    出现的期望值:

  4. 在观测

    下状态

    转移的期望值:

  5. 在观测

    下状态

    转移到状态

    的期望值:

3 学习问题

3.1 监督学习算法

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

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

3.2 Baum-Welch算法

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

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

Baum-Welch算法:

输入: 观测数据


输出: 隐马尔可夫模型参数
  1. 初始化:对

    ,选取

    ,得到模型参数

  2. 递推:对

4 预测算法

4.1 近似算法

每个时刻最有可能的状态

是:

得到序列

,作为预测的结果

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

即对某些

4.2 维特比算法

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

输入: 模型

和观测


输出: 最优路径

  1. 初始化

  2. 递推

  3. 终止

  4. 最优路径回溯

未完,待续。

参考

  1. 李航-统计学习方法
  2. 李航-统计学习方法笔记:
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!