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=i∑nlog(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(xi−Xˉ)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的期望

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

被折叠的 条评论
为什么被折叠?



