一、变分推断基础

首先,对数先验概率有:

(1)ln p(X)=ln(p(X,Z)p(Z|X))(2)=ln(p(X,Z)q(Z)q(Z)p(Z|X))(3)=ln(p(X,Z)q(Z))+ln(q(Z)p(Z|X))

(4)ln(p(X))=q(Z)ln(p(X,Z)q(Z))dZ+q(Z)ln(q(Z)p(Z|X))dZ(5)=q(Z)ln(p(X,Z))dZq(Z)ln(q(Z))dZ(6)+q(z)ln(q(Z)p(Z|X))dZ(7)=L(q)+KL(q||p)

上面的式子 L(q) 里的变量是一个函数,我们通过改变函数使得函数的函数最大化,我们称这种研究思想为 变分

由于 KL(q||p)0 ,故 ln(p(X))L(q),我们给上面两项命名如下:

Evidence Lower Bound (ELOB):L(q)=q(Z)ln(p(X,Z))dZq(Z)ln(q(Z))dZ

KL divergence:KL(q||p)=q(z)ln(q(Z)p(Z|X))dZ

有时候真实的后验分布非常复杂,我们想要利用简单的分布(我们知道这个分布的期望,极大值等)来近似这个复杂的后验分布,从而使得我们可以更加容易地进行求解。因此我们通过最小化 KL 散度使得 我们自己定的 q(Z) 尽可能地逼近后验分布 p(Z|X) (从下图可以较直观地看出来这个过程,其中绿色分布为我们想求解的后验分布,蓝色分布为我们已知较简单地分布 q(Z),通过不断修改 q(Z) 中的参数,使得它越来越逼近我们想求解的后验分布)。

变分推断和指数族分布

Note: Picture source

从上面的式子,我们知道,最小化 KL 散度,等价于最大化 ELBO。下面将一步步介绍如何最大化 ELBO L(q)

q(Z) 的选择

假设我们选择的 q(Z) 满足下面的式子:

q(Z)=i=1mqi(Zi)

将这个 q(Z) 代换到 ELBO中,我们有:

(8)L(q)=q(Z)ln(p(X,Z))dZq(Z)ln(q(Z))dZ(9)=i=1mqi(Zi)ln(p(X,Z))dZ(10)i=1mqi(Zi)i=1mln(qi(Zi))dZ

下面我们对这个式子进行化简,先看上式第一项:

(11)(part 1)=i=1mqi(Zi)ln(p(X,Z))dZ(12)=Z1Zmi=1mqi(Zi)ln(p(X,Z))dZ1dZm(13)=Zjqj(Zj)(Zijln(p(X,Z))ijmqi(Zi)dZi)dZj

我们只关注第 j 项的情况下,可以写成如下形式:

(part 1)=Zjqj(Zj)(Eijmqi(Zi)[ln(p(X,Z))])dZj

第二项,可以作如下化简:

(14)(part 2)=i=1mqi(Zi)i=1mln(qi(Zi))dZ(15)=i=1m(Ziqi(Zi)ln(qi(Zi))dZi)

我们只关注第 j 项的情况下,可以写成如下形式:

(part 2)=Zjqj(Zj)ln(qj(Zj))dZj+const

const 是不含 Zj 的那些项。

结合两部分,我们代入 ELOB 中,得到:

L(q)=Zjqj(Zj)(Eijmqi(Zi)[ln(p(X,Z))])dZjZjqj(Zj)ln(qj(Zj))dZj+const

作如下记号:

ln(p~j(X,Zj))=Eijmqi(Zi)[ln(p(X,Z))]

这样我们就可以将 ELOB 表示成如下:

L(q)=Zjqj(Zj)ln[p~j(X,Zj)qj(Zj)]+const

由上式,最大化 L(q),等价于最小化 KL(Eijmqi(Zi)[ln(p(X,Z))]||qj(Zj))

