1.简介
马尔可夫模型是一种无记忆的模型,即在序列中t时刻状态只和t-1时刻相关,这是一种直接的关系。所谓的隐马尔可夫模型说的就是t时刻的状态和t-1时刻间接相关,也就是说两个观测变量之间并没有直接的关系,但是他们的隐藏变量序列符合马尔科夫性质。很多看似不相关的事物中,都会有一种隐性的关系。要了解这种隐性关系,就需要找到隐藏变量,并且发现其中的规律。这确实是一种很迷人的理论,他让我感到了更多的可能性。
2.隐马尔可夫模型
三个参数:上面的图展示了隐马尔可夫的工作流程,X作为隐变量序列,Y作为观测序列。我们将模型参数定义为:λ=(π,A,B),其中π表示初始状态概率分布,即x在第一个时刻的概率分布;A表示转移矩阵,即X之间的参数;B表示发射矩阵,即X和Y之间的参数;有了这三个参数,我们能够表示出x,y的所有变化的可能性。
二个假设:齐次马尔科夫假设(X在t时刻的状态只和t-1时刻有关)和观测独立假设(yt只和xt有关)
三个问题:隐马尔科夫有三个经典的问题,对应于它能够处理的三种情况。总结起来就是Evaluation评估问题,Learning学习问题,Decoding解码问题;
Evaluation就是求给定λ下Y的条件概率(即使用模型参数求观测值);Learning就是给定Y求λ(即给定观测数据,学习模型参数);Decoding就是已知λ和Y求X(即已知模型参数和观测值,求隐变量);
接下来我们详细介绍一下这三个问题。
3.Evaluation
前向算法可以理解为从左到右每个时刻每种状态前向概率之和,后向算法是从右到左每个时刻每种状态后向概率之和。最终都可以表示出参数λ对应观测值的条件概率分布。下面我们详细解释一下。
1.前向算法
直接暴力求解: