隐马尔可夫模型 (Hidden Markov Model,HMM) 是可用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型**。

隐马尔可夫模型的定义

语言定义

隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列再由各个状态生成一个观测从而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列(state sequence );每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observation sequence)。序列的每个位置又可以看作是一个时刻。示意图如下:
image.png
模型由初始概率分布、状态转移概率分布以及观测概率分布确定。

数学定义

  • 隐马尔可夫模型 - 图2是所有可能的状态的集合,隐马尔可夫模型 - 图3是所有可能的观测的集合:
    • 隐马尔可夫模型 - 图4
    • 其中隐马尔可夫模型 - 图5是可能的状态数 隐马尔可夫模型 - 图6是可能的观测数。
  • 隐马尔可夫模型 - 图7是长度为隐马尔可夫模型 - 图8的状态序列,隐马尔可夫模型 - 图9是对应的观测序列:
    • 隐马尔可夫模型 - 图10
  • 隐马尔可夫模型 - 图11是状态转移概率矩阵:
    • 隐马尔可夫模型 - 图12
    • 其中, 隐马尔可夫模型 - 图13是在时刻隐马尔可夫模型 - 图14处于状态隐马尔可夫模型 - 图15的的条件下在时刻 隐马尔可夫模型 - 图16转移到状态隐马尔可夫模型 - 图17的的概率。
  • 隐马尔可夫模型 - 图18是观测概率矩阵:
    • 隐马尔可夫模型 - 图19
    • 其中,隐马尔可夫模型 - 图20是在时刻隐马尔可夫模型 - 图21处于状态隐马尔可夫模型 - 图22的条件下生成观测隐马尔可夫模型 - 图23的概率。
  • 隐马尔可夫模型 - 图24是初始状态概率向:
    • 隐马尔可夫模型 - 图25
    • 其中,隐马尔可夫模型 - 图26是时刻隐马尔可夫模型 - 图27处于状态隐马尔可夫模型 - 图28的概率。

隐马尔可夫模型由初始状态概率向量隐马尔可夫模型 - 图29、状态转移概率矩阵隐马尔可夫模型 - 图30和观测概率矩阵隐马尔可夫模型 - 图31决定。 隐马尔可夫模型 - 图32隐马尔可夫模型 - 图33决定状态序列,隐马尔可夫模型 - 图34决定观测序列。因此,隐马尔可夫模型隐马尔可夫模型 - 图35可以用三元符号表示,即
隐马尔可夫模型 - 图36
隐马尔可夫模型 - 图37称为隐马尔可夫模型的三要素。

两个假设

  • 齐次马尔可夫假设
  • 观测独立假设

    三个问题

  • 概率计算问题

    • 前向后向算法
  • 学习问题
    • 极大似然估计
    • Baum-Welch算法
  • 预测问题(解码问题)
    • 维特比算法


前向算法
设联合概率:
则有:
隐马尔可夫模型 - 图38

隐马尔可夫模型 - 图39

维特比算法

一句话总结:在每一时刻, 计算当前时刻落在每种隐状态的最大概率, 并记录这个最大概率是从前一时刻哪一个隐状态转移过来的, 最后再从结尾回溯最大概率, 也就是最有可能的最优路径。可以回溯的原因是最优路径t时刻经过节点隐马尔可夫模型 - 图40,那么这一路径从结点隐马尔可夫模型 - 图41到终点隐马尔可夫模型 - 图42子的部分路径,对于从隐马尔可夫模型 - 图43隐马尔可夫模型 - 图44的所有可能的部分路径来说,必须是最优的。换句话说:一条最优路径分割成两段,每段都是各自阶段最优的。

参考:
viterbi算法:https://www.zhihu.com/question/20136144