机器学习笔记_西瓜书_07(贝叶斯分类器_补)
7.6 EM算法
7.6.1 EM算法的核心动机:解决“隐变量”带来的估计难题
当训练样本存在“未观测变量”(文档中称为隐变量,记为ZZZ)时,直接估计模型参数会陷入困境:
- 示例场景(西瓜根蒂未知):若用朴素贝叶斯分类器,需计算“根蒂=蜷缩|好瓜=是”这类条件概率,但根蒂取值(隐变量ZZZ)未知,无法直接通过“计数”估计;
- 通用数学表达:若模型参数为Θ\ThetaΘ,已观测变量为XXX(如西瓜的色泽、敲声等已知属性),我们希望最大化已观测数据的对数边际似然:
LL(Θ∣X)=lnP(X∣Θ)=ln∑ZP(X,Z∣Θ)(7.6.1)LL(\Theta | X) = \ln P(X | \Theta) = \ln \sum_{Z} P(X, Z | \Theta) \tag{7.6.1}LL(Θ∣X)=lnP(X∣Θ)=lnZ∑P(X,Z∣Θ)(7.6.1)
但由于求和项∑Z\sum_{Z}∑Z的存在(需遍历所有隐变量可能取值),直接对Θ\ThetaΘ求导最大化该式会非常复杂,甚至无法求解。
EM算法的核心思路是绕开隐变量的直接观测,通过“迭代优化”间接实现参数估计:先假设参数已知,估计隐变量的分布(E步);再基于隐变量的分布,更新参数(M步),循环至收敛。
7.6.2 EM算法的基本原理:交替执行“E步”与“M步”
EM算法是一种迭代式方法,核心是定义期望似然函数并交替优化,具体逻辑基于以下两点:
- 隐变量的“期望替代”:若参数Θt\Theta^tΘt已知(第ttt轮迭代的参数),则可计算隐变量ZZZ的后验分布P(Z∣X,Θt)P(Z | X, \Theta^t)P(Z∣X,Θt),进而得到“对数似然关于ZZZ的期望”(记为QQQ函数);
- 参数的“最大化更新”:基于QQQ函数(已消除隐变量的求和项),寻找新参数Θt+1\Theta^{t+1}Θt+1使其最大化,完成一轮迭代。
7.6.3 EM算法的具体步骤(7.6节标准流程)
设已观测变量集为XXX,隐变量集为ZZZ,模型参数为Θ\ThetaΘ,EM算法通过以下步骤迭代求解,直至收敛:
7.6.3.1 初始化参数
选择初始参数Θ0\Theta^0Θ0(如随机初始化朴素贝叶斯的条件概率、高斯混合模型的均值等)。
7.6.3.2 迭代执行“E步”与“M步”(核心环节)
(1)E步(Expectation:求隐变量的期望)
基于当前参数Θt\Theta^tΘt,计算隐变量ZZZ的后验分布P(Z∣X,Θt)P(Z | X, \Theta^t)P(Z∣X,Θt),并以此为权重,计算“对数似然LL(Θ∣X,Z)LL(\Theta | X, Z)LL(Θ∣X,Z)关于ZZZ的期望”——即**QQQ函数**:
Q(Θ∣Θt)=EZ∣X,Θt[LL(Θ∣X,Z)](7.6.2)Q(\Theta | \Theta^t) = \mathbb{E}_{Z | X, \Theta^t} \left[ LL(\Theta | X, Z) \right] \tag{7.6.2}Q(Θ∣Θt)=EZ∣X,Θt[LL(Θ∣X,Z)](7.6.2)
- 直观理解:“对数似然关于ZZZ的期望”意味着“用隐变量的概率分布加权,替代隐变量的具体取值”,从而消除求和项∑Z\sum_{Z}∑Z。
- 示例(西瓜根蒂未知):若当前参数Θt\Theta^tΘt给出“好瓜=是时,根蒂=蜷缩的概率为0.6,根蒂=硬挺的概率为0.4”,则E步会用这两个概率作为权重,计算对数似然的期望,而非纠结“根蒂到底是哪种取值”。
(2)M步(Maximization:最大化期望似然)
寻找新参数Θt+1\Theta^{t+1}Θt+1,使其最大化E步得到的QQQ函数:
Θt+1=arg maxΘ Q(Θ∣Θt)(7.6.3)\Theta^{t+1} = \underset{\Theta}{arg\ max}\ Q(\Theta | \Theta^t) \tag{7.6.3}Θt+1=Θarg max Q(Θ∣Θt)(7.6.3)
- 关键特性:此时QQQ函数已无隐变量的求和项(被期望替代),可直接对Θ\ThetaΘ求导或用解析法求解最大值,计算难度大幅降低。
- 示例(西瓜根蒂未知):M步会基于E步的期望权重,更新“根蒂=蜷缩|好瓜=是”这类条件概率,确保期望似然最大。
7.6.3.3 停止迭代
重复E步和M步,直至参数Θ\ThetaΘ的变化小于预设阈值(如∥Θt+1−Θt∥<10−6\|\Theta^{t+1} - \Theta^t\| < 10^{-6}∥Θt+1−Θt∥<10−6),或QQQ函数的提升小于阈值,此时得到最终的参数估计结果。
7.6.4 EM算法的关键特性(7.6节隐含核心要点)
- 收敛性:EM算法能保证迭代过程中已观测数据的对数边际似然LL(Θ∣X)LL(\Theta | X)LL(Θ∣X) 单调递增(即LL(Θt+1∣X)≥LL(Θt∣X)LL(\Theta^{t+1} | X) \geq LL(\Theta^t | X)LL(Θt+1∣X)≥LL(Θt∣X)),最终收敛到局部最优解(非全局最优,受初始参数影响)。
- 通用性:EM算法不局限于“缺失属性”场景,只要模型存在隐变量(如高斯混合模型的“样本所属成分”、隐马尔可夫模型的“隐藏状态”),均可使用(文档9.4.3节“高斯混合聚类”就是EM的典型延伸应用)。
- 与梯度优化的区别:若用梯度下降直接优化LL(Θ∣X)LL(\Theta | X)LL(Θ∣X),需处理“对隐变量求和导致的梯度计算爆炸”;而EM通过“期望替代”绕开这一问题,属于非梯度优化方法,计算更高效。
7.6.5 总结:EM算法如何解决“不完整样本”问题
回到“西瓜根蒂未知”的场景:
- 直接估计困境:因根蒂(隐变量ZZZ)未知,无法直接计算条件概率以估计模型参数;
- EM算法解决方案:通过E步“估计根蒂的概率分布”,再通过M步“基于该分布更新参数”,交替迭代后,即使隐变量未观测,也能得到合理的参数估计结果。
简言之,EM算法是解决“隐变量导致参数估计困难”的通用工具,不仅适用于“缺失属性”场景,更是后续高斯混合聚类、因子分析等模型的核心求解器。
更多推荐
所有评论(0)