因此,我们可以找到一个近似的最优的 qj(Zj),使得:

ln(qj(Zj))=Eijmqi(Zi)[ln(p(X,Z))]

二、指数族分布(Exponential Family distributions )

大部分的分布我们会去寻找它是否能够根据它的 自然参数 写成指数族分布的形式(因为我们希望分布是类似指数族分布这样具有共轭分布、容易得到解析解的分布形式 ):

p(x|η)=h(x)exp(T(x)TηA(η))

其中,η 为自然参数(nature parameter),T(y) 为 sufficient statistic, A(η) 为 log normalizer ;

其中 log normalizer 具有归一化的作用,因为:

xh(x)exp(T(x)T)exp(A(η))=1

指数族分布的性质(优势)

1、A(η)=i=1nT(xi)N

证:

(16)argmaxη[logP(X|η)](17)=argmaxη[logi=1nP(X|η)](18)=argmaxη[log(i=1nk(xi)exp(i=1nT(xi)TηnA(η)))](19)=argmaxη[i=1nT(xi)TηnA(η)]

(i=1nT(xi)TηnA(η))η=i=1nT(xi)nA(η)=0

A(η)=i=1nT(xi)N

2、Ep(X|η)[T(X)]=ηA(η)

(20)xh(x)exp(T(x)TηA(η))dx=1(21)η(xh(x)exp(T(x)TηA(η))dx)=0(22)xη(h(x)exp(T(x)TηA(η)))dx=0(23)x(h(x)exp(T(x)TηA(η)))(T(x)ηA(η))dx=0(24)x(h(x)exp(T(x)TηA(η)))T(x)dxx(h(x)exp(T(x)TηA(η)))ηA(η)dx=0(25)Ep(X|η)[T(X)]=ηA(η)

(注意:性质二和性质一是不一样的,从证明可以很明显看出来)

3、指数族分布具有共轭先验

由贝叶斯公式,我们有:

(26)p(β|X,Z,α)p(X,Z|β)p(β)(27)=h(X,Z)exp(T(X,Z)TβAl(β))(28)h(β)exp(T(β)TαA(α))(29)let T(β)=[β,Al(β)]T ,α=[α1,α2]T(30)h(β)exp(T(X,Z)TβAl(β)+α1βα2Al(β))(31)=h(β)exp[(T(X,Z)+α1)β(1+α2)Al(β)](32)=h(β)exp[T(β)T[α1~α2~]]

因此,当先验分布的 sufficient statistic 的第二项取为 Al(β),即似然函数的 log normalizer 时,它和后验分布具有相同的分布,只是参数不同而已。

高斯分布(1维):自然参数表达

(33)N(x;μ,σ2)=(2πσ2)12e(xμ)22σ2(34)=exp(x22xμ+μ22σ212ln(2πσ2))(35)=exp([x,x2][μσ2,12σ2]Tμ22σ212ln(2πσ2))

其中,T(x)=[x,x2]η=[η1,η2]T=[μσ2,12σ2]T;

从中我们可以反解出 μ,σ2σ2=12η2μ=η12η2

于是,我们可以写出高斯分布的自然参数表达如下:

(36)N~(x;η)=exp([x,x2][η1,η2]Tμ22σ212ln(2πσ2))(37)=exp([x,x2][η1,η2]T(η12η2)22(12η2)12ln(2π(12η2)))(38)=exp(T(x)Tη(η124η212ln(2η2))12ln(2π))

其中,A(η)=η124η212ln(2η2)

我们利用性质一的结论:

[A(η)η1A(η)η2]=[η12η2(η12η2)212η2]=[μμ2+σ2]=[i=1nxiNi=1nxi2N]

即,μ=i=1nxiNσ2=i=1nxi2Nμ2=i=1n(xiμ)2N

这个结果显然和我们直接求高斯分布的极大似然的结论是一样的,但直接求明显求解过程要复杂很多。

三、变分推断与指数族分布

