HMM基础

一、HMM建模

图1.1 HMM建模过程

HMM参数:

图1.2 HMM参数

二、HMM的3个假设

(一)马尔科夫假设

图2.1 马尔科夫假设

(二)观测独立性假设

图2.2 观测独立性假设

(三)不变性假设

转移矩阵不随时间变化。

三、HMM的3个问题

(一)概率计算/评估 ------ likelihood

给定模型参数以及观测序列,求当前模型参数下生成给定观测序列的概率。

图3.1 likelihood问题

1、穷举法

图3.2 穷举法

2、前向后向算法

为了降低穷举法的计算复杂度。

图3.3 前向后向算法1

注:在概率计算问题中,无需用到后向概率。之所以计算后向概率,是为参数估计问题服务。

图3.4 前向后向算法2

3、维特比近似

与穷举法、前向后向算法遍历所有可能的状态序列不同的是,维特比近似使用最大概率状态序列代替所有可能的状态序列进行近似计算,具体算法参见(二)解码问题中的维特比算法。

图3.5 维特比近似

(二)解码/状态分割 ------ decoding

给定模型参数以及观测序列,求当前模型参数下,给定观测序列,使得观测序列生成概率最大的状态序列。

图3.6 decoding问题

1、近似算法

图3.7 近似算法

2、维特比算法

图3.8 维特比算法1

图3.9 维特比算法2

图3.10 维特比算法3

关于概率计算问题中的维特比近似:

图3.11 维特比算法4

注意:近似算法与维特比算法得到的状态路径常不同。

(三)参数估计 ------ training

若观测序列和状态序列都已知,属于监督学习问题,应用MLE;
通常观测序列已知,状态序列未知,属于无监督学习问题,应用EM。

图3.12 training问题

首先得确定HMM拓扑结构:

图3.13 HMM拓扑结构1

图3.14 HMM拓扑结构2

图3.15 HMM拓扑结构3

1、分段k-means/Viterbi训练

1)GSM-HMM

图3.16 GSM-HMM

2)GMM-HMM

图3.17 GMM-HMM1

分裂高斯:
(1)通过加上或减去小数字调整均值;
(2)将原高斯分量权重一分为二,分给生成的高斯分量。

图3.18 分裂高斯

个高斯分量变为个高斯分量。

图3.19 GMM-HMM2

图3.20 GMM-HMM3

维特比训练将每个观测值唯一地分配给一个状态:

图3.21 维特比训练

这只是一种估计,有可能会出错。

2、Baum Welch算法/前向后向算法

soft decision ------ 将每个观测值以一定的概率分配给每个状态。
1)GSM-HMM
E步:根据当前参数,计算下面2个统计量。
:在时刻占据状态的概率。

图3.22 GSM-HMM1

:在时刻占据状态,时刻占据状态的概率。

图3.23 GSM-HMM2

M步:根据这2个状态占有概率,对模型参数进行更新,重新估计。

图3.24 GSM-HMM3

图3.25 GSM-HMM4

图3.26 GSM-HMM5

2)GMM-HMM
E步:根据当前参数,计算下面2个统计量。
:在时刻占据状态的混合分量的概率。

图3.27 GMM-HMM1

:在时刻占据状态,时刻占据状态的概率。

图3.28 GMM-HMM2

M步:根据这2个状态占有概率,对模型参数进行更新,重新估计。

图3.29 GMM-HMM3

图3.30 GMM-HMM4

图3.31 GMM-HMM5

注:实现Baum Welch时为防止下溢(值趋近于0),可对相应值进行适当的缩放,可在对数域计算(乘法变为加法)。

你可能感兴趣的:(HMM基础)