一、基本概念(一个定义、一个组成和两个基本假设)
HMM定义
随机过程:是依赖于参数的一组随机变量的全体,参数通常是时间。随机变量是随机现象的数量表现,其取值随着偶然因素的影响而改变。
例如,某商店在从时间t0到时间tK这段时间内接待顾客的人数,就是依赖于时间t的一组随机变量,即随机过程。
- 隐马尔可夫模型是关于时间序列的概率模型
- 描述由一个隐藏的马尔可夫链随机(根据一定概率)生成不可观测的状态序列 (state sequence),再由各个状态生成一个观测而产生观测序列 (observation sequence)的过程,序列的每一个位置又可以看作是一个时刻。
组成(称为HMM的三要素)
- 初始概率分布 π
- 状态转移概率分布 A
- 观测概率分布 B
当观测为离散值时:
两个基本假设
-
齐次马尔可夫性假设 :隐藏的马尔可夫链在时刻 t 的状态只和 t − 1 的状态有关
-
观测独立性假设 :观测只和当前时刻的状态有关
分类
生成过程
二、隐马尔可夫模型的三个基本问题
概率计算问题:计算出现此观测的一个概率
预测问题:计算出现此观测是最有可能的状态序列
学习问题:类似机器学习训练出最有可能出现此观测的HMM模型
1、概率计算问题
在已知HMM模型和观测序列的情况下,计算在这种模型条件下出现这种观测序列的概率P(O丨λ)
指的是观测值可以是离散的也可以是连续的(1)直接计算法(一般不使用)
也就是说,求观测概率。要先求出出现给定观测序列的状态序列概率P(q丨λ)和在此状态下出现给定观测序列的概率P(o丨q,λ)
(2)前向算法
前向算法简洁的关键:减少了对前向状态转移概率的重复计算
(3)后向算法
2、预测问题
Viterbi算法
用动态规划求概率最大路径(最优路径),一个路径对应一个状态序列
3、学习问题
其中,由于观测是符合GMM的,观测概率分布是符合高斯混合模型的。因此,HMM模型变为了HMM-GMM模型
(1)Viterbi算法
(2) Baum-Welch学习算法