实时更新的原文地址:《统计学习方法》第9章 EM/GMM/F-MM/GEM
前言
EM(期望最大)算法有很多的应用,最广泛的就是混合高斯模型、聚类、HMM等等,本质上就是一种优化算法,不断迭代,获得优值,与梯度下降、牛顿法、共轭梯度法都起到同一类的作用。
本文是对李航《统计学习方法》的第9章复习总结,主要内容如下
-
EM(期望最大)算法证明有跳跃性的地方全部事无巨细地写出来,
-
清晰地梳理网上很多人觉得没看明白的三硬币例子,将会把这个例子跟公式一一对应起来
-
GMM(高斯混合模型)迭代公式证明
-
F函数的极大-极大算法(Maximization-Maximization-algorithm)和GEM 详细证明
当然大家也可以参考Standford CS299 Machine Learning 的 EM课件 ,相比之下李航这本书在 Jensen‘s inequality(琴声不等式:凸优化知识的应用)讲的不够详细,其他都差不多,只是表述上不一样,有兴趣可以综合来看。
本文原文将书上所有证明给出,由于优快云的公式编辑器公式支持不全,有些公式没法正常显示,欢迎点击此处查看原文, 个人技术博客:SnailDove
文章目录
正文
9.1 EM算法的引入
概率模型有时既含有观测变量(observable variable) , 又含有隐变量(hidden variable)或潜在变量(latent variable) 。
如果概率模型的变量都是观测变量, 那么给定数据, 可以直接用极大似然估计法或贝叶斯估计法估计模型参数。 但是, 当模型含有隐变量时, 就不能简单地使用这些估计方法。 EM算法就是含有隐变量的概率模型参数的极大似然估计法, 或极大后验概率估计法。 我们仅讨论极大似然估计, 极大后验概率估计与其类似。
9.1.1 EM算法
这里, 随机变量 y y y 是观测变量, 表示一次试验观测的结果是1或0; 随机变量 z z z 是隐变量, 表示未观测到的掷硬币 A A A 的结果; θ = ( π , p , q ) \theta=( \pi ,p, q) θ=(π,p,q) 是模型参数。 这一模型是以上数据的生成模型。 注意, 随机变量 y y y 的数据可以观测, 随机变量 z z z 的数据不可观测。
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ P(y|\theta) &=…
将观测数据表示为 Y = ( Y 1 , Y 2 , … , Y n ) T Y=(Y_1, Y_2,…,Y_n)^T Y=(Y1,Y2,…,Yn)T, 未观测数据表示为 Z = ( Z 1 , Z 2 , … , Z n ) T Z=(Z_1,Z_2,…,Z_n)^T Z=(Z1,Z2,…,Zn)T, 则观测数据的似然函数为
(9.2) P ( Y ∣ θ ) = ∑ Z P ( Y , Z ∣ θ ) = ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P(Y|\theta) = \sum\limits_{Z}P(Y,Z|\theta)=\sum\limits_{Z}P(Z|\theta)P(Y|Z,\theta) \tag{9.2} P(Y∣θ)=Z∑P(Y,Z∣θ)=Z∑P(Z∣θ)P(Y∣Z,θ)(9.2)
即:
(9.3) P ( Y ∣ θ ) = ∏ j = 1 n { π p y j ( 1 − p ) ( 1 − y j ) + ( 1 − π ) q y j ( 1 − q ) ( 1 − y j ) } P(Y|\theta)= \prod_{j=1}^{n}\left\{\pi p^{y_j}(1-p)^{(1-y_j)} + (1 - \pi) q^{y_j}(1-q)^{(1-y_j)}\right\} \tag{9.3} P(Y∣θ)=j=1∏n{
πpyj(1−p)(1−yj)+(1−π)qyj(1−q)(1−yj)}(9.3)
考虑求模型参数 $\theta =(\pi, p, q) $ 的极大似然估计,即:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \hat{\theta}=\…
这个问题没有解析解,因为隐变量数据无法获得,只有通过迭代的方法求解。 EM算法就是可以用于求解这个问题的一种迭代算法。
一般地, 用 Y Y Y 表示观测随机变量的数据, Z Z Z 表示隐随机变量的数据。 Y Y Y 和 Z Z Z 连在一起称为**完全数据(complete-data) , 观测数据 Y Y Y 又称为不完全数据(incomplete-data) **。 假设给定观测数据 Y Y Y, 其概率分布是 P ( Y ∣ θ ) P(Y|\theta) P(Y∣θ), 其中是需要估计的模型参数, 那么不完全数据 Y Y Y 的似然函数是 P ( Y ∣ θ ) P(Y|\theta) P(Y∣θ), 对数似然函数 L ( θ ) = l o g P ( Y ∣ θ ) L(\theta)=\mathrm{log}P(Y|\theta) L(θ)=logP(Y∣θ) ; 假设 Y Y Y 和 Z Z Z 的联合概率分布是 P ( Y , Z ∣ θ ) P(Y, Z|\theta) P(Y,Z∣θ), 那么完全数据的对数似然函数是 l o g P ( Y , Z ∣ θ ) \mathrm{log}P(Y, Z|\theta) logP(Y,Z∣θ)。
9.1.2 EM算法的导出
注:最后一步源自于 Z Z Z 所有可能取值的概率和为1
l o g P ( Y ∣ θ ( i ) ) = l o g P ( Y ∣ θ ( i ) ) ⋅ ∑ Z P ( Z ∣ Y , θ ( i ) ) \mathrm{log}P(Y|\theta^{(i)})=\mathrm{log}P(Y|\theta^{(i)}) \cdot \sum\limits_{Z}P(Z|Y, \theta^{(i)}) logP(Y∣θ(i))=logP(Y∣θ(i))⋅Z∑P(Z∣Y,θ(i))
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}…
加号右边,利用对数函数的性质得到:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ &\sum\limits_{…
代入上式可得:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}…
由于在迭代求第 i + 1 i+1 i+1 步时, θ ( i ) \theta^{(i)} θ(i) 是已知的,那么由训练数据中可以求得 P ( Z ∣ Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) P(Z∣Y,θ(i)) ,所以在 θ ( i ) \theta^{(i)} θ(i) 值确定的情况下, P ( Z ∣ Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) P(Z∣Y</