西瓜书机器学习——第八章EM算法
系列文章目录
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 系列文章目录
- 前置知识
- 一、背景知识:隐变量与EM算法的应用
- 1. 隐变量(Latent Variable)
- **2. EM算法的用途**
- 二、EM算法的思想与流程
- 1. 核心思想:`两步迭代优化`
- **2. 算法流程**
- **三、数学原理:Jensen不等式与下界优化**
- **1. 边缘似然的困境**
- **2. Jensen不等式的应用**
- **四、EM vs 梯度下降:为什么选择坐标下降?**
- **五、总结**
前置知识
完全可以以K-means为例子来理解
一、背景知识:隐变量与EM算法的应用
1. 隐变量(Latent Variable)
• 定义:隐变量是数据中无法直接观测但影响观测数据分布的变量。
• 示例:
◦ 在混合高斯模型(GMM)中,每个样本属于哪个高斯分布是未知的隐变量。
◦ 在文本主题模型中,每篇文档的主题分布是隐变量。
• 核心作用:因此,需要通过对隐变量建模复杂数据分布,解决“不完全数据”的参数估计问题。
2. EM算法的用途
• 核心功能:在存在隐变量或数据缺失时,估计模型参数。
(事实上的分布参数与隐变量分布相互耦合)我们的核心目的是要估计分布参数
• 典型场景:
• 聚类分析(如K-Means、GMM)。
• 隐马尔可夫模型(HMM)的参数学习。
• 主题模型(如LDA)。
• 数据补全(如缺失属性值的估计)。
二、EM算法的思想与流程
实际上是通过交替优化 (Q(Z)) 和 (\theta),避开直接求解复杂耦合问题。
1. 核心思想:两步迭代优化
EM算法通过交替执行以下两步,逐步逼近参数的最优解:
• E步(Expectation):基于当前分布参数估计隐变量的分布(计算后验概率)。 固定分布参数,估计隐变量
• M步(Maximization):基于隐变量的分布更新分布参数,最大化对数似然的下界。 固定隐变量,最大化对数似然下界来更新分布参数
直观类比:K-Means与EM的关系
• 隐变量:样本所属的类别(簇标签)。
• 参数:簇中心(类中心)。
• 迭代过程:
- E步:将样本分配到最近的簇(固定簇中心,估计隐变量)。
- M步:重新计算簇中心(固定隐变量,更新参数)。
2. 算法流程
步骤 | 说明 |
---|---|
输入 | 观测数据 X X X,隐变量 Z Z Z,联合分布 P ( X , Z ∣ θ ) P(X,Z|\theta) P(X,Z∣θ),初始参数 θ ( 0 ) \theta^{(0)} θ(0)。 |
迭代直至收敛 | |
E步 | 计算隐变量的后验概率: Q ( Z ) = P ( Z ∣ X , θ ( t ) ) Q(Z) = P(Z|X, \theta^{(t)}) Q(Z)=P(Z∣X,θ(t))。 |
M步 | 更新参数: θ ( t + 1 ) = arg max θ ∑ Z Q ( Z ) ln P ( X , Z ∣ θ ) \theta^{(t+1)} = \arg\max_\theta \sum_Z Q(Z) \ln P(X,Z|\theta) θ(t+1)=argmaxθ∑ZQ(Z)lnP(X,Z∣θ)。 |
输出 | 参数 θ \theta θ 和隐变量分布 Q ( Z ) Q(Z) Q(Z)。 |
三、数学原理:Jensen不等式与下界优化
1. 边缘似然的困境
• 目标函数为对数边缘似然:
L ( θ ) = ln P ( X ∥ θ ) = ln ∑ Z P ( X , Z ∥ θ ) L(\theta) = \ln P(X\|\theta) = \ln \sum_Z P(X,Z\|\theta) L(θ)=lnP(X∥θ)=lnZ∑P(X,Z∥θ)
• 直接优化困难:对隐变量 Z Z Z 求和的对数难以求导。
2. Jensen不等式的应用
• 引入隐变量的分布 Q ( Z ) Q(Z) Q(Z),构造下界:
L ( θ ) ≥ ∑ Z Q ( Z ) ln P ( X , Z ∥ θ ) Q ( Z ) L(\theta) \geq \sum_Z Q(Z) \ln \frac{P(X,Z\|\theta)}{Q(Z)} L(θ)≥Z∑Q(Z)lnQ(Z)P(X,Z∥θ)
• E步:固定 θ \theta θ,选择 Q ( Z ) = P ( Z ∥ X , θ ( t ) ) Q(Z) = P(Z\|X, \theta^{(t)}) Q(Z)=P(Z∥X,θ(t)),使下界紧贴 L ( θ ) L(\theta) L(θ)。
• M步:固定 Q ( Z ) Q(Z) Q(Z),优化 θ \theta θ以提升下界,从而推高 L ( θ ) L(\theta) L(θ)。
为什么要转最大化对数似然为最大化对数似然下界
- Jensen不等式
对于凸函数 f ( x ) f(x) f(x),有:
f ( E [ x ] ) ≤ E [ f ( x ) ] f\left( \mathbb{E}[x] \right) \leq \mathbb{E}[f(x)] f(E[x])≤E[f(x)]
• 对于凹函数 (f(x))(如对数函数 (\ln(x))),有:
f ( E [ x ] ) ≥ E [ f ( x ) ] f\left( \mathbb{E}[x] \right) \geq \mathbb{E}[f(x)] f(E[x])≥E[f(x)]- 构造下界函数
引入隐变量的分布 Q ( Z ) Q(Z) Q(Z)(需满足 ∑ Z Q ( Z ) = 1 \sum_Z Q(Z) = 1 ∑ZQ(Z)=1),将边缘似然 L ( θ ) L(\theta) L(θ) 转换为期望形式:
L ( θ ) = ln ∑ Z Q ( Z ) ⋅ P ( X , Z ∣ θ ) Q ( Z ) L(\theta) = \ln \sum_Z Q(Z) \cdot \frac{P(X,Z|\theta)}{Q(Z)} L(θ)=lnZ∑Q(Z)⋅Q(Z)P(X,Z∣θ)
根据 Jensen不等式(应用于凹函数 ln ( x ) \ln(x) ln(x)):
ln ∑ Z Q ( Z ) ⋅ P ( X , Z ∣ θ ) Q ( Z ) ≥ ∑ Z Q ( Z ) ⋅ ln P ( X , Z ∣ θ ) Q ( Z ) \ln \sum_Z Q(Z) \cdot \frac{P(X,Z|\theta)}{Q(Z)} \geq \sum_Z Q(Z) \cdot \ln \frac{P(X,Z|\theta)}{Q(Z)} lnZ∑Q(Z)⋅Q(Z)P(X,Z∣θ)≥Z∑Q(Z)⋅lnQ(Z)P(X,Z∣θ)
记下界函数为:
J ( θ , Q ) = ∑ Z Q ( Z ) ⋅ ln P ( X , Z ∣ θ ) Q ( Z ) J(\theta, Q) = \sum_Z Q(Z) \cdot \ln \frac{P(X,Z|\theta)}{Q(Z)} J(θ,Q)=Z∑Q(Z)⋅lnQ(Z)P(X,Z∣θ)
即 L ( θ ) ≥ J ( θ , Q ) L(\theta) \geq J(\theta, Q) L(θ)≥J(θ,Q),最大化 J ( θ , Q ) J(\theta, Q) J(θ,Q) 即可提升 L ( θ ) L(\theta) L(θ)。
四、EM vs 梯度下降:为什么选择坐标下降?
方法 | 优化策略 | 优势场景 |
---|---|---|
梯度下降 | 同时对 (\theta) 和隐变量求导,同步更新。 | 适用于目标函数光滑且可导的简单问题。 |
坐标下降 | 交替优化 (\theta) 和隐变量(分E步和M步)。 | 处理非凸问题、隐变量耦合的复杂目标函数(如EM)。 |
• 关键原因:当目标函数存在隐变量耦合时,直接求导不可行,而分步优化(固定一个变量,优化另一个)简化计算。
五、总结
• 隐变量:EM通过建模隐变量解决不完全数据问题。
• 两步走:E步计算隐变量期望,M步最大化似然下界。
• 数学本质:通过Jensen不等式构造可优化的下界,分步逼近最优解。
• 应用场景:聚类、主题模型、缺失数据补全等需隐变量建模的任务。
每次迭代中,E步让下界紧贴当前似然值,M步提升下界(从而推高似然值)。通过这种交替优化的策略,EM算法成为处理隐变量问题的经典工具,兼具理论严谨性与实践可行性。