阅读笔记——变分推断(二)

PRML第十章——变分推断(二)

上一篇博客提到了在变分推断中,常用的优化方法是通过将需要近似的目标分布 q ( Z ) q(\mathbf Z) q(Z)中的隐变量 Z \mathbf Z Z分解为多个因子,并最大化下界 L ( q ) \mathcal L(q) L(q)得到的。

因子近似的特性

考虑对高斯分布 p ( z ) = N ( z ∣ μ , Λ − 1 ) p ( \mathbf { z } ) = \mathcal { N } ( \mathbf { z } | \boldsymbol { \mu } , \mathbf { \Lambda } ^ { - 1 } ) p(z)=N(zμ,Λ1),并且两个相关性因子 z = ( z 1 , z 2 ) \mathbf { z } = \left( z _ { 1 } , z _ { 2 } \right) z=(z1,z2),其中均值与方差分别为:
μ = ( μ 1 μ 2 ) , Λ = ( Λ 11 Λ 12 Λ 21 Λ 22 ) \boldsymbol { \mu } = \left( \begin{array} { c } { \mu _ { 1 } } \\ { \mu _ { 2 } } \end{array} \right) , \quad \boldsymbol { \Lambda } = \left( \begin{array} { c c } { \Lambda _ { 11 } } & { \Lambda _ { 12 } } \\ { \Lambda _ { 21 } } & { \Lambda _ { 22 } } \end{array} \right) μ=(μ1μ2),Λ=(Λ11Λ21Λ12Λ22)
并且因式 q ( Z ) = q 1 ( Z 1 ) q 2 ( Z 2 ) q(\mathbf Z) = q_1(\mathbf Z_1)q_2(\mathbf Z_2) q(Z)=q1(Z1)q2(Z2)。首先考虑公式(10.9)的优化方法,得到:
ln ⁡ q 1 ⋆ ( z 1 ) = E z 2 [ ln ⁡ p ( z ) ] +  const  = E z 2 [ − 1 2 ( z 1 − μ 1 ) 2 Λ 11 − ( z 1 − μ 1 ) Λ 12 ( z 2 − μ 2 ) ] +  const  = − 1 2 z 1 2 Λ 11 + z 1 μ 1 Λ 11 − z 1 Λ 12 ( E [ z 2 ] − μ 2 ) +  const.  \begin{aligned} \ln q _ { 1 } ^ { \star } \left( z _ { 1 } \right) & = \mathbb { E } _ { z _ { 2 } } [ \ln p ( \mathbf { z } ) ] + \text { const } \\ & = \mathbb { E } _ { z _ { 2 } } \left[ - \frac { 1 } { 2 } \left( z _ { 1 } - \mu _ { 1 } \right) ^ { 2 } \Lambda _ { 11 } - \left( z _ { 1 } - \mu _ { 1 } \right) \Lambda _ { 12 } \left( z _ { 2 } - \mu _ { 2 } \right) \right] + \text { const } \\ & = - \frac { 1 } { 2 } z _ { 1 } ^ { 2 } \Lambda _ { 11 } + z _ { 1 } \mu _ { 1 } \Lambda _ { 11 } - z _ { 1 } \Lambda _ { 12 } \left( \mathbb { E } \left[ z _ { 2 } \right] - \mu _ { 2 } \right) + \text { const. } \end{aligned} lnq1(z1)=Ez2[lnp(z)]+ const =Ez2[21(z1μ1)2Λ11(z1μ1)Λ12(z2μ2)]+ const =21z12Λ11+z1μ1Λ11z1Λ12(E[z2]μ2)+ const. 
由于公式右侧为 z 1 z_1 z1的二次函数,因此我们假设 q 1 ∗ ( z 1 ) q_1^*(z_1) q1(z1)是服从高斯分布 q 1 ⋆ ( z 1 ) = N ( z 1 ∣ m 1 , Λ 11 − 1 ) q _1^ { \star } \left( z _ { 1 } \right) = \mathcal { N } \left( z _ { 1 } | m _ { 1 } , \Lambda _ { 11 } ^ { - 1 } \right) q1(z1)=N(z1m1,Λ111)的,那么:
m 1 = μ 1 − Λ 11 − 1 Λ 12 ( E [ z 2 ] − μ 2 ) m _ { 1 } = \mu _ { 1 } - \Lambda _ { 11 } ^ { - 1 } \Lambda _ { 12 } \left( \mathbb { E } \left[ z _ { 2 } \right] - \mu _ { 2 } \right) m1=μ1Λ111Λ12(E[z2]μ2)
那么,根据对称性, q 2 ∗ ( z 2 ) q_2^*(z_2) q2(z2)也是高斯的,也就是:
q 2 ⋆ ( z 2 ) = N ( z 2 ∣ m 2 , Λ 22 − 1 ) q _ { 2 } ^ { \star } \left( z _ { 2 } \right) = \mathcal { N } \left( z _ { 2 } | m _ { 2 } , \Lambda _ { 22 } ^ { - 1 } \right) q2(z2)=N(z2m2,Λ221)
m 2 = μ 2 − Λ 22 − 1 Λ 21 ( E [ z 1 ] − μ 1 ) m _ { 2 } = \mu _ { 2 } - \Lambda _ { 22 } ^ { - 1 } \Lambda _ { 21 } \left( \mathbb { E } \left[ z _ { 1 } \right] - \mu _ { 1 } \right) m2=μ2Λ221Λ21(E[z1]μ1)
举一个具体的例子,假设在图10.2中,绿色的contour表示的是原分布 p ( Z ) p(\mathbf Z) p(Z),红色contour表示的是近似的分布 q ( Z ) q(\mathbf Z) q(Z)。在图10.2(a)中,二者的均值相互重叠, q ( Z ) q(\mathbf Z) q(Z)方差由 p ( Z ) p(\mathbf Z) p(Z)的最小方差方向确定的。
在优化KL散度的过程中,我们选择了一种近似变分的框架,叫Expectation Propagation(EP)。p和q之间的KL散度的公式为:
K L ( p ∥ q ) = − ∫ p ( Z ) [ ∑ i = 1 M ln ⁡ q i ( Z i ) ] d Z + const. \mathrm { KL } ( p \| q ) = - \int p ( \mathbf { Z } ) \left[ \sum _ { i = 1 } ^ { M } \ln q _ { i } \left( \mathbf { Z } _ { i } \right) \right] \mathrm { d } \mathbf { Z } + \text{const.} KL(pq)=p(Z)[i=1Mlnqi(Zi)]dZ+const.
其中的常数项为 p ( Z ) p(\mathbf Z) p(Z)的熵值。
img
对于上式一种优化方式是,我们可以优化 q ( Z ) q(\mathbf Z) q(Z)的每个因子 q j ( Z j ) q_j(\mathbf Z_j) qj(Zj)。通过Lagrange乘子法,可以得到:
q j ⋆ ( Z j ) = ∫ p ( Z ) ∏ i ≠ j d Z i = p ( Z j ) q _ { j } ^ { \star } \left( \mathbf { Z } _ { j } \right) = \int p ( \mathbf { Z } ) \prod _ { i \neq j } \mathrm { d } \mathbf { Z } _ { i } = p \left( \mathbf { Z } _ { j } \right) qj(Zj)=p(Z)i̸=jdZi=p(Zj)
从中可以看到,每个因子的最优分布是相关的因子的边缘概率分布 p ( Z j ) p(\mathbf Z_j) p(Zj)
如果是优化q和p之间的KL散度,也就是:
K L ( q ∥ p ) = − ∫ q ( Z ) ln ⁡ { p ( Z ) q ( Z ) } d Z \mathrm { KL } ( q \| p ) = - \int q ( \mathbf { Z } ) \ln \left\{ \frac { p ( \mathbf { Z } ) } { q ( \mathbf { Z } ) } \right\} \mathrm { d } \mathbf { Z } KL(qp)=q(Z)ln{q(Z)p(Z)}dZ
那么最终得到的分布则是如图10.2(b)所示。
最小化这种形式的KL散度,使得近似的分布 q ( Z ) q(\mathbf Z) q(Z)避免了 p ( Z ) p(\mathbf Z) p(Z)比较小的情况。
而在实际的分布中,我们通常使用EP,也就是优化 K L ( p ∣ ∣ q ) KL(p||q) KL(pq),而不是 K L ( q ∣ ∣ p ) KL(q||p) KL(qp)。真实的后验分布通常是多模态的,通常大多数后验分布都会集中于一个比较小的区域。这些多模态特性可能导致参数的复杂非线性依赖,而使用单高斯分布进行近似可能导致很差的拟合效果。具体见图10.3(a)。
img
而如若优化 K L ( p ∣ ∣ q ) KL(p||q) KL(pq),则可以逐一优化每个模态的分布,如图10.3(b)©所示。而这种思想也是后面会讲到的Expectation Propagation 思想。

以上讨论的两种KL散度都是属于alpha 族的散度族,其具体形式为:
D α ( p ∥ q ) = 4 1 − α 2 ( 1 − ∫ p ( x ) ( 1 + α ) / 2 q ( x ) ( 1 − α ) / 2 d x ) \mathrm { D } _ { \alpha } ( p \| q ) = \frac { 4 } { 1 - \alpha ^ { 2 } } \left( 1 - \int p ( x ) ^ { ( 1 + \alpha ) / 2 } q ( x ) ^ { ( 1 - \alpha ) / 2 } \mathrm { d } x \right) Dα(pq)=1α24(1p(x)(1+α)/2q(x)(1α)/2dx)
而当 α = 0 \alpha = 0 α=0时,则是Hellinger distance:
D H ( p ∥ q ) = ∫ ( p ( x ) 1 / 2 − q ( x ) 1 / 2 ) d x \mathrm { D } _ { \mathrm { H } } ( p \| q ) = \int \left( p ( x ) ^ { 1 / 2 } - q ( x ) ^ { 1 / 2 } \right) \mathrm { d } x DH(pq)=(p(x)1/2q(x)1/2)dx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值