HMM隐马尔科夫模型(Hiden Maekov Model)
参考自李航《统计学习方法》第十章
定义
状态序列(state sequence):隐藏的马尔科夫链随机生成的状态的序列
观测序列(observation sequence):每个状态生成一个观测,而由此产生的观测的随机序列
隐马尔科夫模型是关于时序的概率模型,
描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,
再由各个状态生成一个观测从而产生观测随机序列的过程。
隐马尔科夫模型由初识概率分布、、状态转移概率分布、观测概率分布确定。
形式定义如下:
设Q是所有可能得状态的集合,V是所有可能得观测的集合:
Q = {q_1,q_2,···,q_N}, V = {v_1,v_2,···,v_M},N是可能得状态数,M是可能得观测数。
状态转移:
I是长度为T的状态序列,O是对应的观测序列:
I = (i_1,i_2,···,i_r), O = (o_1,o_2,···,o_r)
A是状态转移概率矩阵:
A=[a_{ij}]_{N×N}
其中,a_{ij} = P(i_{t+1} = q_j | i_t = q_i), i=1,2,···,N; j = 1,2,···,N
是在时刻t处于状态q_i的条件下载时刻t+1转移到状态q_j的概率。
生成观测
隐马尔科夫模型由初始状态概率向量π、状态转移概率矩阵A、观测矩阵B决定。
π和A决定状态序列,B决定观测序列。因此,HMM用三元符号表示,即:λ = (A, B, π)
A, B, π称为HMM的三要素。
HMM的三个基本问题
概率计算问题
给定模型 λ=(A,B,π)和观测序列O = (o_1,o_2,···,o_r),计算在模型λ下观测序列O出现的概率P(O|λ)。
-
直接计算法(概念可行计算不可行)
-
前向算法
3. 后向算法
学习算法
已知观测序列O = (o_1,o_2,···,o_r),估计模型λ=(A,B,π)参数,使得在该模型下观测序列概率P(O|λ)最大。用最大似然估计的方法估计参数。
-
监督学习方法
假设已给训练数据包含S个长度相同的观测序列和对应的状态序列{(O_1,I_1)},……,(O_S,I_S),那么可以使用最大似然估计法来估计HMM的参数。
- 转移概率a_{ij}的估计
1. 观测概率b_j(k)的估计
1. 初始状态概率π_i的估计
-
Baum-Welch算法
> 这里EM算法暂不单独开展讲述。
预测问题
也叫解码问题。
已知模型 λ=(A,B,π)和观测序列O = (o_1,o_2,···,o_r),求给定观测序列条件概率P(I|O)最大的状态序列I = (i_1,i_2,···,i_r).即给定观测序列,求最有可能的对应的状态序列。
-
近似算法
-
维特比算法——动态规划