一、隐马尔可夫模型HMM

  1. 隐马尔可夫模型(Hidden Markov model,HMM)是可用于序列标注问题的统计学模型,描述了由隐马尔可夫链随机生成观察序列的过程,属于生成模型。

  2. 隐马尔可夫模型:隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观察而产生观察随机序列的过程。

    • 隐藏的马尔可夫链随机生成的状态的序列称作状态序列。
    • 每个状态生成一个观测,而由此产生的观测的随机序列称作观测序列。
    • 序列的每一个位置又可以看作是一个时刻。

1.1 基本概念

  1. 一、隐马尔可夫模型HMM - 图1 是所有可能的状态的集合, 一、隐马尔可夫模型HMM - 图2 是所有可能的观测的集合,其中 一、隐马尔可夫模型HMM - 图3 是可能的状态数量,一、隐马尔可夫模型HMM - 图4 是可能的观测数量。

    • 一、隐马尔可夫模型HMM - 图5 是状态的取值空间,一、隐马尔可夫模型HMM - 图6 是观测的取值空间 。
    • 每个观测值 一、隐马尔可夫模型HMM - 图7 可能是标量,也可能是一组标量构成的集合,因此这里用加粗的黑体表示。状态值的表示也类似。
  2. 一、隐马尔可夫模型HMM - 图8 是长度为 一、隐马尔可夫模型HMM - 图9 的状态序列, 一、隐马尔可夫模型HMM - 图10 是对应的观测序列。

    • 一、隐马尔可夫模型HMM - 图11 是一个随机变量,代表状态 一、隐马尔可夫模型HMM - 图12
    • 一、隐马尔可夫模型HMM - 图13 是一个随机变量,代表观测 一、隐马尔可夫模型HMM - 图14
  3. 一、隐马尔可夫模型HMM - 图15 为状态转移概率矩阵

    一、隐马尔可夫模型HMM - 图16

    其中 一、隐马尔可夫模型HMM - 图17,表示在时刻 一、隐马尔可夫模型HMM - 图18 处于状态 一、隐马尔可夫模型HMM - 图19 的条件下,在时刻 一、隐马尔可夫模型HMM - 图20 时刻转移到状态 一、隐马尔可夫模型HMM - 图21 的概率。

  4. 一、隐马尔可夫模型HMM - 图22 为观测概率矩阵

    一、隐马尔可夫模型HMM - 图23

    其中 一、隐马尔可夫模型HMM - 图24,表示在时刻 一、隐马尔可夫模型HMM - 图25 处于状态 一、隐马尔可夫模型HMM - 图26 的条件下生成观测 一、隐马尔可夫模型HMM - 图27 的概率。

  5. 一、隐马尔可夫模型HMM - 图28 是初始状态概率向量:一、隐马尔可夫模型HMM - 图29 是时刻 一、隐马尔可夫模型HMM - 图30 时处于状态 一、隐马尔可夫模型HMM - 图31 的概率。

    根据定义有: 一、隐马尔可夫模型HMM - 图32

  6. 隐马尔可夫模型由初始状态概率向量 一、隐马尔可夫模型HMM - 图33、状态转移概率矩阵 一、隐马尔可夫模型HMM - 图34 以及观测概率矩阵 一、隐马尔可夫模型HMM - 图35 决定。因此隐马尔可夫模型一、隐马尔可夫模型HMM - 图36 可以用三元符号表示,即 :一、隐马尔可夫模型HMM - 图37 。其中 一、隐马尔可夫模型HMM - 图38 称为隐马尔可夫模型的三要素:

    • 状态转移概率矩阵 一、隐马尔可夫模型HMM - 图39 和初始状态概率向量 一、隐马尔可夫模型HMM - 图40 确定了隐藏的马尔可夫链,生成不可观测的状态序列。
    • 观测概率矩阵 一、隐马尔可夫模型HMM - 图41 确定了如何从状态生成观测,与状态序列一起确定了如何产生观测序列。
  7. 从定义可知,隐马尔可夫模型做了两个基本假设:

    • 齐次性假设:即假设隐藏的马尔可夫链在任意时刻 一、隐马尔可夫模型HMM - 图42 的状态只依赖于它在前一时刻的状态,与其他时刻的状态和观测无关,也与时刻 一、隐马尔可夫模型HMM - 图43 无关,即:

      一、隐马尔可夫模型HMM - 图44

    • 观测独立性假设,即假设任意时刻的观测值只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关,即:

      一、隐马尔可夫模型HMM - 图45

      .

1.2 生成算法

  1. 隐马尔可夫模型可以用于标注问题:给定观测的序列,预测其对应的状态序列。 如:词性标注问题中,状态就是单词的词性,观测就是具体的单词。在这个问题中:

    • 状态序列:词性序列 。

    • 观察序列:单词序列 。

    • 生成方式:

      • 给定初始状态概率向量 一、隐马尔可夫模型HMM - 图46 ,随机生成第一个词性。
      • 根据前一个词性,利用状态转移概率矩阵 一、隐马尔可夫模型HMM - 图47 随机生成下一个词性。
      • 一旦生成词性序列,则根据每个词性,利用观测概率矩阵 一、隐马尔可夫模型HMM - 图48 生成对应位置的观察,得到观察序列。
  2. 一个长度为 一、隐马尔可夫模型HMM - 图49 的观测序列的 HMM 生成算法:

    • 输入:

      • 隐马尔可夫模型 一、隐马尔可夫模型HMM - 图50
      • 观测序列长度 一、隐马尔可夫模型HMM - 图51
    • 输出:观测序列 一、隐马尔可夫模型HMM - 图52

    • 算法步骤:

      • 按照初始状态分布 一、隐马尔可夫模型HMM - 图53 产生状态 一、隐马尔可夫模型HMM - 图54

      • 一、隐马尔可夫模型HMM - 图55 ,开始迭代。迭代条件为: 一、隐马尔可夫模型HMM - 图56 。迭代步骤为:

        • 按照状态 一、隐马尔可夫模型HMM - 图57 的观测概率分布 一、隐马尔可夫模型HMM - 图58 生成 一、隐马尔可夫模型HMM - 图59一、隐马尔可夫模型HMM - 图60
        • 按照状态 一、隐马尔可夫模型HMM - 图61 的状态转移概率分布 一、隐马尔可夫模型HMM - 图62 产生状态 一、隐马尔可夫模型HMM - 图63
        • 一、隐马尔可夫模型HMM - 图64