00-EM算法

本文介绍了EM算法在GMM/HMM训练中的应用,详细阐述了极大似然估计和期望最大化算法的原理。在含有隐藏变量的模型中,EM算法用于求解最大似然估计的模型参数。文章通过推导解释了E步和M步的过程,并提及了算法的收敛性。
摘要由CSDN通过智能技术生成

在GMM/HMM(语音识别)训练过程中,需要使用EM算法进行求解模型参数。所以,本文主要推导一下EM算法。即明白什么是期望最大化

Outline:

  1. 极大似然估计(Maximum Likelihood Estimation, MLE)
  2. 期望最大化算法(Expectation Maximization, EM)

我们知道如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法(MLE),或者贝叶斯估计法来估计模型参数(如:求在校学生身高分布)。然而,当模型中含有隐藏变量时,就不能简单地使用这些估计方法(如:《统计学习方法-李航》中的三硬币模型)。所以,在含有隐变量(Latent Variables)统计模型中,就需要利用EM算法来找到符合观测数据的最大似然的模型参数。

1.极大似然估计(Maximum Likelihood Estimation, MLE)

假如有 n 个独立同分布的观测值X=(x1,x2,,xn),来自一个未知概率密度函数的分布 f0(.|θ) 。问题就是怎么从观测值中求出待估参数 θ ?显然,这里可以利用一种常用的点估计方法——最大似然估计,求待估参数 θ
所有观测的联合密度函数:

f(x1,x2,,xn|θ)=f(x1|θ)×f(x2|θ)××f(xn|θ)

θ 似然函数:

L(θ;x1,x2,,xn)=f(x1,x2,,xn|θ)=i=1nf(xi|θ)lnL(θ;x1,x2,,xn)=i=1nlnf(xi|θ)

极大化似然函数:

θ^=argmaxθlnL(θ;x1,x2,,xn)

得到的 θ^ 作为 θ 的极大似然估计,这样我们就求出了模型参数了。

2.期望最大化算法(Expectation Maximization,EM)

然而在一些实际问题中,所要求解的概率模型含有Latent Variable,导致无法利用ML直接计算。(注:下式是向量形式,对向量形式求概率实际上对每一个观测值概率做累乘 Z 是对所以 zi 求和)

L(θ)=lnP(X|θ)(2.1)

因为有Latent Variable存在,在求 时会遇到困难。所以应把Latent Variable考虑进去求解

L(θ)=lnzP(X,Z|θ)=lnzP(X|Z,θ)P(Z|θ)(2.2)

我们的目标是最大化 L(θ) ,即在迭代过程中,让 L(θ)>L(θn) 。相当于最大化

L(θ)L(θn)=lnP(X|θ)lnP(X|θn)=lnzP(X|Z,θ)P(Z|θ)lnP(X|θn)=lnzP(X|Z,θ)P(Z|θ)P(Z|X,θn)P(Z|X,θn)lnP(X|θn)ZP(Z|X,θn)lnP(X|Z,θ)P(Z|θ)P(Z|X,θn)lnP(X|θn)=ZP(Z|X,θn)lnP(X|Z,θ)P(Z|θ)P(Z|X,θn)P(X|θn)(2.3)(2.4)(2.5)(2.6)

(2.4)到(2.5), P(Z|X,θn) 满足 λi0 n1=1 ,恰好下一步应用Jensen不等式。
(2.4)到(2.5),利用到了Jensen不等式: lnn1λixin1λilnxi ; λi0 niλi=1
(2.5)到(2.6),利用 lnP(X|θn)=ZP(Z|X,θn)lnP(X|θn) 。令

l(θ|θn)=ZP(Z|X,θn)lnP(X|Z,θ)P(Z|θ)P(Z|X,θn)P(X|θn)+L(θn)L(θ)l(θ|θn)(2.7)

θ=θn 时, L(θn)=l(θn|θn) 。即 l(θn|θn) L(θn) 的下界。最大化 l(θn|θn) ,移除常数项

θn+1=argmaxθl(θn|θn)=argmaxθ{ZP(Z|X,θn)lnP(X|Z,θ)P(Z|θ)P(Z|X,θn)P(X|θn)+L(θn)}=argmaxθ{ZP(Z|X,θn)ln[P(X|Z,θ)P(Z|θ)]}=argmaxθ{ZP(Z|X,θn)ln[P(X|Z,θ)]}=argmaxθ{EZ|X,θnlnP(X,Z|θ)}=argmaxθQ(θ,θn)(2.8)

以上就是EM算法的导出过程。 Q(θ,θn) 是指完全数据的对数似然函数 ln[P(X,Z|theta)] 关于给定观测数据 X 和当前参数θn下对未观测数据 Z 的条件概率分布P(Z|X,θn)的期望。这也是为什么叫期望最大化算法的缘故!
- Expectation-Step: 确定条件期望 Q(θ,θn)
- Maximization-Step: 最大化期望值,更新 θn+1=argmaxθQ(θ,θn)

但实际使用中,可能有点misnomer。因为我们这样使用:
1. 选择初始值 ,开始迭代;
2. E-step:计算的是有关 Q(θ,θn) 固定的数据依赖的参数;
3. M-step:更新模型参数 θn+1
4. 重复2, 3,直至收敛

具体EM算法收敛性证明,见参考资料:《统计学习方法_9.2》- 李航

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值