第14章 概率图模型--近似推断

精确推断方法通常需要很大的计算开销,因此在现实应用中近似推断方法更为常用。近似推断方法大致可分为两大类:第一类是采样(sampling),通过使用随机化方法完成近似;第二类是使用确定性近似完成近似推断,典型代表为变分推断(variational inference)。

1 MCMC采样

在很多任务中,我们关心某些概率分布并非因为对这些概率分布本身感兴趣,而是要基它们计算某些期望,并且还能进一步基于这些期望做出决策。例如对图7(a)的贝叶斯网,进行推断的目的可能是为了计算变量 x5 的期望。若直接计算或逼近这个期望比推断概率分布更容易,则直接操作无疑将使推断问题的求解更为高效。
采样法正是基于这个思路。具体来说,假定我们的目标是计算函数 f(x) 在概率密度函数 p(x) 下的期望

Ep[f]=f(x)p(x)dx21

则可根据 p(x) 抽取一组样本 {x1,x2,...,xn} ,然后计算 f(x) 在这些样本上的均值
f^=1Ni=1Nf(xi)22

以此来近似目标期望 Ep[f] 。若样本 {x1,x2,...,xn} 独立,基于大数定律,这种通过大量采样的办法就能获得较高的近似精度。问题的关键是如何采样。对概率图模型来说,就是如何高效地基于图模型所描述的概率分布来获取样本。
概率图模型中最常用的采样技术是马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,简称MCMC)方法。给定连续变量 xX 的概率密度函数 p(x) x 在区间 A 中的概率可计算为
P(A)=Ap(x)dx23

若有函数: f:XR ,则可计算 f(x) 的期望
p(f)=Ep[f(x)]=xf(x)p(x)dx24

x 不是单变量而是一个高维多元变量 x ,且服从一个非常复杂的分布,则对式(24)求积分通常很困难。为此,MCMC先构造出服从 p 分布的独立同分布随机变量 x1,x2,...,xn ,再得到式(24)的无偏估计
p˜(f)=\fra1Ni=1Nf(xi)25

然而,若概率密度函数 p(x) 很复杂,则构造服从 p 分布的独立同分布样本也很困难。MCMC方法的关键就在于通过构造“平稳分布为 p 的马尔可夫链”来产生样本:若马尔可夫链运行时间足够长(即收敛到平稳状态),则此时产出的样本 x 近似服从于分布 p 。如何判断马尔可夫链达到平稳状态呢?假定平稳马尔可夫链 T 的状态转移概率(即从状态 x 转移到状态 x 的概率)为 T(x|x) t 时刻状态的分布为 p(xt) ,则若在某个时刻马尔可夫链满足平稳条件
p(xt)T(xt1|xt)=p(xt1T(xt)|xt1),26

p(x) 是该马尔可夫链的平稳分布,且马尔可夫链在满足该条件时已收敛到平稳状态。
也就是说,MCMC方法先设法构造一条马尔可夫链,使其收敛至平稳分布恰为待估计参数的后验分布,然后通过这条马尔可夫链来产生符合后验分布的样本,并基于这些样本来进行估计。这里马尔可夫链转移概率的构造至关重要,不同的构造方法将产生不同的MCMC算法。
Metropolis-Hastings(简称MH)算法是MCMC的重要代表。它基于“拒绝采样”(reject sampling)来逼近平稳分布 p 。如图9所示,算法每次根据上一轮采样结果 xt1 来采样获得候选状态样本 x ,但这个候选样本会以一定的概率被“拒绝”掉。假定从状态 xt1 到状态 x 的转移概率为 Q(x|xt1)A(x|xt1) ,其中 Q(x|xt1) 是用户给定的先验概率, A(x|xt1) x 被接受的概率。若 x 最终收敛到平稳状态,则根据式(26)有
p(xt1)Q(x|xt1)A(x|xt1)=p(x)Q(xt1|x)A(xt1|x),27

Metropolis-Hastings算法


输入:先验概率 Q(x|xt1) .
过程:
1:初始化 x0 ;
2: for t=1,2,... do
3:根据 Q(x|xt1) 采样出候选样本 x ;
4:根据均匀分布从 (0,1) 范围内采样出阈值 u ;
5: if uA(x|xt1) then
6: xt=x
7: else
8: xt=xt1
9: end if
10: end for
11: return x1,x2,...


于是,为了达到平稳状态,只需将接受率设置为

A(x|xt1)=min(1,p(x)Q(xt1|x)p(xt1)Q(x|xt1))28

吉布斯采样(Gibbs sampling)有时被视为MH算法的特例,它也使用马尔可夫链获取样本,而该马尔可夫链的平稳分布也是采样的目标分布 p(x) 。具体来说,假定 x={x1,x2,...,xn} ,目标分布为 p(x) ,在初始化 x 的取值后,通过循环执行以下步骤来完成采样:
(1)随机或以某个次序选取某个变量 xi ;
(2)根据 x 中除 xi 外的变量的现有取值,计算条件概率 p(xi|xi¯) ,其中 xi¯={x1,x2,...,xi1,xi+1,...,xn} ;
(3)根据 p(xi|xi¯) 对变量 xi 采样,用采样值代替原值。

