介绍:
隐马尔可夫模型(Hidden Markov Model,HMM)是关于时序的概率模型,描述了由隐藏的马尔科夫链随机生成的不可观测的状态随机序列,再由各个状态生成一个观测而产生的观测随机序列的过程。其中,隐藏的马尔科夫链随机生成的不可观测的状态随机序列称为状态序列(state sequence),每个状态生成一个观测,而由此产生的观测的随机序列称为观测序列(observation sequence)。
举例:盒子和球模型。假设有四个盒子,每个盒子里面装有红色和白色的小球,小球的数量如下:
盒子 | 1 | 2 | 3 | 4 |
红球 | 5 | 3 | 6 | 8 |
白球 | 5 | 7 | 4 | 2 |
抽样规则如下:开始从四个盒子中等概随机选取一个盒子,从这个盒子中随机选取一个小球,记录小球颜色,然后将小球放回。规则为:如果选取的为1号盒子,则下次只能从2号盒子中抽取;如果抽取的盒子为2号或者3号盒子,分别以0.4和0.6的概率从左边盒子和右边盒子中抽取;如果选取的为4号盒子,则以0.5的概率从4号盒子或者1号盒子中抽取,记录小球的颜色,然后放回。如此下去,重复进行5次试验,得到小球的观测结果为(红球记为R,白球记为W):
在这个过程中,观察者只能观察到小球的颜色序列,观测不到盒子序列,讨论的问题是根据结果预测可能的盒子序列。
形式化描述:
设为可能的状态数(如4个盒子),为可能的观测数(如红球和白球);
设是长度为的状态序列,是对应的观测序列:,
设状态转移概率矩阵:。其中,,即t时刻状态到转移概率
设观测概率矩阵:。其中,,即t时刻状态生成观测的概率
设初始状态概率向量:。其中,,即t=1时刻状态的概率
由此,隐马尔可夫模型的三要素:
图形化描述:
马尔科夫模型的基本假设:
- 齐次马尔科夫假设:假设隐藏的马尔科夫链在任意时刻t的状态只依赖前一时刻的状态,与其他时刻的观测和状态无关;
- 观测独立性假设:假设任意时刻的观测只依赖该时刻马尔科夫链的状态,与其他观测和状态无关;
马尔科夫模型的基本问题:
1)概率计算问题
给定模型和观测序列,计算在模型参数下的观测序列出现的概率。
2)学习问题
已知观测序列,使用最大似然准则估计模型参数,使得最大。
3)预测问题
给定模型和观测序列,求使得最大时对应的状态序列。
1)概率计算问题 <---->前向后向算法
令,则
令 ,则
合并式:
当t=1时对应(1)式前向算法,当t=T-1时对应(2)式后项算法。
2)学习问题<---->Baum-Welch算法(EM算法)
设是隐马尔可夫模型当前的估计参数,是要极大化的隐马尔可夫模型参数,定义Q函数:
EM算法:
E步:
M步:极大化,求模型参数
3)预测问题<---->维特比算法
定义在时刻t的状态为i的所有单个路径中概率最大的为:
变量的递推公式:
定义在时刻t的状态为i的所有单个路径中概率最大的路径的第(t-1)个节点为:
终止条件: