目录

简介

隐马可尔可夫模型是一个生成模型,给定一个观察序列,HMMs 模型隐含一个与观察序列对应的状态序列。 HMMs的示意图如下:

avatar

独立性假设

  • t 时刻的状态只依赖于 t −1 时刻的状态
  • t 时刻所生成的值只依赖于t 时刻的状态
  • 状态与具体时间无关

2 => 两个假设

  • 齐次马尔科夫性假设:状态只依赖与前一个时刻的状态,与当前时刻t无关,与其他时刻的状态和观测无关。
  • 观测独立性假设:任意时刻的观测只依赖于当前时刻的状态,与其他时刻的状态和观测无关。

离散马尔科夫过程

  • N个不同状态Si
  • 状态转移概率矩阵A(n * n)

当随机过程满足:当前所处的状态仅与它之前的一个状态有关,该随机过程为马尔可夫随机过程。

5 => 五个要素

有时又称为三要素,去掉

  • N,模型中的状态数
  • M,每个状态不同的观察符号,即输出字符的个数,用V表示各个字符的集合
  • A,状态转移概率分布
  • B,观察字符在状态j时的概率分布
  • π,初始状态分布

从以上的讨论可知,一个完整的隐马尔可夫模型要求两个具体的模型参数 N 和 M ,和三个概率矩阵 A, B,π ,也即隐马尔可夫模型可形式化定义为一个五元组( N, M , A, B,π )。

观测序列的生成过程

输入: λ=(A,B, π)

输出: 观测序列 O=(o1, ... , oT)

流程:

  1. 根据π生成初始状态
  2. 根据初始状态和观测概率矩阵,生成观测符号o
  3. 根据状态转义概率生成下一时刻的状态
  4. 如果产生了T个观测符号,则终止,没有则转2

3 => 三个基本问题

  • 概率计算问题:根据模型λ=(A,B, π),判断某一观测序列出现的概率
  • 学习问题:已知观测序列,求模型的参数,使得观测序列概率最大
  • 预测问题:又称解码问题,给定模型和观测序列,求最大概率的状态序列

viterbi算法

viterbi算法只是解决隐马第三个问题(求观察序列的最可能的标注序列)的一种实现方式。