含隐变量的图模型的参数学习(EM 算法)

有些时候 中的变量有很复杂的依赖关系,直接建模 会很困难,这时通常会引入隐变量 来简化模型。如果图模型中包含隐变量,即有部分变量是不可观测的,这时就需要用 EM 算法(Expectation Maximum,期望最大化算法)来进行参数估计。

下图为带隐变量的贝叶斯网络的图模型结构,矩形表示其中的变量重复 次(因为数据集中有 个样本):

latent variable

边缘似然

为可观测变量集合, 为隐变量集合。由于隐变量不可观测,因此一般改用边缘分布(也就是显变量的分布)的最大似然为目标函数。

样本 边缘似然函数(Marginal Likelihood)为:

边缘似然也称为证据(evidence)。

给定 个训练样本 ,其对数边缘似然函数为:

ELBO

上式第三步意味着我们要对所有可能的 求和(或积分),除非 的形式非常简单,否则这在很多情况下是 intractable 的。因此,为了计算 ,我们引入一个额外的变分函数(variational function) 是一个定义在隐变量 上的分布:

为样本 的对数边缘似然函数 的下界,称为证据下界(Evidence Lower Bound,ELBO)。

其中,詹森不等式(Jensen Inequlity)指,对于下凸函数 ,『期望的函数大于等于函数的期望』一定成立,即:

当且仅当 时,等号成立,即


证明过程如下(《神经网络与深度学习》习题 11-4,不想看证明的话跳过就好):

显然,当且仅当 的比值为一个常数时,等号成立:

其中 可以看作是 的边缘概率; 可以看作是 的边缘概率,从而:

将式 (2) 带入式 (1) 得:

注意,式 (3) 中的 是一个常数值。比如当 EM 算法的第 时,式 (3) 中的 就是 步时的参数


这样,最大化对数边缘似然函数 的过程可以分解为两个步骤:

  1. 找到近似分布 使得

  2. 寻找能最大化 的参数

这就是 EM 算法。

EM 算法

EM 算法具体分为 E 步(expectation step)和 M 步(maximization step),这两步不断重复,通过迭代的方法来最大化边缘似然。在第 步更新时,E 步和 M 步分别为:

  1. E 步:固定参数 ,找到一个分布 使得证据下界 等于

  2. M 步:固定 ,找到一组参数使得证据下界 最大,即:

为上一时刻的参数, 的后验分布。

从 KL 散度来理解

对数边缘似然 可以分解为:

两边同时对隐变量分布 求期望,左边:

右边可以先写成:

则右边对隐变量分布 求期望:

合起来:

其中, 为隐变量分布 和后验分布 KL 散度

KL 散度一定 ,且当且仅当 时,,从而使得

所以 的一个下界。因此当逐步提高这个下界时,相当于增大了 ,所以要对 ELBO 求期望最大化:

收敛性证明

直觉上的证明

假设在第 步时的模型参数为

  • E 步:找到一个分布 使得

  • M 步:固定 ,找到一组参数 使得 最大,则有

因此有:

公式上的证明

我觉得直觉上的证明已经很清楚了...所以公式上的证明我就直接放个链接了。

EM 算法在 GMM 中的应用

参考