隐马尔科夫模型(HMM)
今天来看看这两种模型。
一、马尔科夫模型
有以下三个要素:
定义每一种状态;
每种状态转换到其它状态的概率,即状态转换概率;
每种状态的初始概率;
这样,通过初始状态,便能计算下一个阶段某状态发生的概率值。
二、隐马尔科夫模型
1、 概述
跟上面不同的是,隐马尔科夫模型引入了一种中间变量,这种中间变量是我们能直接观察或直接获取到的。
这些中间变量,跟我们真正需要关注的状态之间存在映射或转换关系。
在这里,这种能直接直观察到的状态叫观察状态,由观察状态转换或推导出来的真正需要关注的状态,叫隐藏状态。
需要注意的是,观察状态和隐藏状态之间不一定是一一对应关系。
在上图中给出一个观察状态和隐藏状态的例子。 在这里观察状态是海藻的四种状态,隐藏状态是天气的三种状态。
2、 模型特质
每个观察状态(X)由隐藏状态(Z)生成。
每个隐藏状态只与前一个状态有关,即:,这里Z表示隐藏状态。
每个观测状态只和生成它的隐藏状态有关,即:,这里X表示观察状态。
3、模型组成
三个必备:隐藏状态的初始概率(π);隐藏状态迁移的概率矩阵(A);生成观察状态的概率矩阵(B)。即:
从上面的天气与海藻的状态举例,生成观察状态的概率矩阵B如下:
在HMM模型中,π,A,B就是我们要求解的参数。
4、算法的求解
该模型的求解方法有多种,算法的推导略掉。
1)穷举法
时间复杂度为,N为隐藏状态的个数,T为观察序列的长度;
该算法的问题是复杂度太高了,尤其是在隐藏状态个数比较多的情况下。
2)前向算法
3)维特比算法