隐马尔科夫模型(HMM)

今天来看看这两种模型。

一、马尔科夫模型

有以下三个要素:

定义每一种状态;

每种状态转换到其它状态的概率,即状态转换概率;

每种状态的初始概率;

这样,通过初始状态,便能计算下一个阶段某状态发生的概率值。

二、隐马尔科夫模型

1、 概述

跟上面不同的是,隐马尔科夫模型引入了一种中间变量,这种中间变量是我们能直接观察或直接获取到的。

这些中间变量,跟我们真正需要关注的状态之间存在映射或转换关系。

在这里,这种能直接直观察到的状态叫观察状态,由观察状态转换或推导出来的真正需要关注的状态,叫隐藏状态

需要注意的是,观察状态和隐藏状态之间不一定是一一对应关系。

隐马尔科夫模型(HMM)

在上图中给出一个观察状态和隐藏状态的例子。 在这里观察状态是海藻的四种状态,隐藏状态是天气的三种状态。

2、 模型特质

每个观察状态(X)由隐藏状态(Z)生成。

每个隐藏状态只与前一个状态有关,即:隐马尔科夫模型(HMM),这里Z表示隐藏状态。

每个观测状态只和生成它的隐藏状态有关,即:隐马尔科夫模型(HMM),这里X表示观察状态。

3、模型组成

三个必备:隐藏状态的初始概率(π);隐藏状态迁移的概率矩阵(A);生成观察状态的概率矩阵(B)。即:

隐马尔科夫模型(HMM)

从上面的天气与海藻的状态举例,生成观察状态的概率矩阵B如下:

隐马尔科夫模型(HMM)

在HMM模型中,π,A,B就是我们要求解的参数。

4、算法的求解

该模型的求解方法有多种,算法的推导略掉。

1)穷举法

时间复杂度为隐马尔科夫模型(HMM),N为隐藏状态的个数,T为观察序列的长度;

该算法的问题是复杂度太高了,尤其是在隐藏状态个数比较多的情况下。

2)前向算法

3)维特比算法