HMM隐马尔可夫模型
观察序列与观察值
- 时间序列:某些应用中,识别对象是一个动态的过程,无法用静态的矢量描述
- 这些动态过程往往与时间相关,一般采用时间序列来描述
- 观察序列:识别对象(样本)需要用一个长度为T的观察序列来描述
VT=v1,v2,…,vT
- 观察值:观察序列中的元素vt对应时刻t的观察值,t=1,…,T
- 观察值描述了时刻t的特征,一般用一个特征矢量描述
- 语音信号,一般用一个采样帧的频谱特征作为观察矢量
- 视频信号,可以用每一帧图像的特征作为观察矢量
一阶Markov模型
状态序列
- M个状态w1,…,wM
- 时刻t,模型处于状态w(t),并发生一次状态转移w(t)−>w(t+1)
- 经过T个状态,得到状态转移序列
WT=w(1)…w(T)
两个规定
- 模型在时刻t处于状态w(t)=wj的概率完全由t−1时刻的状态w(t−1)=wi决定,与之前及以后的其他状态无关
P(w(t)∣WT)=P(w(t)∣w(1),…,w(T))=P(w(t)∣w(t−1))
- 由状态wi转移到wj的概率,与时刻t无关。
P(w(t)=wj∣w(t−1)=wi)=aij
模型参数
θ=(π,A)
- 模型初始位于状态wi的概率用πi表示
π=(π1,…,πM)t
a11a21⋮aM1a12a22⋮aM2⋯⋯⋱⋯a1Ma2M⋮aMM
一阶Markov模型输出状态序列的概率
- 给定参数θ=(π,A),可以很容易地计算一阶Markov模型输出特定状态转移序列的概率
- 模型输出状态序列的概率可以由初始状态概率与各次状态
转移概率相乘得到 - 例如,模型输出序列W5=w1w1w3w1w2的概率:
P(W5)=𝜋1a11a13a31a12
一阶Markov模型在时刻t的状态概率P(w(t)=wi)
P(w(t)=wi)=j=1∑NP(w(t−1)=wj)aji
HMM:Hidden Markov Model
- HMM 包含一个一阶 Markov 模型,但模型的状态以及状态
转移过程是隐含的,不可见的 - HMM 在时刻t由隐状态w(t) 输出观察值w(t)∈{v1,…,vK}
- 经过T 个时刻之后,可以观察到 HMM 输出一个观察序列:
VT=v(1)v(2)…v(T)
三个假设
- 对于一个随机事件,有一个观察值序列:v1,…,vT
- 该事件隐含着一个状态序列w1,…,wT
- 假设1:马尔可夫假设(状态构成一阶马尔可夫链)
PP(wi∣wi−1…w1)=P(wi∣wi−1)
- 假设2:不动性假设(状态转移概率与具体时间无关)
- 假设3:输出独立性假设(输出仅与当前状态有关)
P(v1,…,vT∣w1,…,wT)=t=1∏TP(vt∣wt)
模型参数θ=(π,A,B)
π=(π1,…,πM)t
- 状态转移概率矩阵:𝐴𝐴,𝑀𝑀 ×𝑀𝑀 维矩阵
A=(aij)MxM
aij=P(w(t)=wj∣w(t−1)=wi) - 输出概率矩阵:𝐵𝐵,𝑀𝑀 × 𝐾𝐾 维矩阵
- M为状态数,K为观测值数
- B的元素bik 表示状态wi 输出观察值vk 的概率,与时刻t 无关
B=(bikMxK)
bik=P(v(t)=vk∣w(t)=wi)