要知道隐马尔科夫我们先来了解什么是马尔科夫模型
举一个天气的例子:
我们知道某些天气出现的概率和天气之间转换的概率
比如我知道了昨天的天气,想知道今天的天气最可能是什么,由上图可以知道,昨天的天气是什么,会对今天可能的天气是有影响的。
那么这个时候我们可以说,一个一阶的马尔科夫模型是什么样的
此时,我们可以知道今天是晴天的概率是多少
计算今天是晴天的概率就需要去计算昨天所有可能天气转到今天是晴天的概率之和,也就有了上面的公式
那下面我们就可以引申出什么是隐马尔科夫模型。
相比马尔科夫模型,多了个隐,也就是在隐马尔科夫模型中,多了一个隐藏状态
同样是天气举例子,但是现在多了一个情况,我们观察海藻的情况
在这个情况下,我们是不知道天气情况的,只能从海藻的情况,来知道天气的情况
那么这个时候海藻就是我们观察出来的观察状态,天气就是我们想要知道的隐藏状态
而在这里需要注意的是,观察状态和隐藏状态并不是一一对应的,也就是说,晴天->Dry 晴天->Dryish 晴天->Damp 等等
有一个多对多的关系,一个观测序列(多个观察状态 比如说7天的海藻情况)对应的隐藏序列其实是可以有多个的。
这个是需要我们注意的。我们要做的是把所有可能的情况都要考虑进去。
在隐马尔科夫模型HMM中 ,我们有一个设定,就是以上两个,上面z是隐藏状态, 生成的是下面x观察状态
那么
这是HMM的三要素 pi A B 。下面举个例子来说:
pi:一开始晴天的概率
A :晴天转雨天的概率
B:晴天下海藻为Dryish的概率