• 概率计算问题:给定模型 和观测序列 二、 HMM 基本问题 - 图1,计算观测序列 出现的概率 二、 HMM 基本问题 - 图2 。即:评估模型 与观察序列 二、 HMM 基本问题 - 图3 之间的匹配程度。

      • 学习问题:已知观测序列 ,估计模型 二、 HMM 基本问题 - 图4 的参数,使得在该模型下观测序列概率 最大。即:用极大似然估计的方法估计参数。

      • 预测问题(也称为解码问题):已知模型 二、 HMM 基本问题 - 图5 和观测序列 , 求对给定观测序列的条件概率 二、 HMM 基本问题 - 图6 最大的状态序列 。即:给定观测序列,求最可能的对应的状态序列 。

        如:在语音识别任务中,观测值为语音信号,隐藏状态为文字。解码问题的目标就是:根据观测的语音信号来推断最有可能的文字序列。

    1. 给定隐马尔可夫模型 二、 HMM 基本问题 - 图7 和观测序列 ,概率计算问题需要计算在模型 二、 HMM 基本问题 - 图8 下观测序列 出现的概率 二、 HMM 基本问题 - 图9

    2. 最直接的方法是按照概率公式直接计算:通过列举所有可能的、长度为 的状态序列 二、 HMM 基本问题 - 图10,求各个状态序列 与观测序列 二、 HMM 基本问题 - 图11 的联合概率 ,然后对所有可能的状态序列求和,得到 二、 HMM 基本问题 - 图12

      • 状态序列 的概率为:

        二、 HMM 基本问题 - 图13

      • 给定状态序列 ,观测序列 二、 HMM 基本问题 - 图14 的条件概率为:

      • 二、 HMM 基本问题 - 图15 和 同时出现的联合概率为:

        二、 HMM 基本问题 - 图16

      • 对所有可能的状态序列 求和,得到观测序列 二、 HMM 基本问题 - 图17 的概率:

      • 上式的算法复杂度为 二、 HMM 基本问题 - 图18,太复杂,实际应用中不太可行。

    2.1.1 前向算法

    1. 给定隐马尔可夫模型 ,定义前向概率:在时刻 二、 HMM 基本问题 - 图19 时的观测序列为 , 且时刻 二、 HMM 基本问题 - 图20 时状态为 的概率为前向概率,记作:二、 HMM 基本问题 - 图21

    2. 根据定义, 是在时刻 二、 HMM 基本问题 - 图22 时观测到 ,且在时刻 二、 HMM 基本问题 - 图23 处于状态 的前向概率。则有:

      • 二、 HMM 基本问题 - 图24 :为在时刻 时观测到 二、 HMM 基本问题 - 图25 ,且在时刻 处于状态 二、 HMM 基本问题 - 图26 ,且在 时刻处在状态 二、 HMM 基本问题 - 图27 的概率。

      • :为在时刻 二、 HMM 基本问题 - 图28 观测序列为 ,并且在时刻 二、 HMM 基本问题 - 图29 时刻处于状态 的概率。

      • 考虑 二、 HMM 基本问题 - 图30,则得到前向概率的地推公式:

        二、 HMM 基本问题 - 图31

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

      • 输入:

        • 隐马尔可夫模型
        • 观测序列 二、 HMM 基本问题 - 图32
      • 输出: 观测序列概率

      • 算法步骤:

        • 计算初值: 二、 HMM 基本问题 - 图33

          该初值是初始时刻的状态 和观测 二、 HMM 基本问题 - 图34 的联合概率。

        • 递推:对于 :

          二、 HMM 基本问题 - 图35

        • 终止: 。

          因为 二、 HMM 基本问题 - 图36 表示在时刻 ,观测序列为 二、 HMM 基本问题 - 图37,且状态为 的概率。对所有可能的 二、 HMM 基本问题 - 图38 个状态 求和则得到 二、 HMM 基本问题 - 图39

    4. 前向算法是基于 递推计算 。

      • 其高效的关键是局部计算前向概率,然后利用路径结构将前向概率“递推”到全局。
      • 算法复杂度为 二、 HMM 基本问题 - 图40

    2.1.2 后向算法

    1. 给定隐马尔可夫模型 ,定义后向概率:在时刻 二、 HMM 基本问题 - 图41 的状态为 的条件下,从时刻 二、 HMM 基本问题 - 图42 到 的观测序列为 二、 HMM 基本问题 - 图43 的概率为后向概率,记作: 。

    2. 在时刻 二、 HMM 基本问题 - 图44 状态为 的条件下,从时刻 二、 HMM 基本问题 - 图45 到 的观测序列为 二、 HMM 基本问题 - 图46 的概率可以这样计算:

      • 考虑 时刻状态 二、 HMM 基本问题 - 图47 经过 转移到 二、 HMM 基本问题 - 图48 时刻的状态 。

        • 二、 HMM 基本问题 - 图49 时刻状态为 的条件下,从时刻 二、 HMM 基本问题 - 图50 到 的观测序列为观测序列为 二、 HMM 基本问题 - 图51 的概率为 。
      • 考虑所有可能的 二、 HMM 基本问题 - 图52,则得到 的递推公式:

        二、 HMM 基本问题 - 图53

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

      • 输入:

        • 隐马尔可夫模型 二、 HMM 基本问题 - 图54
        • 观测序列
      • 输出: 观测序列概率 二、 HMM 基本问题 - 图55

      • 算法步骤:

        • 计算初值:

          对最终时刻的所有状态 二、 HMM 基本问题 - 图56 ,规定 。

        • 递推:对 二、 HMM 基本问题 - 图57:

        • 终止: 二、 HMM 基本问题 - 图58

          为在时刻 1, 状态为 二、 HMM 基本问题 - 图59 的条件下,从时刻 2 到 的观测序列为 二、 HMM 基本问题 - 图60 的概率。对所有的可能初始状态 (由 二、 HMM 基本问题 - 图61 提供其概率)求和并考虑 即可得到观测序列为 二、 HMM 基本问题 - 图62 的概率。

    2.1.3 统一形式

    1. 利用前向概率和后向概率的定义,可以将观测序列概率统一为:

      • 二、 HMM 基本问题 - 图63 时,就是后向概率算法;当 时,就是前向概率算法。

      • 其意义为:在时刻 二、 HMM 基本问题 - 图64

        • 表示:已知时刻 二、 HMM 基本问题 - 图65 时的观测序列为 、 且时刻 二、 HMM 基本问题 - 图66 时状态为 的概率。
        • 二、 HMM 基本问题 - 图67 表示:已知时刻 时的观测序列为 二、 HMM 基本问题 - 图68 、 且时刻 时状态为 二、 HMM 基本问题 - 图69、且 时刻状态为 二、 HMM 基本问题 - 图70 的概率。
        • 表示: 已知时刻 二、 HMM 基本问题 - 图71 时的观测序列为 、 且时刻 二、 HMM 基本问题 - 图72 时状态为 、且 二、 HMM 基本问题 - 图73 时刻状态为 的概率。
        • 二、 HMM 基本问题 - 图74 表示:已知观测序列为 、 且时刻 二、 HMM 基本问题 - 图75 时状态为 、且 二、 HMM 基本问题 - 图76 时刻状态为 的概率。
        • 对所有可能的状态 二、 HMM 基本问题 - 图77 取值,即得到上式。
    2. 由于 二、 HMM 基本问题 - 图78 的形式不重要,因此有:

    3. 给定模型 二、 HMM 基本问题 - 图79 和观测序列 的条件下,在时刻 二、 HMM 基本问题 - 图80 处于状态 的概率记作: 二、 HMM 基本问题 - 图81

      • 根据定义:

      • 根据前向概率和后向概率的定义,有: 二、 HMM 基本问题 - 图82,则有:

    4. 给定模型 二、 HMM 基本问题 - 图83 和观测序列 ,在时刻 二、 HMM 基本问题 - 图84 处于状态 且在 二、 HMM 基本问题 - 图85 时刻处于状态 的概率记作: 二、 HMM 基本问题 - 图86

      • 根据

      • 考虑到前向概率和后向概率的定义有: 二、 HMM 基本问题 - 图87,因此有:

    5. 一些期望值:

      • 在给定观测 二、 HMM 基本问题 - 图88 的条件下,状态 出现的期望值为: 二、 HMM 基本问题 - 图89

      • 在给定观测 的条件下,从状态 二、 HMM 基本问题 - 图90 转移的期望值: 。

        • 这里的转移,表示状态 二、 HMM 基本问题 - 图91 可能转移到任何可能的状态。
        • 假若在时刻 的状态为 二、 HMM 基本问题 - 图92,则此时不可能再转移,因为时间最大为 。
      • 在观测 二、 HMM 基本问题 - 图93 的条件下,由状态 转移到状态 二、 HMM 基本问题 - 图94 的期望值: 。
    1. 根据训练数据的不同,隐马尔可夫模型的学习方法也不同:

      • 训练数据包括观测序列和对应的状态序列:通过监督学习来学习隐马尔可夫模型。
      • 训练数据仅包括观测序列:通过非监督学习来学习隐马尔可夫模型。

    2.2.1 监督学习

    1. 假设数据集为 二、 HMM 基本问题 - 图95 。其中:

      • 二、 HMM 基本问题 - 图96 个观测序列; 为对应的 二、 HMM 基本问题 - 图97 个状态序列。
      • 序列 ,二、 HMM 基本问题 - 图98 的长度为 ,其中数据集中 二、 HMM 基本问题 - 图99 之间的序列长度可以不同。
    2. 可以利用极大似然估计来估计隐马尔可夫模型的参数。

      • 转移概率 的估计:设样本中前一时刻处于状态 二、 HMM 基本问题 - 图100 、且后一时刻处于状态 的频数为 二、 HMM 基本问题 - 图101 ,则状态转移概率 的估计是:

        二、 HMM 基本问题 - 图102

      • 观测概率 的估计:设样本中状态为 二、 HMM 基本问题 - 图103 并且观测为 的频数为 二、 HMM 基本问题 - 图104,则状态为 并且观测为 二、 HMM 基本问题 - 图105 的概率 的估计为:

        二、 HMM 基本问题 - 图106

      • 初始状态概率的估计:设样本中初始时刻(即: )处于状态 二、 HMM 基本问题 - 图107 的频数为 ,则初始状态概率 二、 HMM 基本问题 - 图108 的估计为: 。

    2.2.2 无监督学习

    1. 监督学习需要使用人工标注的训练数据。由于人工标注往往代价很高,所以经常会利用无监督学习的方法。

      隐马尔可夫模型的无监督学习通常使用 Baum-Welch 算法求解。

    2. 将观测序列数据看作观测变量 二、 HMM 基本问题 - 图109 , 状态序列数据看作不可观测的隐变量 ,则隐马尔可夫模型事实上是一个含有隐变量的概率模型: 二、 HMM 基本问题 - 图110。其参数学习可以由 EM 算法实现。

      • 步:求 Q 函数(其中 是参数的当前估计值)

        二、 HMM 基本问题 - 图111

        将 代入上式,有:

        二、 HMM 基本问题 - 图112

        • 在给定参数 时, 二、 HMM 基本问题 - 图113 是已知的常数,记做 。
        • 在给定参数 二、 HMM 基本问题 - 图114 时, 是 二、 HMM 基本问题 - 图115 的函数,记做 。

        根据 二、 HMM 基本问题 - 图116 得到:

        其中:二、 HMM 基本问题 - 图117 表示第 个序列的长度, 二、 HMM 基本问题 - 图118 表示第 个观测序列的第 二、 HMM 基本问题 - 图119 个位置。

      • M 步:求 函数的极大值:

        极大化参数在 Q 函数中单独的出现在3个项中,所以只需要对各项分别极大化。

        • 二、 HMM 基本问题 - 图120

          二、 HMM 基本问题 - 图121 代入,有:

          二、 HMM 基本问题 - 图122 代入,即有:

          考虑到 二、 HMM 基本问题 - 图123,以及 , 则有:

          二、 HMM 基本问题 - 图124

          其物理意义为:统计在给定参数 ,已知 二、 HMM 基本问题 - 图125 的条件下, 的出现的频率。它就是 二、 HMM 基本问题 - 图126 的后验概率的估计值。

        • :同样的处理有:

          二、 HMM 基本问题 - 图127

          得到:

          考虑到 二、 HMM 基本问题 - 图128,则有:

        • 二、 HMM 基本问题 - 图129 :同样的处理有:

          得到:

          二、 HMM 基本问题 - 图130

          其中如果第 个序列 二、 HMM 基本问题 - 图131 的第 个位置 二、 HMM 基本问题 - 图132 ,则 。

          考虑到 二、 HMM 基本问题 - 图133 ,则有:

          其物理意义为:统计在给定参数 二、 HMM 基本问题 - 图134 ,已知 的条件下,统计当 二、 HMM 基本问题 - 图135 的情况下 的出现的频率。它就是 二、 HMM 基本问题 - 图136 的后验概率的估计值。

    3. 令,其物理意义为:在序列 二、 HMM 基本问题 - 图137 中,第 时刻的隐状态为 二、 HMM 基本问题 - 图138 的后验概率。

      令 ,其物理意义为:在序列 二、 HMM 基本问题 - 图139 中,第 时刻的隐状态为 二、 HMM 基本问题 - 图140 、且第 时刻的隐状态为 二、 HMM 基本问题 - 图141 的后验概率。

      M 步的估计值改写为:

      其中 二、 HMM 基本问题 - 图142 为示性函数,其意义为:当 的第 二、 HMM 基本问题 - 图143 时刻为 时,取值为 1;否则取值为 0 。

    4. 算法:

      • 输入:观测数据 二、 HMM 基本问题 - 图144

      • 输出:隐马尔可夫模型参数

      • 算法步骤:

        • 初始化:,选取 二、 HMM 基本问题 - 图145,得到模型

        • 迭代,迭代停止条件为:模型参数收敛。迭代过程为:

          • 求使得 Q 函数取极大值的参数:

            二、 HMM 基本问题 - 图146

          • 判断模型是否收敛。如果不收敛,则 ,继续迭代。
        • 最终得到模型 二、 HMM 基本问题 - 图147

    2.3.1 近似算法

    1. 近似算法思想:在每个时刻 选择在该时刻最有可能出现的状态 二、 HMM 基本问题 - 图148,从而得到一个状态序列 ,然后将它作为预测的结果。

    2. 近似算法:给定隐马尔可夫模型 二、 HMM 基本问题 - 图149,观测序列 ,在时刻 二、 HMM 基本问题 - 图150 它处于状态 的概率为:

      二、 HMM 基本问题 - 图151

      在时刻 最可能的状态: 二、 HMM 基本问题 - 图152

    3. 近似算法的优点是:计算简单。

      近似算法的缺点是:不能保证预测的状态序列整体是最有可能的状态序列,因为预测的状态序列可能有实际上不发生的部分。

      • 近似算法是局部最优(每个点最优),但是不是整体最优的。
      • 近似算法无法处理这种情况: 转移概率为 0 。因为近似算法没有考虑到状态之间的迁移。

    2.3.2 维特比算法

    1. 维特比算法用动态规划来求解隐马尔可夫模型预测问题。

      它用动态规划求解概率最大路径(最优路径),这时一条路径对应着一个状态序列。

    2. 维特比算法思想:

      • 根据动态规划原理,最优路径具有这样的特性:如果最优路径在时刻 通过结点 二、 HMM 基本问题 - 图153, 则这一路径从结点 到终点 二、 HMM 基本问题 - 图154 的部分路径,对于从 到 二、 HMM 基本问题 - 图155 的所有可能路径来说,也必须是最优的。

      • 只需要从时刻 二、 HMM 基本问题 - 图156 开始,递推地计算从时刻 1 到时刻 且时刻 二、 HMM 基本问题 - 图157 状态为 的各条部分路径的最大概率(以及取最大概率的状态)。于是在时刻 二、 HMM 基本问题 - 图158 的最大概率即为最优路径的概率 ,最优路径的终结点 二、 HMM 基本问题 - 图159 也同时得到。

      • 之后为了找出最优路径的各个结点,从终结点 开始,由后向前逐步求得结点 二、 HMM 基本问题 - 图160,得到最优路径 。

    3. 定义在时刻 二、 HMM 基本问题 - 图161 状态为 的所有单个路径 二、 HMM 基本问题 - 图162 中概率最大值为:

      则根据定义,得到变量 二、 HMM 基本问题 - 图163的递推公式:

    4. 定义在时刻 二、 HMM 基本问题 - 图164 状态为 的所有单个路径中概率最大的路径的第 二、 HMM 基本问题 - 图165 个结点为:

      它就是最优路径中,最后一个结点(其实就是时刻 二、 HMM 基本问题 - 图166 的 结点) 的前一个结点。

      dynamic_wtb

    5. 维特比算法:

      • 输入:

        • 隐马尔可夫模型
        • 观测序列 二、 HMM 基本问题 - 图168
      • 输出:最优路径

      • 算法步骤:

        • 初始化:因为第一个结点的之前没有结点 ,所以有:

          二、 HMM 基本问题 - 图169

        • 递推:对

          二、 HMM 基本问题 - 图170

        • 终止: 。