EM Algorithm
EM 算法是极大似然法的推广,用于解决存在隐变量(hidden variables / latent factors)的参数估计问题。
1 EM 算法
1.1 问题描述
极大似然法是最常用的参数估计方法之一。设观测变量为
1.2 理论推导
为了解决上述问题,我们为隐变量
不等式能取到等号说明
E-step. 固定
优化 : 根据前文的讨论,这一步的最优解就是取 ,以使得 .M-step. 固定
优化 : 注意到该优化目标可以拆出一个与 无关的常数项: 因此这一步等价于优化 :
如此经过一轮 E-step 和 M-step,我们有:
可以看见,红色线条是要优化的目标,蓝色线条是在当前
1.3 进一步分析
在上一节中,我们推出了
1.4 算法步骤
综上所述,EM 算法的步骤如下:
随机初始化
;E-step. 给定
,求隐变量的后验分布 并计算优化目标:M-step. 优化
,得到 :迭代执行 2、3 步直至收敛。
1.5 收敛性
EM 算法一定收敛吗?这里的收敛其实包含两层意思:
收敛:上文已经说明了 在优化过程中单调不减,又它显然有上界,根据单调有界定理, 必然收敛。 收敛:见参考文献[5]。
需要注意的是,虽然 EM 算法一定收敛,但是可能收敛到局部最优解,收敛结果取决于初始化的情况。
1.6 关于独立重复试验的注解
在上面的推导中,我们把所有的观测结果记作
2 例子:双硬币问题
假设有两枚硬币 A,B,它们正面朝上的概率未知,分别记作
试验 id | 选取的硬币 | 试验结果 |
---|---|---|
1 | B | 5 H, 5 T |
2 | A | 9 H, 1 T |
3 | A | 8 H, 2 T |
4 | B | 4 H, 6 T |
5 | A | 7 H, 3 T |
可以看见,综合 5 次试验,硬币 A 一共 24 次正面朝上、6 次反面朝上,硬币 B 一共 9 次正面朝上、11 次反面朝上,所以
试验 id | 选取的硬币 | 试验结果 |
---|---|---|
1 | 5 H, 5 T |
|
2 | 9 H, 1 T |
|
3 | 8 H, 2 T |
|
4 | 4 H, 6 T |
|
5 | 7 H, 3 T |
其中
随机初始化
;E-step. 求隐变量的后验分布
,以第一次试验为例: 为了书写方便,以下将 和 分别简记为 和 . 计算优化目标 :M-step. 优化上述目标,求偏导并令为零:
解得: 同理求解。迭代执行 2、3 步直至收敛。
3 应用:高斯混合模型 (GMM)
设有
与双硬币问题非常相似,这个问题中我们不知道每次采样究竟选取的是哪个高斯分布,所以可以定义隐变量
E-step. 给定
为书写方便,以下将其简记为
解得:
随机初始化模型参数
.E-step. 计算隐变量的概率分布:
M-step. 更新参数:
迭代执行第 2、3 步直至收敛。
4 一点注记
EM 算法在 E-step 要求我们能表达出隐变量的后验概率
这自然带来了一个问题,如果似然本身就是不可解 (intractable) 的,那么 EM 算法就做不下去了。例如,在 GMM 中,隐变量取值是离散的,表示样本来自于哪个高斯分布。倘若我们把高斯分布的数量不断变大乃至无穷,那么隐变量取值就变成连续的,后验概率的分母(似然)变成了一个积分,无法通过枚举计算。为了解决这个问题,人们提出了变分推断的概念,我们在后面的文章中学习。
参考资料
- Do, Chuong B., and Serafim Batzoglou. What is the expectation maximization algorithm?. Nature biotechnology 26, no. 8 (2008): 897-899. ↩︎
- Borman, Sean. The expectation maximization algorithm-a short tutorial. https://www.lri.fr/~sebag/COURS/EM_algorithm.pdf ↩︎
- Tengyu Ma and Andrew Ng. CS229 Lecture notes: The EM algorithm. https://cs229.stanford.edu/notes2021fall/cs229-notes8.pdf ↩︎
- Bishop, Christopher. Pattern recognition and machine learning. Springer google schola 2 (2006): 531-537. ↩︎
- Wu, CF Jeff. On the convergence properties of the EM algorithm. The Annals of statistics (1983): 95-103. ↩︎
- 李航.统计学习方法 ↩︎
- 人人都懂EM算法 - August的文章 - 知乎 https://zhuanlan.zhihu.com/p/36331115 ↩︎
- 【机器学习】EM——期望最大(非常详细) - 阿泽的文章 - 知乎 https://zhuanlan.zhihu.com/p/78311644 ↩︎
- 高斯混合模型(GMM)推导及实现 - 永远在你身后的文章 - 知乎 https://zhuanlan.zhihu.com/p/85338773 ↩︎
- 机器学习-白板推导系列(十一)-高斯混合模型GMM(Gaussian Mixture Model)https://www.bilibili.com/video/BV13b411w7Xj?p=3&share_source=copy_web&vd_source=a43b4442e295a96065c7ae919b4866d3 ↩︎