机器学习—隐马尔科夫模型HMM

本文简单的对HMM做一下笔记。

概率图模型:是一种以图(Graph)为表示的工具,来表达变量间相关关系的概率模型。在概率图模型中,一个节点表示一个随机变量或者一组随机变量,而节点之间的边则表示变量之间概率的相关关系。边可以是有向的,也可以是无向的。概率模型大致分为:
有向图模型(贝叶斯网络):用有向无环图表示变量间的依赖关系;
无向图模型(马尔可夫网):用无向图表示变量间的相关关系。
HMM 就是贝叶斯网络的一种——虽然它的名字里有和“马尔可夫网”一样的“马尔可夫”。
变量序列建模的贝叶斯网络又叫做动态贝叶斯网络。HMM 就是最简单的动态贝叶斯网络。

HMM
HMM中的变量分为两组:1. 状态变量S。 2. 观测变量O。状态变量和观测变量各自都是一组时间序列,他们具有一一对应的关系。
机器学习—隐马尔科夫模型HMM
一般假定状态序列是隐藏的、不能被观测到的,因此状态变量是隐变量(Hidden Variable)——这就是 HMM 中H(Hidden)的来源。

一条隐藏的马尔可夫链随机生成了一个不可观测的状态序列(State Sequence),然后每个状态又对应生成了一个观测结果,这些观测值按照时序排列后就成了观测序列(Observation Sequence)。这两个序列是一一对应的,每个对应的位置又对应着一个时刻。

HMM的基本假设

  1. 假设隐藏的马尔可夫链在任意时刻 t 的状态只依赖于前一个时刻(t-1 时)的状态,与其他时刻的状态及观测无关,也与时刻 t 无关。
    用公式表达就是:
    机器学习—隐马尔科夫模型HMM
    这个假设也叫齐次马尔科夫假设

  2. 假设任意时刻的观测只依赖于该时刻的马尔可夫链状态,与其他观测及状态无关。
    机器学习—隐马尔科夫模型HMM

确定HMM的两个空间和三组参数
两个空间分别是:

  1. 状态空间,具有多少种隐变量。
    机器学习—隐马尔科夫模型HMM

  2. 观测空间,具有多少种取值。
    机器学习—隐马尔科夫模型HMM

三组参数分别是:

  1. 状态转移概率
    机器学习—隐马尔科夫模型HMM
  2. 输出观测概率:
    机器学习—隐马尔科夫模型HMM
  3. 初始状态概率:
    机器学习—隐马尔科夫模型HMM

通常用λ = [A, B, π]来代表这三组参数。

有了状态空间S,观测空间O和参数λ,一个HMM就被确定了。

三这个基本问题
在实际使用中,HMM有三个基本问题。

  1. 概率计算问题:由给定的参数λ的条件下,求出给定的观测序列的概率 P(O|λ),一般采用前向-后向算法。
  2. 预测问题: 在给定参数λ和观测序列的条件下,求最有可能与之对应的状态序列,一般采用维特比算法。
  3. 学习问题:由已知的观测样本和状态样本来估计模型的参数λ,可以分为有监督学习和无监督学习。

前两个问题是模型已经存在之后如何使用模型的问题,而最后一个则是如何通过训练得到模型的问题。

什么是生成式模型和判别式模型?

生成式模型是对联合概率进行建模,比如:朴素贝叶斯、贝叶斯网络、HMM等。

判别式模型是对条件概率直接进行建模,比如:线性回归、Logistic回归、最大熵模型、条件随机场模型等。