广义期望最大化(GEM)算法
1. 从EM到GEM:引入F函数
在之前的初识EM算法中,我们证明了EM算法通过迭代最大化Q函数来保证观测数据对数似然函数 的单调非减性。现在,我们将引入一个更为通用的F函数,它将EM算法的E步和M步统一到一个单一的优化框架下。
1.1 F函数的定义
定义 9.3 (F函数):假设隐变量数据 的概率分布为 ,定义分布 与参数 的函数 如下:
其中,
-
是完整数据对数似然函数在分布 下的期望。
-
是分布 的熵 (Entropy)。
F函数可以看作是观测数据对数似然函数 的一个泛函下界(Functional Lower Bound)。它同时是隐变量的分布 和模型参数 的函数。EM算法可以被看作是交替最大化这个F函数的过程。
2. 引理分析
2.1 引理9.1:寻找最优的隐变量分布
引理 9.1:
对于固定的参数 ,存在唯一的分布 极大化 ,这时 由下式给出:
详细推导与分析: 这个引理回答了这样一个问题:如果我们固定了模型参数 ,我们应该选择什么样的隐变量分布 才能使得F函数最大?
我们的目标是:
同时, 必须是一个合法的概率分布,即满足约束:
我们将F函数代入,并引入拉格朗日乘子 来处理约束:
为了找到最优的 ,我们对 关于 求偏导,并令其为0:
整理得到:
两边取指数:
- 是一个不依赖于 的常数。
现在,我们利用约束 来求解这个常数:
由于 正是观测数据的边际概率 ,所以:
将 代回 的表达式:
根据条件概率的定义, 正是隐变量 在给定观测数据 和参数 下的后验概率 。 因此,我们证明了:
引理9.1的意义:它从数学上证明了,EM算法的E步选择的后验概率分布 ,正是使F函数在当前参数 下达到最大的那个隐变量分布。这为E步的选择提供了理论依据。
2.2 引理9.2:F函数与对数似然函数的关系
引理 9.2:
若 ,则
详细推导与分析: 这个引理建立了F函数与观测数据对数似然函数之间的直接联系。
证明:
我们将 代入F函数的定义 。
F(\tilde{P}_\theta, \theta) &= \sum_Z P(Z|Y, \theta) \log P(Y, Z|\theta) - \sum_Z P(Z|Y, \theta) \log P(Z|Y, \theta) \\ &= \sum_Z P(Z|Y, \theta) [\log P(Y, Z|\theta) - \log P(Z|Y, \theta)] && \text{(合并求和项)} \\ &= \sum_Z P(Z|Y, \theta) \log \left( \frac{P(Y, Z|\theta)}{P(Z|Y, \theta)} \right) && \text{(对数性质)} \end{aligned}我们知道,根据条件概率的定义,,并且 。
因此,。
将此结果代入:
F(\tilde{P}_\theta, \theta) &= \sum_Z P(Z|Y, \theta) \log P(Y|\theta) \\ &= \log P(Y|\theta) \sum_Z P(Z|Y, \theta) && \text{($\log P(Y|\theta)$ 不依赖于 $Z$)} \\ &= \log P(Y|\theta) \cdot 1 && \text{(概率分布之和为1)} \\ &= \log P(Y|\theta) \end{aligned}引理9.2的意义:它表明,当隐变量的分布被选为后验概率分布时,F函数的值恰好等于观测数据的对数似然函数值。这进一步巩固了F函数是 下界的思想,并且在最优的 下,这个下界与 相等。
3. 定理9.3:EM算法与F函数极大化的关系
定理 9.3:
设 为观测数据的对数似然函数, 为EM算法得到的参数估计序列。如果 在 和 有局部极大值,那么 也在 有局部极大值。类似地,如果 在 和 达到全局最大值,那么 也在 达到全局最大值。
分析: 这个定理建立了EM算法的收敛点与真实似然函数 的局部/全局最大值之间的关系。它告诉我们,通过交替最大化F函数找到的解,确实是原始优化问题的一个解。
证明思路(反证法): 我们证明第一部分:如果 是 的局部最大值,那么 也是 的局部最大值。
- 假设 不是 的局部最大值。 这意味着在 的邻域内,存在另一个参数 ,使得 。
- 根据引理9.2,我们知道 。 所以, 和 。
- 因此,假设 意味着 。
- 但是,我们已知 是 的一个局部最大值。这意味着在 的邻域内,不存在其他的 使得 。
- 从引理9.1我们知道,当 时,最大化 的 就是 。
- 因此,我们发现 大于 在局部最大值 处的值。
- 如果 足够接近 ,那么 也应该足够接近 (假设连续性)。这样,点 就位于 的邻域内,这与 是局部最大值相矛盾。
定理9.3的意义:它确保了EM算法最终收敛到的解是有意义的,即对应于原始优化问题的一个局部(或全局)最优解。这为EM算法的合理性提供了最终的保障。
4. EM算法的统一视角
EM算法可以被看作是在函数 上的坐标上升法(Coordinate Ascent)。
-
F函数有两个“坐标”:一个是分布 ,另一个是参数 。
-
E步:固定参数 ,然后最大化 关于分布 。根据引理9.1,我们知道最优的 是 。
-
M步:固定分布 (即 ),然后最大化 关于参数 。
\arg\max_{\theta} F(\tilde{P}^{(t+1)}, \theta) &= \arg\max_{\theta} \left( \sum_Z \tilde{P}^{(t+1)}(Z) \log P(Y, Z|\theta) - \sum_Z \tilde{P}^{(t+1)}(Z) \log \tilde{P}^{(t+1)}(Z) \right) \\ &= \arg\max_{\theta} \sum_Z P(Z|Y, \theta^{(t)}) \log P(Y, Z|\theta) && \text{(第二项是与$\theta$无关的常数)} \\ &= \arg\max_{\theta} Q(\theta, \theta^{(t)}) \end{aligned}这表明,最大化 关于 等价于最大化Q函数。
所以,EM算法的E步和M步可以被统一理解为在F函数上交替进行坐标上升,从而逐步逼近F函数的最大值,进而也逼近了 的最大值。
5. 广义EM(GEM)算法的三种变体
标准EM算法的M步要求完全最大化Q函数,这在某些情况下可能很困难或计算成本高昂。广义EM(GEM)算法放宽了这个要求,只需要在M步中提升Q函数的值,而不是必须找到最大值。
5.1 GEM算法1(基于F函数)
算法 9.3 GEM算法1 这是EM算法的F函数形式,我们上面已经详细分析过。
- 初始化:。
- 第 次迭代:
- 步骤1 (E步):求 极大化 。 结果:。
- 步骤2 (M步):求 极大化 。 这等价于 。
- 重复直到收敛。
5.2 GEM算法2(标准Q函数形式,放宽M步)
算法 9.4 GEM算法2 这是最常见的GEM形式,它直接在Q函数上操作,并放宽了M步的条件。
- 初始化:。
- 第 次迭代:
- 步骤1 (E步):计算 。
- 步骤2 (M步):求 使得
- 解释:这里不要求 是Q函数的最大值,只需要找到一个比当前值 更大的值即可。
- 应用:当Q函数很复杂,难以找到解析的最大值时,我们可以只运行几步梯度上升或其他数值优化方法来“提升”Q函数的值,而不是完全最大化它。这可以显著节省计算时间。例如,在支持向量机(SVM)的SMO算法中,就使用了类似的坐标上升思想,每次只优化两个变量。
5.3 GEM算法3(坐标上升M步)
算法 9.5 GEM算法3 这是GEM算法2的一个特例,它将M步分解为对参数 的分量进行坐标上升。
- 初始化:。
- 第 次迭代:
- 步骤1 (E步):计算 。
- 步骤2 (M步):进行 次条件极大化:
- 首先,保持 不变,最大化Q函数关于 ,得到 。
- 然后,保持 不变,最大化Q函数关于 ,得到 。
- …如此继续,直到所有参数分量都被更新一次。
- 最终得到 。
- 解释:这种方法将一个高维的优化问题分解为一系列低维(甚至一维)的优化问题,通常更容易求解。在GMM的M步中,我们实际上就是这样做的:我们分别对 进行最大化,而它们之间在Q函数中是可分离的,因此可以独立优化。