本章概要
EM算法:一种迭代算法,用于在含有潜在变量的模型中寻找参数的最大似然估计。是第21章中求解GMM参数的核心方法。
两步迭代:E步骤使用当前参数θ⁽ⁱ⁾计算后验概率p(Cₖ|x)。M步骤更新参数θ⁽ⁱ⁺¹⁾以最大化对数似然L(θ)。
收敛保证:每次迭代都单调增加L(θ)直到收敛到局部最大值。由于不存在闭式解,因此必须使用迭代优化。
22.1 EM算法介绍
🎯 核心动机
求解GMM需要估计K个簇的参数θ = {αₖ, μₖ, Σₖ}。 与具有闭式质心更新的K-Means不同,GMM参数没有解析解。 EM提供了一个保证收敛的迭代优化框架。
- • 潜在变量(簇分配)未知
- • θ没有闭式解
- • 由于对数求和结构,直接MLE不可行
- • 对L(θ)的迭代坐标上升
- • 单调收敛保证
- • 计算上可行的更新
EM算法框架
22.2 E步骤:计算后验概率
📊 从先验到后验
E步骤应用贝叶斯定理将先验概率αₖ和似然f(x|Cₖ)转换为后验概率p(Cₖ|x)。 这些后验概率充当每个数据点的"软分配"或"隶属度分数"。
1D EM算法迭代
观察参数通过E步骤和M步骤的演变
似然和联合分布
后验概率
如果p(C₁|x) > p(C₂|x),则将x分配给C₁,否则分配给C₂
随着EM迭代,后验曲线变得更加分离
🔄 EM算法:E步骤使用当前参数θ计算后验概率p(Cₖ|x)。 M步骤更新参数θ以最大化对数似然L(θ)。 通过迭代,参数收敛并且簇出现。 观察μ₁和μ₂如何移向数据质心,σ₁和σ₂如何捕获散布,α₁和α₂如何反映簇的比例。
EM算法:逐步分解
E步骤和M步骤公式的详细演练
初始化参数θ⁽⁰⁾
从参数的初始猜测开始。对于K=2个簇:
α₁ = 0.5, α₂ = 0.5 μ₁ = -1, μ₂ = 1 σ₁ = 0.05, σ₂ = 0.05
🔄 为什么EM有效:E步骤和M步骤形成坐标上升算法。E步骤计算关于后验分布的对数似然期望值。M步骤最大化这个期望对数似然。每次迭代保证不会降低L(θ),确保收敛到局部最大值。
22.3 M步骤:更新参数
🔧 加权参数更新
M步骤使用来自E步骤的后验概率p(Cₖ|xᵢ)作为权重来计算新参数。 这类似于加权平均,其中每个点按其在每个簇中的隶属度成比例地贡献。
αₖ = (1/n)Σᵢ p(Cₖ|xᵢ)μₖ = Σᵢ p(Cₖ|xᵢ)·xᵢ / Σᵢ p(Cₖ|xᵢ)Σₖ = Σᵢ p(Cₖ|xᵢ)·(xᵢ-μₖ)(xᵢ-μₖ)ᵀ / Σᵢ p(Cₖ|xᵢ)对数似然函数L(θ)
EM最大化的目标函数。它衡量模型对观测数据的解释程度。
22.4 收敛和迭代过程
参数收敛可视化
观察参数在EM迭代过程中如何演化和收敛
对数似然L(θ)收敛
• |L(θ⁽ⁱ⁺¹⁾) - L(θ⁽ⁱ⁾)| < ε(例如,ε = 10⁻⁵)
• 或达到最大迭代次数(例如,50或100)
L(θ)单调递增,由EM理论保证。
• 即使L(θ)稳定,参数仍在继续调整
• 分离良好的簇收敛更快
2D情况在11次迭代中收敛,而1D需要36次(更好的初始化)。
🔄 为什么L(θ)总是增加:每次EM迭代都保证不会降低对数似然函数L(θ)。 E步骤计算Q(θ|θ⁽ⁱ⁾),M步骤选择θ⁽ⁱ⁺¹⁾以最大化Q。 根据Jensen不等式,这确保了L(θ⁽ⁱ⁺¹⁾) ≥ L(θ⁽ⁱ⁾)。 曲线在接近局部最大值时变平(收敛)。
🎯 收敛性质
⚙️ 实践考虑
22.5 多元GMM和EM
🎨 2D可视化:全局视图
对于2D数据,我们可以可视化整个EM过程:数据点、高斯椭圆(代表协方差)、质心和决策边界。 观察这些元素在迭代过程中的演变,可以深入了解EM的工作原理。
2D EM算法:椭圆演化
观察高斯椭圆和决策边界在迭代过程中的演化
高斯椭圆与决策边界
🔵 簇1参数
[0.00, 1.00]
🟢 簇2参数
[0.00, 1.00]
🎯 关键洞察
🎯 2D EM可视化:这个可视化展示了核心EM算法过程。 椭圆表示两个高斯分量的2σ置信区域。 随着EM迭代,质心μₖ向簇中心移动,椭圆形状(由Σₖ决定)调整以匹配数据的散布和方向。 决策边界(蓝色/绿色背景)相应移动。 初始参数是糟糕的猜测,但到第11次迭代时,模型准确捕获了数据中的两簇结构。
比较1D与2D EM
- • 参数:α、μ、σ(标量)
- • 差的初始化→更多迭代
- • 可视化:x轴上的PDF曲线
- • 决策:x上的标量阈值
- • 参数:α、μ(向量)、Σ(矩阵)
- • 更好的初始化→更快收敛
- • 可视化:椭圆和散点图
- • 决策:2D边界曲线
本章总结
核心要点
🎯 核心算法
📐 数学保证
🔗 与GMM的联系
EM是拟合GMM参数的标准算法。 第21章从概念上介绍了GMM;本章展示了如何实际计算这些参数。 E步骤对应于基于后验概率对点进行"软分配"到簇。 M步骤对应于使用这些软分配作为权重来更新簇参数(先验、均值、协方差)。
超越GMM:EM的应用
虽然我们专注于GMM,但EM是一个通用算法,适用于许多含有潜在变量的模型: