《统计学习方法》第9章 EM/GMM/F-MM/GEM

本文深入介绍了EM算法,详细解析了三硬币例子,展示了如何通过EM算法解决高斯混合模型参数估计问题。内容涵盖EM算法的引入、收敛性、在非监督学习和高斯混合模型中的应用,以及F-MM算法和GEM算法的证明。通过实例和证明,帮助读者更好地理解和应用EM算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实时更新的原文地址:《统计学习方法》第9章 EM/GMM/F-MM/GEM

前言

EM(期望最大)算法有很多的应用,最广泛的就是混合高斯模型、聚类、HMM等等,本质上就是一种优化算法,不断迭代,获得优值,与梯度下降、牛顿法、共轭梯度法都起到同一类的作用。

本文是对李航《统计学习方法》的第9章复习总结,主要内容如下

  1. EM(期望最大)算法证明有跳跃性的地方全部事无巨细地写出来,

  2. 清晰地梳理网上很多人觉得没看明白的三硬币例子,将会把这个例子跟公式一一对应起来

  3. GMM(高斯混合模型)迭代公式证明

  4. F函数的极大-极大算法(Maximization-Maximization-algorithm)和GEM 详细证明

当然大家也可以参考Standford CS299 Machine LearningEM课件 ,相比之下李航这本书在 Jensen‘s inequality(琴声不等式:凸优化知识的应用)讲的不够详细,其他都差不多,只是表述上不一样,有兴趣可以综合来看。

本文原文将书上所有证明给出,由于优快云的公式编辑器公式支持不全,有些公式没法正常显示,欢迎点击此处查看原文, 个人技术博客:SnailDove

正文

9.1 EM算法的引入

概率模型有时既含有观测变量(observable variable) , 又含有隐变量(hidden variable)潜在变量(latent variable)

如果概率模型的变量都是观测变量, 那么给定数据, 可以直接用极大似然估计法或贝叶斯估计法估计模型参数。 但是, 当模型含有隐变量时, 就不能简单地使用这些估计方法。 EM算法就是含有隐变量的概率模型参数的极大似然估计法, 或极大后验概率估计法。 我们仅讨论极大似然估计, 极大后验概率估计与其类似。

9.1.1 EM算法

1540625262559

这里, 随机变量 y y y 是观测变量, 表示一次试验观测的结果是1或0; 随机变量 z z z 是隐变量, 表示未观测到的掷硬币 A A A 的结果; θ = ( π , p , q ) \theta=( \pi ,p, q) θ(π,pq) 是模型参数。 这一模型是以上数据的生成模型。 注意, 随机变量 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(Y1Y2,,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θ)=ZP(Y,Zθ)=ZP(Zθ)P(YZ,θ)(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=1n{ πpyj(1p)(1yj)+(1π)qyj(1q)(1yj)}(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算法的导出

1540629489022

1540629535384

:最后一步源自于 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))ZP(ZY,θ(i))
1540629838496
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(ZY,θ(i)) ,所以在 θ ( i ) \theta^{(i)} θ(i) 值确定的情况下, P ( Z ∣ Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) P(ZY</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值