作业帮 > 数学 > 作业

HMM中的虚状态是怎么起作用的?

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/20 15:51:13
HMM中的虚状态是怎么起作用的?
连续语音识别中,对音素用HMM建模之后,通常会在起始和结束部分添加两个状态,他们被称作虚状态,好像是用作连接用的,可是,它们究竟是怎么起作用的呢,举个例子:如果对音素建模时采用3个状态,前向,带自环,无跨越的HMM拓扑结构,那么加上前面的起始状态和最后的结束状态,就应该有5个状态,自左向右,分别是1,2,3,4,5,问题是最后一个状态时怎么转移的,也就是说第4个状态到第5个状态(结束状态)之间的转移概率是多少,4到5的转移概率会不会影响到4本身的转移概率(如果没有虚状态,4的自转移应该是1)?是不是不用去理会它俩之间的转移,直接给个1或者别的什么值?如果不是,怎么得到4到5的转移概率呢?那应该怎么训练呢?
可能你没弄懂我的问题,问题不是HMM的三个基本问题,而是,面对像连续语音识别这样的问题的时候,训练的是很小的单位,比如音素,每个音素都是一个HMM,但识别的时候,简化一点,假设识别的是一个词,一个词是由多个音素组成的,那么,该怎么连接这些单独训练的小HMM,材料上说是用虚状态连的,问题的关键就是,对每一个小HMM最后一个带观察值的状态,是以多大的概率转向虚状态的?因为在训练小HMM时,并没有训练这个概率,如果按照问题最初的HMM(见原问),最后一个带观察值的状态的自转应该是1,但现在貌似不应该这样?而且,即便知道了这个转移概率,又怎么去连接其他的模型呢?
HMM中的虚状态是怎么起作用的?
假设我们已经获得了构成一个序列的观测数据 {x[t]},t = 1,...,T.x[i]是观测值,而对应的y[t]是无法直接观测的隐含变量.
1.Baum Welch算法用于训练HMM模型
训练HMM模型就是求解HMM模型三组参数的过程:1)初始时刻的概率分布π 2)相邻时刻状态的转移概率 p(y[t]| y[t-1]) 3) 观测值的生成概率 p(x[t] | y[t])
Baum Welch算法是采用了EM算法的推导框架,不断的迭代更新先验和后验概率,其具体的高效计算依赖于Forward Backward(前向后向)算法.
2.Forward Backward算法用于计算在时刻t处于某一状态y[t]的条件概率
P(y[t] | x[1],...,x[N]) = f(y[t]| x[1],...,x[t]) b(x[t+1],...,x[N] | y[t])
f和b分别是前向和后向向量.
3.Viterbi算法用于求解最大似然的状态序列
在HMM模型训练完成之后,就可以使用Viterbi算法对新的观察序列对应的最大似然的状态序列进行预测