语音识别中GMM-HMM的相关知识

  本文讲阐述在语音识别中GMM-HMM的知识。其中包括了对GMM(Gauss Mixture Model)和HMM(Hidden Markov Model)的定义、原理及其算法的介绍。

GMM(高斯混合模型)

  设有随机变量X,则混合高斯模型可以用下式表示:

p(x)=k=1KπnN(x|μk,k) p ( x ) = ∑ k = 1 K π n N ( x | μ k , ∑ k )

  其中 N(x|μk),k N ( x | μ k ) , ∑ k 称为高斯混合模型中的第K个分量。且满足:
k=1Kπk=10πk1 ∑ k = 1 K π k = 1 , 0 ≤ π k ≤ 1

  可以看到 πk π k 相当于每个分量 N(x|μk,k) N ( x | μ k , ∑ k ) 的权重。

GMM参数估计过程

 GMM的贝叶斯理解

  在GMM的定义中, πk π k 是混合系数,表示第K个分布被选中的概率。下面引入一个K维随机变量Z,其中 zk z k 定义如下:

zk={ 10selectothersk,1kK z k = { 1 s e l e c t k 0 o t h e r s , 1 ≤ k ≤ K

  记第k个分布被选中的概率为 p(zk=1)=pk p ( z k = 1 ) = p k ,那么第k个分布未被选中的概率为 p(zk=0)=1pk p ( z k = 0 ) = 1 − p k 。因此,有: Kzk=1 ∑ K z k = 1 。假设 zk z k 之间是独立同分布的,则z的联合概率分布形式为:
p(z)=p(z1)p(z2)...p(zk)=k=1Kpzkk p ( z ) = p ( z 1 ) p ( z 2 ) . . . p ( z k ) = ∏ k = 1 K p k z k

  类似的,给定z的一个特定的值,x关于z的条件概率分布是一个高斯分布 p(x|zk=1)=N(x|mk,k) p ( x | z k = 1 ) = N ( x | m k , ∑ k ) ,也可以写成
p(x|z)=k=1KN(x|m,k)zk p ( x | z ) = ∏ k = 1 K N ( x | m , ∑ k ) z k
  联合概率分布为 p(z)p(x|z) p ( z ) p ( x | z ) ,从而x的边缘概率分布可以通过将联合概率分布对所有的z求和的方式得到,即
p(x)=Zp(z)p(x|z)=k=1K(k=1K(pzkk)N(x|mk,k)zk)=k=1KpkN(x|mk,k) p ( x ) = ∑ Z p ( z ) p ( x | z ) = ∑ k = 1 K ( ∏ k = 1 K ( p k z k ) N ( x | m k , ∑ k ) z k ) = ∑ k = 1 K p k N ( x | m k , ∑ k )

  根据贝叶斯定理,后验概率可以表示为:
γ(zk)=p(zk=1|x)=p(zk=1)p(x|zk=1)/j=1Kp(zj=1)p(x|zj=1)=πkN(x|μk,k)/j=1KπjN(x|μj,j) γ ( z k ) = p ( z k = 1 | x ) = p ( z k = 1 ) p ( x | z k = 1 ) / ∑ j = 1 K p ( z j = 1 ) p ( x | z j = 1 ) = π k N ( x | μ k , ∑ k ) / ∑ j = 1 K π j N ( x | μ j , ∑ j )

EM 算法估计GMM参数

  EM算法分两步,第一步先求出要估计参数的粗略值,第二部使用第一步的值最大似然估计。因此要先求出GMM的似然函数。
假设 x={ x1,x2,...,xN} x = { x 1 , x 2 , . . . , x N } ,GMM模型中有三个参数需要估计,分别为 π,μ, π , μ , ∑ 。并且有:

p(x|π,μ,)=k=1KπkN(x|μk,k) p ( x | π , μ , ∑ ) = ∑ k = 1 K π k N ( x | μ k , ∑ k )

  为了估计这三个参数,需要分别求解出这三个参数的最大似然函数。先求解 μk μ k 的最大似然函数。对上式取对数后在对 μk μ k 求导并令导数为0即得到最大似然函数。
0=n=1NπkN(xn|μk,k)k(xnμk)/jπkN(xn|μj,j) 0 = − ∑ n = 1 N π k N ( x n | μ k , ∑ k ) ∑ k ( x n − μ k ) / ∑ j π k N ( x n | μ j , ∑ j )

  注意到上式中分数的一项的形式正好是后验概率的形式。两边同乘 1k ∑ k − 1 ,重新整理可以得到:
μk=(1/Nk)n=1Nγ(znk)xn μ k = ( 1 / N k ) ∑ n = 1 N γ ( z n k ) x n
  其中: Nk=Nn=1γ(znk) N k = ∑ n = 1 N γ ( z n k ) 上面两式中,N表示点的数量。 γ(znk) γ ( z n k ) 表示点属于聚类k的后验概率。则 Nk N k 可以表示属于第k个聚类的点的数量。那么 μk μ k 表示所有点的加权平均,每个点的权值是 Nn=1γ(znk) ∑ n = 1 N γ ( z n k ) ,跟第k个聚类有关。
  同理可求 k ∑ k 的最大似然函数,可以得到:
k=(1/Nk)n=1Nγ(znk)(xnμk)(xnμk)T ∑ k = ( 1 / N k ) ∑ n = 1 N γ ( z n k ) ( x n − μ k ) ( x n − μ k ) T

  最后剩下 πk π k 的最大似然函数。注意到 πk π k 有限制条件 Kk=1πk=1 ∑ k = 1 K π k = 1 ,因此我们需要加入拉格朗日因子
lnp(x|π,μ,)+λ(k=1Kπk1) l n p ( x | π , μ , ∑ ) + λ ( ∑ k = 1 K π k − 1 )

  求上式关于 πk π k 的最大似然函数,得到:
0=n=1N(N(xn|μk,k)/jπjN(xn|μj,j))+λ 0 = ∑ n = 1 N ( N ( x n | μ k , ∑ k ) / ∑ j π j N ( x n | μ j , ∑ j ) ) + λ

  上式两边同乘 πk π k ,可以得到 λ=N λ = − N ,进而可以得到 πk π k 更简洁的表达式:
πk=Nk/N π k = N k / N

  EM算法估计GMM参数化 μk=(1/Nk)Nn=1γ(znk)xn μ k = ( 1 / N k ) ∑ n = 1 N γ ( z n k ) x n , k=(1/Nk)Nn=1γ(znk)(xnμk)(xn
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值