广义期望最大化(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函数找到的解,确实是原始优化问题的一个解。

证明思路(反证法): 我们证明第一部分:如果 的局部最大值,那么 也是 的局部最大值。

  1. 假设 不是 的局部最大值。 这意味着在 的邻域内,存在另一个参数 ,使得
  2. 根据引理9.2,我们知道 。 所以,
  3. 因此,假设 意味着
  4. 但是,我们已知 的一个局部最大值。这意味着在 的邻域内,不存在其他的 使得
  5. 从引理9.1我们知道,当 时,最大化 就是
  6. 因此,我们发现 大于 在局部最大值 处的值。
  7. 如果 足够接近 ,那么 也应该足够接近 (假设连续性)。这样,点 就位于 的邻域内,这与 是局部最大值相矛盾。

定理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. 初始化
  2. 次迭代
    • 步骤1 (E步):求 极大化 。 结果:
    • 步骤2 (M步):求 极大化 。 这等价于
  3. 重复直到收敛。

5.2 GEM算法2(标准Q函数形式,放宽M步)

算法 9.4 GEM算法2 这是最常见的GEM形式,它直接在Q函数上操作,并放宽了M步的条件。

  1. 初始化
  2. 次迭代
    • 步骤1 (E步):计算
    • 步骤2 (M步):求 使得
      • 解释:这里不要求 是Q函数的最大值,只需要找到一个比当前值 更大的值即可。
      • 应用:当Q函数很复杂,难以找到解析的最大值时,我们可以只运行几步梯度上升或其他数值优化方法来“提升”Q函数的值,而不是完全最大化它。这可以显著节省计算时间。例如,在支持向量机(SVM)的SMO算法中,就使用了类似的坐标上升思想,每次只优化两个变量。

5.3 GEM算法3(坐标上升M步)

算法 9.5 GEM算法3 这是GEM算法2的一个特例,它将M步分解为对参数 分量进行坐标上升

  1. 初始化
  2. 次迭代
    • 步骤1 (E步):计算
    • 步骤2 (M步):进行 次条件极大化:
      • 首先,保持 不变,最大化Q函数关于 ,得到
      • 然后,保持 不变,最大化Q函数关于 ,得到
      • …如此继续,直到所有参数分量都被更新一次。
      • 最终得到
    • 解释:这种方法将一个高维的优化问题分解为一系列低维(甚至一维)的优化问题,通常更容易求解。在GMM的M步中,我们实际上就是这样做的:我们分别对 进行最大化,而它们之间在Q函数中是可分离的,因此可以独立优化。