: .
HMM的理论基础
一、 HMM定义
1. N:模型中状态的数目,记t时刻Markov链所处的状态为
2. M:每个状态对应的可能的观察数目,记t时刻观察到的观察值为
3. :初始状态概率矢量,,,
4. A:状态转移概率矩阵,,,
5. B:观察值概率矩阵(适用于离散HMM),,,;对于连续分布的HMM,记t时刻的观察值概率为
一个离散型的HMM模型可以简约的记为。
二、关于语音识别的HMM的三个基本问题
1. 已知观察序列和模型参数,如何有效的计算。
a. 直接计算
2-1
当N=5,T=100时大概需进行次乘法!
b. 前向算法
定义t时刻的前向变量(forward variable),可以通过迭代的方法来计算各个时刻的前向变量:
1) 初始化(Initialization)
当t=1时
2-2
2) 递归(Induction)
当时
即: 2-3
3) 终结(Termination)
2-4
乘法次数大约为:N2T
c. 后向算法
定义t时刻的后向变量(backward variable),可以通过迭代的方法来计算各个时刻的后向变量:
1) 初始化(Initialization)
当t=T时
, 2-5
2) 递归(Induction)
当时
即:, 2-6
3) 终结(Termination)
2-7
乘法计算次数约为:N2T
2. 已知观察序列和模型参数,在最佳意义上确定一个状态序列。
定义一个后验概率变量(posteriori probability variable)
2-7
则最优序列可以通过, 2-7
求得。不过,这样求得的最优序列有些问题。如果,那么这个最优序列本身就不存在。这里讨论的最佳意义上的最优序列,是使最大化时的确定的状态序列。即,使最大化时确定的状态序列。
定义为t时刻沿一条路径,且,输出观察序列的最大概率,即: 2-8
下面介绍迭代计算的Viterbi算法:
1) 初始化(Initialization)
,
回溯变量:,
2) 递归(Induction)
即: 2-8
2-9
3) 终结(Termination)
2-10
2-11
4) 回溯状态序列
, 2-12
3. 已知观察序列和模型参数,如何调整模型参数使最大。
给定训练序列和模型,时刻Markov链处在状态和时刻处在状态的概率定义如下
3-1
给定训练序列和模型,时刻Markov链处在状态的概率定义如下
3-2
给定训练序列和模型,从状态转移出去的概率为
,从状态转移到状态的概率为
利用Baum-Welch重估算法可以得到使局部最大时的参数更新公式。
1. Baum-Welch重估公式的理论基础
设,,为正实数,,,为非负实数,那么,由对数函数的凹特性,有如下结论
3-3
定义辅助函数如下
3-4
其中,为更新前模型参数,为更新后模型参数,为训练序列,为可能的状态序列。
3-5
式3-5构成了重估公式得理论基础,对辅助函数,只要能够找到,使,从而,这样,更新后的模型在拟和训练序列方面就比更新前的模型要好,使最大而得到的的参数更新公式就称之为Baum-Welch重估公式。
,,在的约束条件下,函数的唯一最大值点为 。
证明如下
求最大值
令 得:
,同理可证:
利用凹函数特性可知此最大值唯一。
2. 离散HMM模型的重估公式
HTK内存管理
一、
语音识别htk代码学习手册 来自淘豆网m.daumloan.com转载请标明出处.