2.11概率图模型的推理
如果已经知道了概率图模型的结构和参数,就可以进行有关的推理(inference)。推理是指在给定观测结果时,评估变量的边际配置(marginal configuration)或最可能的配置(most likely configuration)。为了这个目标,需要把随机变量集X划分成三个互不相交子集O、Q、H,即:
X=O∪Q∪H
O∩Q=O∩H=Q∩H=(2.106)
其中O代表观测节点集(或证据变量的集合),Q代表查询变量集,H指既不属于O,也不属于Q的节点集,也称为潜在变量集或隐含变量集。注意,它们的联合概率分布p(Q,H,O)是一种生成模型,条件概率分布p(Q,HO)则是一种判别模型。
推理有两种基本类型[119]:边际分布查询(marginalization query)和最大后验查询(maximum aposteriori query)。边际分布查询是在给定观察O的条件下,推理查询变量的边际分布,即计算:
P(QO=o)=P(Q,O=o)P(O=o)(2.107)
其中,
P(Q,O=o)=∑h∈val(H)P(Q,O=o,h)(2.108)
P(O=o)=∑q∈val(Q)P(Q=q,O=o)(2.109)
最大后验查询是在给定某些证据的条件下,确定查询变量的最可能初值,即计算:
q*=arg maxq∈val(Q)P(Q=qO=o)
=arg maxq∈val(Q)∑h∈val(H)P(Q=q,H=hO=o)
=arg maxq∈val(Q)∑h∈val(H)P(Q=q,H=h,O=o)(2.110)
由于对概率图模型进行精确推理的计算复杂性会随着最大团的大小指数增加,所以在规模较大且连接紧密的概率图模型中实现精确推理是难解的,因此进行近似推理非常必要。
近似推理有三种基本策略[120]:变分方法(variational method)、消息传递(message passing)和采样方法(sampling method)。
变分方法的基本思想是在假定H=的前提下,用一个易于处理的替代分布g(Q)对后验概率分布P(QO)进行近似。P(O)的对数形式可以分解如下:
logP(O)=∑qg(q)logP(O,q)g(q)LB(g)+-∑qg(q)logP(qO)g(q)KL(qP)(2.111)
其中KL(gP)≥0表示g(Q)和P(QO)之间的KL散度,且根据杰森不等式[115],LB(g)是logP(O)的一个下界,即
logP(O)=log∑qP(q,O)=log∑qg(q)P(q,O)g(q)≥∑qg(q)logP(q,O)g(q)=LB(g)(2.112)
因为logP(O)不依赖于g(q)和LB(g),且KL(gP)是非负的,所以最大化LB(g)等价于最小化KL(gP)。这意味着,关于g(q)最大化LB(g)就可以得到对后验概率分布P(QO)的最好近似。
在变分方法中,g(Q)通常被限制为简单的可计算分布。比如,平均场近似(meanfield approxiamtion)是一种变分方法,最简单的情况要求g(Q)具有如下可分解的形式:
g(Q)=∏Qi=1gi(Qi)(2.113)
消息传递算法在树结构的概率图模型上能够给出精确的推理结果,但是在带环或圈的任意图上并不能保证收敛性。而且即使收敛,得到的结果也可能只是精确解的近似。不过,令人吃惊的是,环状图上的消息传递常常收敛到稳定的后验或边际概率。最重要的突破在于发现对某些图结构来说,消息传递算法的不动点(fixed point)实际上就是贝蒂自由能(bethe free energy)的驻点(stationary point)[104]。这个发现澄清了消息传递的本质,建立了与大量物理文献的联系,并发展了广义信念传播算法(Generalized Belief Propagation Algorithm,GBP)。广义信念传播算法在节点区域上运行,同时在节点区域之间传递消息。环状信念传播算法(loopy belief propagation algorithm)的收敛性在许多应用中也得到了实验证实[122],并有大量相关的理论研究[123125]。
采样方法是从计算可行角度,通过蒙特卡罗程序(Monte Carlo procedure)计算兴趣量(quantities of interest)。最简单的情况是重要性采样(importance sampling)[126]和采样重要性重采样(sampling importance resampling)[127],用于估计函数的期望。在高维样本空间中,重要性采样存在很大的局限性。但是,马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,MCMC)方法在各种不同维数的空间都能取得良好效果[128,129],其特殊情况是MH算法(MetropolisHastings algorithm)[130]和吉布斯采样(Gibbs sampling)[131]。蒙特卡罗方法最主要的应用之一就是通过序列重要性采样(sequential importance sampling)建立非线性、非高斯粒子滤波器(particle filter)[132],其中后验分布用一组粒子(样本)表示。这种粒子滤波器推广了传统的线性高斯卡曼滤波器(Kalman filter),在性能上优于经典的粒子滤波器。