Hidden Markov Model,隐马尔可夫模型

一种对时间(或状态)序列建模的模型。HMM 依赖于一阶马尔可夫假设。

HMM 假设模型有多个内部状态,各个内部状态会互相转变。每个内部状态会引出一组可观测的状态。人们仅能从可观测状态了解 HMM 的变化。

模型简述

HMM 是一个,从状态看分为两个部分:

  • 所有可能的隐藏状态
  • 所有可能的可见状态

HMM 在时间上的演变,得到一个以 T 为长度的序列

  • 隐藏状态序列
  • 观察状态序列

  • 一阶齐次马尔可夫假设- 描述状态转移:t 时刻的隐藏状态仅取决于前一个隐藏状态。

由此组成状态转移矩阵

  • 观测独立性假设 - 对于输出单元的概率假设:能观测到状态仅依赖于当前的隐藏状态

由此组成生成概率矩阵

  • 初始状态:再定义一个初始状态

局限:可能不适应复杂依赖关系;需要处理数值下溢

HMM 的基本构成

  • 隐藏状态和可见状态:模型的内部状态是隐藏的,可观测的数据由隐藏状态导出。
    • 隐藏状态是内部状态,无法被直接观测,表示事物的真实发展规律
    • 可见状态可被观测,但是只能从观测的数值间接了解到隐藏的内部状态
  • 三部分参数:
    • 初始状态分布 ,初始状态概率
    • 状态转移矩阵 A,状态之间发生转换的概率, 表示 i 到 j 的转移概率
    • 观测概率矩阵 B,表示状态生成观测概率, 表示 j 生成观测 k 的概率。

三大问题

评估问题:模型参数 - 观测序列

目标:

O 表示观测序列, 表示模型参数。意为在参数模型的基础上,获得观测序列的概率。

前向算法:从初始状态开始,递推计算后续各个序列的概率。

:处于 t 时刻,状态 i ,且观测到前 t 个数据的概率

初始化,计算 t=1 的概率值:

递推,从 t=1 开始,向后计算每个时刻的概率值:

使用状态转移矩阵和观测矩阵,计算一个累加,获得当前状态的概率。

终止,一直计算到 t=T 的最终状态。

与此类似的,还有后向算法,逆向计算后向概率

解码问题:模型参数和观测序列 - 内部状态

目标:

维特比算法:利用动态规划,求解最优路径

递推公式:

解释:

  • : t 时刻到达状态 i 的最大概率
  • :记录路径
  • 对当前状态,取上一个状态的最大值求解。
  • 每一个状态的计算的 A B,转移矩阵和概率矩阵

学习问题:观测序列 - 模型参数

EM算法:利用两个期望直接更新参数

  • E 步:计算期望统计量,状态转移期望 ,状态占用期望
  • M 步:利用期望更新参数: