GMM-HMM

该博客详细介绍了隐马尔可夫模型(HMM)的参数训练过程,特别是针对混淆矩阵B的高斯混合模型参数和状态转移矩阵A的训练。在A矩阵中,只训练自环和后继状态转移概率,其余设为零。通过初始化和Baum-Welch迭代算法,逐步更新模型参数,直至收敛。前向算法也在文中被阐述,用于计算在给定观测序列下,处于特定状态的概率。
摘要由CSDN通过智能技术生成

需要训练的参数

1.对应于混淆矩阵B的高斯混合模型参数B
2.状态转移矩阵A
3.A中只有对应于自环和后继的状态转移概率需要被训练,其他项全都设置为零,并且不再改变

训练过程

Step 1:构建整个句子的HMM结构
Step 2:将A矩阵中对应于自环和后继的项初始化为0.5,其他项初始化为0
Step 3:用整个训练集的全集均值和方差对B矩阵进行初始化
Step 4:运行Baum-Welch算法的迭代过程。在每一次迭代中,计算前向概率和后向概率(计算方法见下文)以得到t时刻处于状态i的概率,然后将它用于更新参数A和B,重复迭代,直至收敛

前向算法

前言

以下解释建立在已掌握基本隐马尔可夫模型的基础上,隐马尔科夫模型不再做过多解释,这里仅阐明下文用到的相关符号含义:

符号含义
π \pi π初始状态概率向量
b b b观测概率矩阵(观测概率也称发射概率)
b i ( o j ) b_i(o_j) bi(oj)状态i产生观测 o j o_j oj 的概率
α \alpha α状态转移矩阵

前向概率定义

给定隐马尔可夫模型 λ \lambda λ,定义到时刻 t t t部分观测序列为 o 1 , o 2 , … , o t o_1,o_2, …,o_t o1,o2,,ot,且状态为 q i q_i qi的概率为前向概率,记作(可省略 λ \lambda λ):

α t ( i ) = P ( o 1 , o 2 , … , o t , i t = q i ∣ λ ) \alpha_t(i)=P(o_1,o_2, …,o_t,i_t=q_i| \lambda ) αt(i)=P(o1,o2,,ot,it=qiλ)
用图可能更好理解(即已知隐马尔可夫模型,t时刻的观测序列,求状态为 q i q_i qi的概率):
在这里插入图片描述

算法步骤

输入:隐马尔科夫模型 λ \lambda λ,观测序列 O O O
输出:观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)

1.初值:
α 1 ( i ) = π i b i ( o 1 ) , i = 1 , 2 , … , N \alpha_1(i)=\pi _i b_i(o_1),i=1,2,…,N α1(i)=πibi(o1),i=1,2,,N
(理解:即第一个观测为 o 1 o_1 o1的情况下,对应的第一个状态为1、2、3的概率)

2.递推:
对t=1,2,…,T-1,
α t + 1 ( i ) = [ ∑ j = 1 N α t ( j ) α j i ] b i ( o t + 1 ) , i = 1 , 2 , … , N \alpha_{t+1}(i)=\bigg[\sum_{j=1}^{N}\alpha_{t}(j)\alpha_{ji}\bigg] b_i(o_{t+1}),i=1,2,…,N αt+1(i)=[j=1Nαt(j)αji]bi(ot+1),i=1,2,,N

(理解:以求t=3为例,已知t=2时,即第一和二个观测为 o 1 , o 2 o_1,o_2 o1o2的情况下,对应的第二个状态为1、2、3的概率,那么分情况来说即:第二个状态为1时,由状态转移矩阵求第三个状态为1、2、3的概率,再分别乘上对应状态发射产生观测 o 3 o_3 o3的概率进行叠加,第二个状态为2、3同理,把所有的都叠加起来就得到我们想要的结果(解释的过于冗余了,其实就一句话,叠加所有可能的情况)
在这里插入图片描述

3.终止:
P ( O ∣ λ ) = ∑ i = 1 N α T ( i ) P(O|\lambda)=\sum_{i=1}^{N}\alpha_{T}(i) P(Oλ)=i=1NαT(i)

PS:先写到这里,要去上课了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值