EM(Expectation Maximization) 算法推导(一)

本文深入探讨了EM算法在参数估计中的应用,详细解析了其背后的数学原理,包括极大似然估计、对数似然函数以及算法的迭代过程。并通过高斯混合模型的实例,阐述了EM算法如何处理观测变量与隐变量的问题。

EM算法公式推导

最近一直在B站上看一个UP主的机器学习白板推导,感觉很有益处,因为之前看过的各种博客似乎都一直强调对EM算法的感性认识,缺少了很多的推导过程。我想,要完全理性地了解这个算法,还是要一步一步地通过推导。

主要参考资料:白板推导视频

以下所有推导公式都是latex手打。

参数估计与EM算法

EM算法解决的其实是一个参数估计的问题。在普通的参数估计中
我们要做的其实是
θ = arg max ⁡ P ( X ∣ θ ) \theta=\argmax P(X| \theta) θ=argmaxP(Xθ)
其中X是现有的已知数据(观测变量),而 θ \theta θ则是参数,这个参数代表的可以只有一个参数,也可以是很多参数。

在概率统计中其实我们学过参数估计的方法,也就是矩估计法估计和极大似然估计。我们在实际中用的更多的是极大似然估计,在及算法的过程中常常有一个技巧,将连乘后的结果取log为底,这也就有了对数似然的这个概念。如下图所示:
L ( X ; θ ) = P ( x 1 ∣ θ ) ⋅ P ( x 2 ∣ θ ) ⋯ P ( x n ∣ θ ) L(X;\theta)=P(x_1|\theta)\cdot P(x_2|\theta) \cdots P(x_n|\theta) L(X;θ)=P(x1θ)P(x2θ)P(xnθ)
log ⁡ L ( X ; θ ) = ∑ i = i n log ⁡ ( x i ∣ θ ) \log L(X;\theta) =\sum_{i=i}^n \log (x_i|\theta) logL(X;θ)=i=inlog(xiθ)
最后对 θ \theta θ进行求导并为0,可以得到 θ ^ \hat{\theta} θ^关于 X X X的表达式。

回到EM算法,EM算法要解决的也就是一个参数估计的问题,但很多参数估计问题,你所知道的仅仅是观测变量,也就是 X X X,有很多问题还有隐变量(latent variables),这里用 Z Z Z来表示。

举个例子,在高斯分布中,如果要估计 μ \mu μ σ \sigma σ其实很简单,根据刚刚所给出的极大似然估计公式,可以得到 μ ^ = X ˉ \hat{\mu}=\bar{X} μ^=Xˉ σ ^ 2 = ∑ i = 1 n ( x i − X ˉ ) 2 \hat{\sigma}^2=\sum_{i=1}^{n}(x_i-\bar{X})^2 σ^2=i=1n(xiXˉ)2

但在也就是高斯混合模型 GMM中,我们得到了由这个分布生成了诸多数据X,求的是各个单独高斯模型的均值和方差,也就是 θ \theta θ但还有一个隐变量 Z Z Z我们是不知道的,也是生成 X X X这组数据的关键:每个点( x i x_i xi)到底是由哪一个高斯分布生成的。

所以,我们看似求的是 θ = arg max ⁡ P ( X ∣ θ ) \theta=\argmax P(X| \theta) θ=argmaxP(Xθ)
实际上求的是 θ = arg max ⁡ P ( X , Z ∣ θ ) \theta=\argmax P(X,Z| \theta) θ=argmaxP(X,Zθ)

所以在EM算法的整个过程大致就是:
先计算 Z Z Z的期望

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值