本节中,我们介绍EM算法的另一种观点,其中潜在变量起着重要的作用。我们首先使用一种抽象的方式讨论这种方法,然后我们再次考虑高斯混合模型的例子,来具体说明这个模型。

EM算法的目标是找到具有潜在变量的模型的最大似然解。我们将所有观测数据的集合记作,其中第行表示。类似地,我们将所有潜在变量的集合记作,对应的行为。所有模型参数的集合被记作,因此对数似然函数为

注意,这同样适用于连续潜在变量的情形,只需把对的求和替换为积分即可。

一个关键的现象是,对于潜在变量的求和位于对数的内部。即使联合概率分布属于指数族分布,由于这个求和式的存在,边缘概率分布通常也不是指数族分布。求和式的出现阻止了对数运算直接作用于联合概率分布,使得最大似然解的形式更加复杂。

现在假定对于中的每个观测,我们都有潜在变量的对应值。我们将称为完整(complete)数据集,并且我们称实际的观测数据集X是不完整的(incomplete),如图9.5所示。完整数据集的对数似然函数的形式为,并且我们假定对这个完整数据的对数似然函数进行最大化是很容易的。

然而,在实际应用中,我们没有完整数据集,只有不完整的数据。我们关于潜在变量的取值的知识仅仅来源于后验概率分布。由于我们不能使用完整数据的对数似然函数,因此我们反过来考虑在潜在变量的后验概率分布下,它的期望值,这对应于EM算法中的E步骤(稍后会看到)。在接下来的M步骤中,我们最大化这个期望。如果当前对于参数的估计为,那么一次连续的E步骤和M步骤会产生一个修正的估计。算法在初始化时选择了 参数的某个起始值。对期望的使用看起来多少有些随意,但是当我们在9.4节更深入地讨论EM算法时,我们会看到这种选择的原因。

在E步骤中,我们使用当前的参数值寻找潜在变量的后验概率分布。然后,我们使用这个后验概率分布计算完整数据对数似然函数对于一般的参数值的期望。这个期望被记作,由

给出。在M步骤中,我们通过最大化

来确定修正后的参数估计。注意,在的定义中,对数操作直接作用于联合概率分布,因此根据假设,对应的M步骤的最大化是可以计算的。

一般的EM算法总结如下。正如我们稍后会看到的那样,每个EM循环都会增大不完整数据的对数似然函数(除非已经达到局部极大值)。

一般的EM算法

给定观测变量和潜在变量上的一个联合概率分布,由参数控制,目标是关于最大化似然函数

  1. 选择参数的一个初始设置。
  2. E步骤。计算
  3. M步骤。计算,由 给出。其中
  4. 检查对数似然函数或者参数值的收敛性。如果不满足收敛准则,那么令 然后回到第2步。

EM算法也可以用来寻找模型的MAP(最大后验概率)解,此时我们定义一个参数上的先验概率分布。在这种情况下,E步骤与最大似然的情形相同,而在M步骤中,需要最大化的量为。选择合适的先验概率分布会消除图9.7所示的奇异性。

这里,我们考虑了使用EM算法最大化一个包含离散潜在变量的似然函数。然而,它也适用于未观测的变量对应于数据集里的缺失值的情形。观测值的概率分布可以通过对所有变量的联合概率分布关于缺失变量求和或积分的方式得到。这样,EM算法可以用来最大化对应的似然函数。我们后面在图12.11中讨论主成分分析时,会给出这种方法的一个应用。EM算法也适用于数据集随机缺失(missing at random)的情形,即导致某个值缺失的原因不依赖于未观测的值。这种情形有很多,例如当传感器的测量值超过某个阈值时,传感器就不会成功地返回一个值。

results matching ""

    No results matching ""