跳到主内容
快讯直播
AI智模界
AI 词典

期望最大化(EM 算法):不知道答案时,就交替猜两件事

一句话定义:EM 算法(Expectation-Maximization,期望最大化)是一套迭代方法,用来在数据里存在"看不见的变量"时,通过反复交替"猜隐变量"和"重估参数",一步步逼近最优解。

一个生活化的比方

假设你拿到 200 个人的身高数据,但没人告诉你谁是男谁是女——性别这个字段丢了。你只看到身高分布鼓出两个包,却不知道每个点该归哪边。

这时候可以这么干:

1. 先随便给两组参数,比如"一组平均 172、一组平均 160"。

2. E 步(期望步):拿当前参数反推,算每个人更可能属于哪一组。不硬性站队,而是给个概率,比如张三 70% 属于第一组、30% 属于第二组。这一步算的正是"隐变量的期望"。

3. M 步(最大化步):把上一步的概率当成权重,重新算两组的均值和方差——被分到第一组概率高的人,对第一组参数的贡献就大。

4. 回到第 2 步,反复迭代,直到参数几乎不再变化。

这就像把两堆混在一起的豆子重新分堆:先随便分一次,再根据这次分堆的结果重新评估两堆各自长什么样,然后再分一次。每次都会比上一次更像样。

数学上能保证一件事:每轮迭代后,数据的似然(模型解释数据的能力)只会上升、不会下降。但它通常只收敛到局部最优,所以实践里常用多组随机初值跑几遍,挑最好的。

和相邻概念的区别

  • AI 词典:最大似然估计">最大似然估计(MLE):MLE 是目标——找一组让数据出现概率最大的参数;EM 是手段,专门对付"似然里有隐变量、直接求导解不出来"的情况。
  • 和梯度下降:梯度下降是一把通用锤子,靠数值迭代逼近;EM 每一步往往有闭式解,是"分块轮流优化"的思路,通常更快更稳,但只适用于能凑出 E、M 两步的模型。
  • 和 k-means:k-means 可以看成 EM 的"硬分配版"。
对比项k-means高斯混合模型(GMM)+ EM
归属方式硬:每个点只属于一簇软:给出属于各簇的概率
簇的形状偏向球形且大小相近可以是不同大小、不同朝向的椭圆
输出一个簇标签每个簇的概率 + 一组参数

对从业者意味着什么

EM 是几个重要模型背后的共同引擎:高斯混合模型(Gaussian Mixture Model, GMM)的聚类、隐马尔可夫模型(HMM)的 Baum-Welch 训练、缺失数据填补,都靠它。自编码器">变分自编码器(Variational Autoencoder, VAE)沿用的也是"先推断隐变量、再更新参数"的骨架,只是把 E 步换成了神经网络推断、M 步换成了梯度更新。所以理解了 EM,再去看 GMM 和 VAE 会顺很多。

对普通职场人,它提供的是一种思维模板:当关键信息缺失时,不必干等,可以先对缺失部分做一个概率化的猜测,用它反过来改进你的模型,再重新猜——循环几轮,结果往往比一开始想的清楚得多。用户分群、客户画像、推荐系统里的兴趣建模,走的都是这个路子。

具体模型实现和参数细节,以官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。