这里,我们考虑另一种方法,这种方法里,我们限制概率分布的范围。假设我们将的元素划分成若干个互不相交的组,记作,其中。然后,我们假定分布关于这些分组可以进行分解,即
需要强调的是,我们关于概率分布没有做更多的假设。特别地,我们没有限制各个因子的函数形式。变分推断的这个分解的形式对应于物理学中的一个近似框架,叫做平均场理论(mean field theory)(Parisi, 1988)。
在所有具有式(10.5)的形式的概率分布中,我们现在寻找下界最大的概率分布。于是,我们希望对关于所有的概率分布进行一个自由形式的(变分)最优化。 我们通过关于每个因子进行最优化来完成整体的最优化过程。为了完成这一点,我们首先将式(10.5)代入式(10.3),然后分离出依赖于一个因子的项。为了记号的简洁,我们简单的将记作,这样我们就有
其中,我们定义了一个新的概率分布,形式为
这里,记号表示关于定义在所有上的概率分布的期望,即
现在假设我们保持固定,关于概率分布的所有可能的形式最大化式(10.6)中的。这很容易做,因为我们看到式(10.6)是和之间的Kullback-Leibler散度的负值。因此,最大化式(10.6)等价于最小化Kullback-Leibler散度,且最小值出现在的位置。于是,我们得到了最优解的一般的表达式,形式为
很值得花一些时间研究一下解的形式,因为它是变分方法应用的基础。这个解表明,为了得到因子的最优解的对数,我们只需考虑所有隐含变量和可见变量上的联合概率分布的对数,然后关于所有其他的因子取期望即可,其中。
式(10.9)中的可加性常数通过对概率分布进行归一化的方式来设定。因此,如果我们取两边的指数,然后标准化,得到:
在实际应用中,我们会发现,更方便的做法是对式(10.9)进行操作,然后在必要的时候,通过观察的方式恢复出标准化系数。这一点通过下面的例子就会变得逐渐清晰起来。
由式(10.9)给定的方程的集合(其中)表示在概率能够进行分解这一限制条件下,下界的最大值满足的一组相容的条件。然而,这些方程并没有给出一个显式的解,因为最优化的式(10.9)的右手边表达式依赖于关于其它的因子计算的期望。 于是,我们会用下面的方式寻找出一个相容的解:首先,恰当地初始化所有的因子然后在各个因子上进行循环,每一轮用一个修正后的估计来替换当前因子。这个修正后的估计由式(10.9)的右侧给出,计算时使用了当前对于所有其他因子的估计。因为下界关于每个因子是一个凸函数(Boyd and Vandenberghe, 2004),所以算法保证收敛。