当先验和后验都是指数族分布时,我们可以更容易地找到近似后验分布的 qj(Zj);下面我们来看看这个过程:

本文第一部分已经得到 ELBO:

(39)L(q)=q(Z)ln(p(X,Z))dZq(Z)ln(q(Z))dZ

我们把 Z 分为两部分: Z={Z,β},代入上式,得到:

(40)L(q)=Eq(Z,β)[log p(X,Z,β|α)]Eq(Z,β)[log q(Z,β)]

首先,我们把后验分布写出指数族分布的形式,并且用 q 去近似它:

p(β|X,Z,α)=h(β) exp(T(β)Tηg(X,Z,α)Ag(ηg(X,Z,α)))

q(β|λ)=h(β) exp(T(β)TλAg(λ))

以及,

p(Z|X,β)=h(Z) exp(T(Z)Tηl(X,β)Al(ηl(X,β)))

q(Z|Φ)=h(Z) exp(T(Z)TΦAl(Φ))

则我们可以通过改变 λ,Φ,来改变 ELBO:

(41)L(λ,Φ)=Eq(Z,β)[log p(X,Z,β|α)]Eq(Z,β)[log q(Z,β)]

其中,为了简单,我们选取 q(Z,β)=q(Z)q(β)

1、固定 Φ,优化 λ

(42)L(λ)=Eq[log p(X,Z,β|α)]Eq[log q(Z,β)](43)=Eq[log p(β|X,Z,α)]+Eq[log p(X,Z)](44)Eq[log q(Z)]Eq[log q(β)](45)=Eq[log p(β|X,Z,α)]Eq[log q(β)]+const(46)=Eq[log(h(β) exp(T(β)Tηg(X,Z,α)Ag(ηg(X,Z,α))))]Eq[log q(β)]+const(47)=Eq[log(h(β))+Eq[T(β)Tηg(X,Z,α)](48)Eq[log (h(β) exp(T(β)TλAg(λ)))]+const(49)=Eq(Z|Φ)[ηg(X,Z,α)]Eq(β|λ)[T(β)]λEq[T(β)]+(50)Ag(λ)+const

由指数族分布的性质二:

Ep(X|η)[T(X)]=ηA(η)

代入上式,则有:

L(λ)=Eq(Z|Φ)[ηg(X,Z,α)]λAg(λ)λλAg(λ)+Ag(λ)+const

最大化 L(λ),我们对其求导并令结果为0:

(51)L(λ)=Eq(Z|Φ)[ηg(X,Z,α)]λ2Ag(λ)λAg(λ)λλ2Ag(λ)+λAg(λ)+const(52)=Eq(Z|Φ)[ηg(X,Z,α)]λ2Ag(λ)λλ2Ag(λ)(53)=λ2Ag(λ)(Eq(Z|Φ)[ηg(X,Z,α)]λ)(54)=0

由于 λ2Ag(λ)0,因此我们得到:

λ=Eq(Z|Φ)[ηg(X,Z,α)]

2、固定 λ,优化 Φ

同上面的推到一样,我们可以得到类似的形式:

Φ=Eq(β|λ)[ηl(X,β)]

注意这里只选取了两个变量 λ,Φ;如果有多个变量的情况,应该用除了本身的分布以外剩下的所有分布的乘积来求期望。通过不断地迭代上面两个公式,不断地更新参数,直至收敛。

四、参考资料


[1] 李航《统计学习方法》
[2] 徐亦达教授的自视频
[3] machine-learning-notes.Professor Richard Xu .

相关文章:

  • 2021-09-13
  • 2021-09-03
  • 2022-12-23
  • 2021-12-09
  • 2021-05-09
猜你喜欢
  • 2022-02-20
  • 2021-12-19
  • 2021-05-15
  • 2021-10-16
  • 2022-01-19
  • 2022-12-23
  • 2021-09-02
相关资源
相似解决方案