Variational Inference
·我们常常需要计算后验概率:
其中z代表模型参数(包括隐变量),x代表数据,α是超参数。
·可是很多复杂的后验概率难以直接计算。
·针对这一问题,我们先选择一个简单分布,优化其参数使其近似复杂分布,然后用简单分布作为复杂分布的替代品。这就是VI的主要思想。
·设p是原始分布,q是近似分布,评估两分布近似程度的指标之一是Kullback-Leibler Divergence:
如果采用KL(p||q)作为评价指标,则变成“expectation propagation”算法。此处选择KL(q||p)是因为对q求期望更简单一些。
·我们的目标就是最小化KL(q||p)。注意到,KL(q||p)可以如下展开:
括号里的内容被称为evidence lower bound(ELBO),因此最小化KL(q||p)相当于最大化ELBO。
·将其称为ELBO是因为:
这里用到了Jensen's inequality:
可以看出来,ELBO代表了似然函数的下限。由此可知,最小化KL(q||p)相当于最大化似然函数的下限。
·最小化KL(q||p)有很多种方法,其中mean field是比较常用的一种(注意到VI代表一种思想,基于这一思想,有很多种优化模型参数的算法)。使用这种方法时,我们需要先假设参数之间是相互独立的:
·基于上述假设,我们开始最大化ELBO(最小化KL(q||p))。
·首先,回顾下chain rule:
·然后将独立假设代入E[logq(Z)]可得:
·根据上面两步,将ELBO分解成以下形式:
·接下来,我们需要迭代地逐个优化参数,每次考虑优化参数:
(对-k取期望,意味着计算期望值时,假设是常数)
·此时,我们得到了以为参数的目标函数,我们的目标是使其最大化,因此需要对其求导:
·注意到式(24)中,条件概率可以转换成联合概率除以条件,而条件与无关,因此也可以按照下式更新q(
):
根据情况,选择式(24)或(25)中的某一条作为更新式子(同一次迭代过程中,必须使用同一条式子)。需要注意的是,根据原始分布p的不同,同一条迭代公式的计算方法也有所不同。
·最后,在迭代收敛后使用q替代p。
·注意到,我们使用其他点提供的关于的信息来给
赋新值,且使用时对各个点提供的信息做了平均(期望),因此此方法称为mean field。
·参考资料:
1.普林斯顿大学课件
http://www.cs.princeton.edu/courses/archive/fall11/cos597C/lectures/variational-inference-i.pdf
2.Machine Learning A Probabilistic Perspective第21章