一、隐马尔可夫模型的基本概念
1、隐马尔可夫模型定义
隐马尔可夫模型是关于时序的模型,
描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列, 再由各个状态生成一个观测而产生观测随机序列的过程,序列的每一个位置又可以看作是一个时刻。
组成:
- 初始概率分布
- 状态转移概率分布
-
观测概率分布
image.png
隐马尔可夫模型两个基本假设:
image.png
2、观测序列的生成过程
image.png
3、隐马尔可夫模型的3个基本问题
(1)概率计算问题
image.png
(2)学习问题
image.png
(3)预测问题(解码)
image.png
二、概率计算算法
1、直接计数法
image.png
最直接的方法:
image.png
image.png
复杂度(这种算法不可行):
image.png
2、前向算法
前向概率
image.png
观测序列概率的前向算法
image.png
image.png
复杂度:
image.png
image.png
3、后向算法
后向概率
image.png
观测序列概率的后向算法
image.png
image.png
利用前向概率和后向概率的定义可以将观测序列概率P(O|λ)统一写成:
image.png
4、一些概率与期望值的计算
image.png
image.png
image.png
三、学习算法
-
监督学习方法
假设训练数据是包括观测序列O和对应的状态序列I
image.png
可以利用极大似然估计法来估计隐马尔可夫模型参数。
- 非监督学习方法:
计算训练数据只有S个长度为T的观测序{O1,O2,…Os}
采用Baum-Welch算法
1、监督学习方法
已知:
image.png
(1)转移概率的估计
image.png
(2)观测概率的估计
image.png
(3)初始状态概率的估计为S个样本中初始状态为qi的频率
image.png
2、Baum-Welch算法
假定训练数据只包括{O1,O2,…Os}
求模型参数 λ=(A,B,π)
实质上是有隐变量的概率模型:EM算法
image.png
参数学习可由EM算法实现
(1)确定完全数据的对数似然函数
image.png
(2)EM算法的E步:求Q函数
image.png
(3)EM算法的M步:极大化函数求模型参数A,B,π
image.png
Baum-Welch算法
image.png
四、预测算法
1、近似算法
近似算法的想法:(得到的状态有可能实际不发生)
image.png
2、维特比算法
用动态规划解概率最大路径,一个路径对应一个状态序列。
最优路径特性:
image.png
image.png
维特比算法
image.png