2 变分推断

变分推断通过使用已知简单分布来逼近需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。
在学习变分推断之前,我们先介绍概率图模型一种简洁的表示方法–盘式标记法(plate notation)[Buntine,1994]。图10给出了一个简单的例子。图10(a)表示 N 个变量 x1,x2,...,xn} 均依赖于其他变量 z 。在图10(b)中,相互对立的、由相同机制生成的多个变量被放在一个方框(盘)内,并在方框中标出类似变量重复出现的个数 N ;方框可以嵌套。通常用阴影标注出已知的、能观察到的变量,如图(10)中的变量 x 。在很多学习任务中,对属性变量使用盘式记法将使得图表示非常简洁。
图10 盘式记法的例示

第14章 概率图模型--近似推断_第1张图片

在图10(b)中,所有能观察到的变量 x 的联合分布的概率密度函数是

p(x|θ)=πNi=1zp(xi,z|θ),29

所对应的对数似然函数为
lnp(x|θ)=i=1Nln{zp(xi,z|θ)},30

其中 x={x1,x2,...,xn},θ x z 服从的分布参数。
一般来说,图10所对应的推断和学习任务主要是由观察到的变量 x 来估计隐变量 z 和分布参数变量 θ ,即求解 p(z|x,θ) θ
概率模型的参数估计通常以最大化对数似然函数为手段。对式(30)可使用EM算法:在E步,根据 t 时刻的参数 θt p(z|x,θt) 进行推断,并计算联合似然函数 p(x,z|θ) ;在M步,基于E步的结果进行最大化寻优,即对关于变量 θ 的函数 Q(θ;θt) 进行最大化从而求取
θt+1=argmaxQ(θ;θt)=argmaxzp(z|x,θt)lnp(x,z|θ)31

式(31)中的 Q(θ;θt) 实际上是对数联合似然函数 lnp(x,z|θ) 在分布 p(z|x,θt) 下的期望,当分布 p(z|x,θt) 与变量 z 的真实后验分布相等时, Q(θ;θt) 近似于对数似然函数。于是,EM算法最终可获得稳定的参数 θ ,而隐变量 z 的分布也能通过该参数获得。
需注意的是, p(z|x,θt) 未必是隐变量 z 服从的真实分布,而只是一个近似分布。若将这个近似分布用 q(z) 表示,则不难验证
lnp(x)=L(q)+KL(q||p),32

其中
L(q)=q(z)ln{p(x,z)q(z)}dz(33)

KL(q||p)=q(z)lnp(z|x)q(z)dz(34)

然而在现实任务中,E步对 p(z|x,θt) 的推断很可能因 z 模型复杂而难以进行,此时可借助变分推断。通常假设 z 服从分布
q(z)=i=1Mqi(zi),35

即假设复杂的多变量 z 可拆解为一系列相互独立的多变量 zi 。更重要的是,可以令 qi 分布相对简单或有很好的结构,例如假设 qi 为指数族(exponential family)分布,此时有
L(q)=iqi{lnp(x,z)ilnqi}dz=qj{lnp(x,z)ijqidzi}dzjqjlnqjdzj+const=qjlnp˜(x,zj)dzjqjlnqjdzj+const,36

其中
lnp˜(x,zj)=Eij[lnp(x,z)]+const,37

Eij[lnp(x,z)]=lnp(x,z)ijqidzi.38

我们关心的是 qj ,因此可固定 qij 再对 L(q) 进行最大化,可发现式(36)等于 KL(qj||p(x,zj)) ,即当 qj=p(x,zj) L(q) 最大。于是可知变量子集 zj 所服从的最优分布 qj 应满足
lnqj(zj)=Eij[lnp(x,z)]+const,39


qj(zj)=exp(Eij[lnp(x,z)])exp(Eij[lnp(x,z)])dzj.40

换言之,在式(35)这个假设下,变量子集 zj 最接近真实情形的分布由式(40)给出。
显然,基于式(35)的假设,通过恰当地分割独立变量子集 zj 并选择 qi 服从的分布, Eij[lnp(x,z)] 往往有闭式解,这使得基于式(40)能高效地对隐变量 z 进行推断。事实上,由式(38)可看出,对变量 zj 分布 qj 进行估计时融合了 zj 之外的其他 zij 的信息,这是通过联合似然函数 lnp(x,z) zj 之外的隐变量分布上求期望得到的,因此亦称“平均场(mean field)”方法。
在实践中使用变分法时,最重要的是考虑如何对隐变量进行拆解,以及假设各种变量子集服从何种分布,在此基础上套用式(40)的结论再结合EM算法即可进行概率图模型的推断和参数估计。显然,若隐变量的拆解或变量子集的分布假设不当,将会导致变分法效率低、效果差。

你可能感兴趣的:(机器学习)