(长、生疏、难啃且重要的一章)
目录
概率图里推断
p
(
Z
∣
X
)
p(\bm Z|\bm X)
p(Z∣X)是一个重要的问题。但如果该分布复杂,则很难求,也很难在该后验分布下其他内容的期望,总之精确计算复杂的一批。所以需要近似技术。两种方法,(1)下一章介绍的随机近似stochastic approximations;(2)本章的确定近似deterministic approximations
本章的变分方法大致上分有三种
- 变分贝叶斯,构造ELBO,用于高斯混合和贝叶斯线性回归
- 局部变分,利用凸函数构造容易积分下界,可以和ELBO混用,用于贝叶斯逻辑回归
- 期望传播,利用矩相等,近似后验分布,最小化 K L ( p ∥ q ) KL(p\|q) KL(p∥q)
10.1 Variational Inference(也叫variational Bayes)
- 泛函functional:一个映射,以函数为输入,得到标量输出
- 泛函导数functional derivative:输入函数产生无穷小地改变时,泛函的值的变化情况
和EM算法一样,分解边缘分布
形式上和之前EM的区别是 θ \bm \theta θ没了,因为参数是随机变量,被整合到 Z \bm Z Z中。
这里和EM不同的是,我们认为 p ( Z ∣ X ) p(\bm Z|\bm X) p(Z∣X)这一项不好计算,不能直接 q ( Z ) = p ( Z ∣ X ) q(\bm Z)=p(\bm Z|\bm X) q(Z)=p(Z∣X)。从而,我们转向考虑把 q ( Z ) q(\bm Z) q(Z)限制到一族分布里(为了计算可处理),只要减小KL项,就能提升 L ( q ) \mathcal L(q) L(q)。
另外,注意这里没有过拟合的问题。
一种限制分布族的方式是是从参数 ω \bm \omega ω,得到 q ( Z ∣ ω ) q(\bm Z|\bm \omega) q(Z∣ω),这样 L ( q ) \mathcal L(q) L(q)就成了 ω \bm \omega ω的函数,例如把 q q q限制为高斯分布,优化均值和方差 - 个人感觉:和拉普拉斯近似相比,拉普拉斯近似是用高斯分布近似 p ( Z ∣ X ) p(\bm Z|\bm X) p(Z∣X),依据最大概率值的二阶导,是确定性的方法。变分近似是最小化了 KL ( q ∥ p ) \text{KL}(q\|p) KL(q∥p)
- 如果把 θ \bm \theta θ也看作隐变量,记 q ( z , θ ) = q z ( z ) q θ ( θ ) q(\bm z,\bm\theta)=q_{\bm z}(\bm z) q_{\bm \theta}(\bm \theta) q(z,θ)=qz(z)qθ(θ),其中 q θ ( θ ) = δ ( θ − θ 0 ) q_{\bm \theta}(\bm \theta)=\delta(\bm \theta - \bm \theta_0) qθ(θ)=δ(θ−θ0), θ 0 \bm \theta_0 θ0是自由参数的向量,则这个分解的变分交替优化等价于EM算法
P464 分解概率分布factorized distrubutions与平均场理论
另一种限制分布族
q
(
Z
)
q(\bm Z)
q(Z)的方式是把
Z
\bm Z
Z分成不相交的因子
变分推断这个形式对应物理学中的平均场理论mean field theory。可以轮流优化每一因子关于
L
(
q
)
\mathcal L(q)
L(q)。后面几小节就狂用这个平均场理论。考虑优化第
j
j
j项,简记
q
j
q_j
qj为
q
j
(
Z
j
)
q_j(\bm Z_j)
qj(Zj)
其中定义
p
~
(
X
,
Z
j
)
\tilde p(\bm X, \bm Z_j)
p~(X,Zj)满足限制(这里加
const
\text{const}
const可能是想把
p
~
\tilde p
p~配成一个归一化的概率分布,也就是说公式10.6倒数第二行的的第一项内部可以加常量,从而配成是一个合理的对数概率分布)
这里
E
i
≠
j
[
⋯
]
\mathbb E_{i\neq j} [\cdots]
Ei=j[⋯]是在
q
q
q分布的除
z
j
\bm z_j
zj下的期望,也即
(这式子感觉写的很容易迷惑,右侧积分完剩下关于
Z
j
\bm Z_j
Zj的项,这也即
ln
p
~
(
X
,
Z
j
\ln \tilde p(\bm X, \bm Z_j
lnp~(X,Zj)的主导项)
注意10.6项最后一行是在最大化
q
j
q_j
qj和
p
~
(
X
,
Z
j
)
\tilde p(\bm X, \bm Z_j)
p~(X,Zj)之间的负KL散度,所以当
q
j
(
Z
j
)
=
p
~
(
X
,
Z
j
)
q_j(\bm Z_j)=\tilde p(\bm X, \bm Z_j)
qj(Zj)=p~(X,Zj)时取得最大值,所以
进一步
(EM算法中知道
q
q
q最优为
p
(
Z
∣
X
)
p(\bm Z|\bm X)
p(Z∣X),可以和这里对比一下,不知道有没有啥联系)
上式给出了下界最大值所应满足的条件,但是没有显式解,因为右侧和其他不同于
j
j
j项的
q
i
q_i
qi有关(在期望那里)。所以会在因子上迭代循环。该算法保证收敛,因为下界是关于
q
i
q_i
qi的凸函数
P466 应用于高斯分布
p
(
z
)
=
N
(
z
∣
μ
,
Λ
−
1
)
p(\bm z)=\mathcal N(\bm z|\bm \mu, \bm \Lambda^{-1})
p(z)=N(z∣μ,Λ−1),其中
z
=
(
z
1
,
z
2
)
\bm z=(z_1, z_2)
z=(z1,z2)
对应均值方差为
用
q
(
z
)
q(\bm z)
q(z)去近似它,并且假设可以分解
q
(
z
)
=
q
1
(
z
1
)
q
2
(
z
2
)
q(\bm z) = q_1(z_1) q_2(z_2)
q(z)=q1(z1)q2(z2),(我们把
q
q
q限制在这个形式下,因为好处理。并不能说
p
p
p不能分解所以
q
q
q也不能这么假设,毕竟只是用
q
q
q去近似)
根据平均场理论
得到
q
∗
q^*
q∗形式为高斯分布,注意我们并没有假设
q
q
q是高斯分布。从而
其中
对称地,
这样两者可以轮流优化。
结果如图
这里,因为
q
q
q的分解,自方差是可以优化的,但是协方差表达不出来,所以红圈一定是正的椭圆。变分推断的结果是左侧的. 右侧优化
K
L
(
p
∥
q
)
KL(p\| q)
KL(p∥q)被用于另一种近似框架期望传播expectation propogation中,其中
q
(
Z
)
q(\bm Z)
q(Z)仍然是因子分解的
用带拉格朗日乘子的变分法得(习题10.3)
这也即上图(b)的结果。
产生这两种原因在于KL中对数部分分子近0情况的急剧变大
P469 α族散度alpha family of divergences
其中
−
∞
<
α
<
∞
-\infty <\alpha < \infty
−∞<α<∞是一个连续变量
- D α ( p ∥ q ) ⩾ 0 D_{\alpha}(p\|q)\geqslant 0 Dα(p∥q)⩾0
- K L ( p ∥ q ) , K L ( q ∥ p ) KL(p\|q), KL(q\|p) KL(p∥q),KL(q∥p)都是α族散度的特例, K L ( p ∥ q ) KL(p\|q) KL(p∥q)对应 α → 1 \alpha \to 1 α→1,而 K L ( q ∥ p ) KL(q\|p) KL(q∥p)对应 α → − 1 \alpha \to -1 α→−1,对任意 α \alpha α
- 当 α ⩽ − 1 \alpha\leqslant -1 α⩽−1时, p ( x ) = 0 p(x)=0 p(x)=0会推出 q ( x ) = 0 q(x)=0 q(x)=0; α ⩾ 1 \alpha \geqslant 1 α⩾1时,有另一个相反结论
-
α
=
0
\alpha=0
α=0时得到对称散度,它与Hellinger距离线性相关,定义为
D H ( p ∥ q ) = ∫ ( p ( x ) 1 / 2 − q ( x ) 1 / 2 ) 2 d x D_H(p\|q)=\int \left ( p(x)^{1/2} - q(x)^{1/2} \right )^2 dx DH(p∥q)=∫(p(x)1/2−q(x)1/2)2dx
Hellinger距离的平方根是一个合法的距离度量
P470 例子:一元高斯分布
在给定数据集
D
=
{
x
1
,
⋯
,
x
N
}
\mathcal D=\{x_1, \cdots, x_N\}
D={x1,⋯,xN},并假设服从高斯分布的条件下,推断后验分布
μ
\mu
μ和精确度
τ
\tau
τ
引入高斯-Gamma分布作为共轭先验
该问题可以求出精确解,为了教学目的,考虑分解变分近似
(注意,真实后验分布是不能分解的)。
对于
q
μ
q_\mu
qμ,可以得到
得到
q
μ
∗
q^*_\mu
qμ∗是高斯分布,读出
当
N
→
∞
N \to \infty
N→∞,
μ
N
=
x
ˉ
\mu_N=\bar x
μN=xˉ
另一方面,对于
q
τ
q_\tau
qτ,可以得到
得到
q
τ
∗
(
τ
)
q^*_\tau (\tau)
qτ∗(τ)是Gamma分布,服从
G
a
m
(
τ
∣
a
N
,
b
N
)
Gam(\tau |a_N,b_N)
Gam(τ∣aN,bN),其中
当
N
→
∞
N\to \infty
N→∞,
q
τ
q_\tau
qτ的均值为数据方差的最大似然估计倒数,方差趋于0(习题10.8)。
这里仍然要注意,并没有假定
q
μ
,
q
τ
q_\mu, q_\tau
qμ,qτ的形式
优化结果如图所示
如果先验不稳,那么可以设置无信息先验
μ
0
=
a
0
=
b
0
=
λ
0
=
0
\mu_0=a_0=b_0=\lambda_0=0
μ0=a0=b0=λ0=0(这里
λ
=
0
\lambda=0
λ=0使得
μ
\mu
μ先验的方差极大)
P473 模型比较
假设有模型的分布
p
(
m
)
p(m)
p(m),目标是近似后验
p
(
m
∣
X
)
p(m|\bm X)
p(m∣X),不同模型
m
m
m会有不同的隐变量,很难直接拆成
q
(
Z
)
q
(
m
)
q(\bm Z)q(m)
q(Z)q(m),所以这里考虑
q
(
Z
,
m
)
=
q
(
Z
∣
m
)
q
(
m
)
q(\bm Z, m)=q(\bm Z|m)q(m)
q(Z,m)=q(Z∣m)q(m)
考虑分解
这里
Z
\bm Z
Z可以是离散的求和,也可以是连续的积分。
m
m
m只能是求和。关于
q
(
m
)
q(m)
q(m)最大化
L
\mathcal L
L,结果为(习题10.11)
其中
这里的优化方法为优化一步
q
(
m
)
q(m)
q(m),再第二步独立优化每一个
q
(
Z
∣
m
)
q(\bm Z|m)
q(Z∣m),反复迭代
对
q
(
m
)
q(m)
q(m)进行归一化后,它可以用于模型选择或模型平均
10.2 Illustration: Variational Mixture of Gaussians
这个例子被作者安利了,要好好理解!这个例子展示出贝叶斯方法是如何优雅地解决最大似然方法中的许多困难之处。
高斯混合,观测是
X
\bm X
X,隐变量是
Z
\bm Z
Z
对参数
μ
,
Λ
,
π
\bm \mu,\bm \Lambda, \bm \pi
μ,Λ,π采用共轭先验
根据对称性,对每个分量采用了同样的
α
0
\alpha_0
α0. 均值方差也采用高斯-Gamma先验
根据对称性,采用
m
0
=
0
\bm m_0=0
m0=0。有向图如图,注意
μ
\bm \mu
μ受
Λ
\bm \Lambda
Λ影响
- 像 z n \bm z_n zn这样反复出现在框内的作为隐变量,随数据集增大而增大;而像 μ \mu μ这样在方框外的,与数据集规模无关,被当做是参数。但是从图模型的观点来看,没有本质区别
P475 变分分布
联合分布为
考虑如下的变分分布
这里同样地,我们没有假设
q
q
q的分布形式(并忽略下标,以变量来区分不同分布)
进一步
其中
其中
D
D
D是数据维度,两边取对数得到
考虑到
∑
k
z
n
k
=
1
\sum_k z_{nk}=1
∑kznk=1,并且
z
z
z是二值的,所以
其中
这和
p
(
Z
∣
π
)
p(\bm Z|\bm \pi)
p(Z∣π)的形式一样,并且确实
ρ
n
k
\rho_{nk}
ρnk恒为正。而且
定义三种统计量
上式像是EM里的E步。另一边
注意可以继续拆分
把各个先验分布打开,得到
q
∗
(
π
)
q^*(\bm \pi)
q∗(π)是一个狄利克雷分布
其中
q
∗
(
μ
k
,
Λ
k
)
q^*(\bm\mu _k, \bm \Lambda_k)
q∗(μk,Λk)是高斯-Wishart分布
其中
这个步骤像是EM里的M步
在10.46中,计算
ρ
n
k
\rho_{nk}
ρnk时,需要用到
其中引入
Λ
~
k
,
π
~
k
\tilde \Lambda_k,\tilde \pi_k
Λ~k,π~k,
ψ
(
⋅
)
\psi(\cdot)
ψ(⋅)是Digamma函数,
α
^
=
∑
k
α
k
\hat {\alpha} = \sum_k \alpha_k
α^=∑kαk. 公式10.65和10.66是从Wishart和狄利克雷分布的性质中得到的(这我几乎都没算……看看就好)
如果带进去,可以得到
和EM相比,在EM中,由公式9.13
- 变分分布和联合分布10.41中对应的因子很像,这是个一般的结果,是由于选择了共轭先验造成的
- 高斯分布的贝叶斯混合变分解和最大似然的EM算法解很相似,都是两步迭代。当 N → ∞ N\to \infty N→∞时,贝叶斯方法收敛于最大似然EM解。贝叶斯混合变分的优势在于(1)没有高斯混合的奇异性,因为引入先验;(2)可以确定分量的最优数量,不必借助交叉验证技术
优化如图所示,
注意这里初始化了6类,但是最后只剩2类了,这是由于设定了参数先验。Gamma分布中,当
α
0
<
1
\alpha_0<1
α0<1时,先验就倾向于选择把某些类别概率置为0,如书上图2.5所示
P481 计算变分下界
这每一项都能算,翻书,我这就不写了。。
- 书上说算这个东西可以检测是否收敛,软件是否写对等……有没有其他用处我并不知道
- 另外,模型有共轭先验,变分后验分布的形式已知,通过使用这些分布的一般参数形式,可以推导出下界形式,并关于参数进行最大化
P482 预测概率密度
引入变分分布
上式有解析节(习题10.19,我没算),结果为混合t分布
当
N
→
∞
N\to \infty
N→∞,上式规约为高斯混合
P483 决定分量数量
变分下界有个问题,高斯混合中参数后验是多峰的(根据不同组参数的对称性),这导致最小化
K
L
(
q
∥
p
)
KL(q\|p)
KL(q∥p)倾向于优化到只有一个峰,而忽略其他峰。这在不同的K值进行比较时,会出问题,必须要考虑这种多峰性,一种简单的近似解法是在模型比较和平均时,在下界中增加
ln
K
!
\ln K!
lnK!,其中
K
K
K是分量数量
下界关于
K
K
K如图所示
这图和上张图不一样(上张图初始化6个分布选了最后2个应该是算了参数后验
p
(
θ
∣
D
)
p(\theta|\mathcal D)
p(θ∣D)的期望值。这张图是算
p
(
D
∣
K
)
p(\mathcal D|K)
p(D∣K))
可以看到,这种模型证据能拿来选
K
K
K
- 最大似然不能选K,最大似然 p ( D ∣ θ ) p(\mathcal D|\theta) p(D∣θ)会关于K单调递增,不考虑奇异性。(这也很好理解,因为新增一个分量,肯定不会比原来差嘛)。贝叶斯解之所以不会出现这种情况,是因为参数有先验分布
上述方法需要推断多次。另一种方法为把
π
\bm \pi
π看成是参数,没有先验分布,最大化下界进行点估计,由此得到
最大化过程会和其他参数上q的变分更新交错进行。对于解释数据集贡献小的分量最终会趋向于0. 这是一种自动相关性确定automatic relevance determination. 这样可以选择一个较大的K开始,然后一轮训练,将多个分量剪枝出去
P485 诱导分解induced factorizations
变分后验分布中假定的分解方式与真是联合概率分布的条件独立性质之间相互作用,把这些额外的分解方式叫做诱导分解。在平均场理论中,如果可以分开
那么
只要在给定
X
,
C
\bm X, \bm C
X,C的条件下,
A
,
B
\bm A, \bm B
A,B独立,那么就可以
q
∗
(
A
,
B
)
=
q
∗
(
A
)
q
∗
(
B
)
q^*(\bm A,\bm B)=q^*(\bm A)q^*(\bm B)
q∗(A,B)=q∗(A)q∗(B)
10.3 Variational Linear Regression
这里简化讨论,只考虑线性回归中的参数
α
\alpha
α
引入共轭超先验
考虑
α
\alpha
α上的概率分布,得到
看出这是Gamma分布
另一方面,考虑
w
\bm w
w上的概率分布,得到
从中读出这是一个高斯分布
这里面的期望都能算出来,很好算
这里如果把
α
0
,
β
0
\alpha_0, \beta_0
α0,β0都带成0,那就是无信息先验,这样出来的结果和EM给出的公式9.63一样
P488 预测分布
其中
这和贝叶斯线性回归结果一样,除了
S
N
\bm S_N
SN中的
E
[
α
]
\mathbb E[\alpha]
E[α]的部分
P489 变分下界
这里面每个都能算,我就不算了。
10.4 Exponential Family Distributions
根据第二章,直接上指数族分布的一般形式
共轭先验
使用分解
q
(
Z
,
η
)
=
q
(
Z
)
q
(
η
)
q(\bm Z,\bm \eta)=q(\bm Z)q(\bm \eta)
q(Z,η)=q(Z)q(η),则变分分布为
得到分布
这里使用了
g
(
η
)
∫
h
(
x
n
,
z
n
)
exp
{
η
T
u
(
x
n
,
z
n
)
}
d
(
x
n
z
n
)
=
1
g(\bm \eta)\int h(\bm x_n, \bm z_n)\exp \{\bm \eta ^T \bm u(\bm x_n, \bm z_n)\}d(\bm x_n \bm z_n ) = 1
g(η)∫h(xn,zn)exp{ηTu(xn,zn)}d(xnzn)=1,另一半变分分布为
进一步得到
其中定义了
(习题10.28从一般形式推导了变分高斯混合)
这两步交替优化,计算 E [ u ( x n , z n ) ] \mathbb E[\bm u (\bm x_n, \bm z_n)] E[u(xn,zn)],从而计算 q ∗ ( η ) q^*(\bm \eta) q∗(η);计算 E [ η T ] \mathbb E[\bm \eta^T] E[ηT],从而计算 q ∗ ( z n ) q^*(\bm z_n) q∗(zn)
P491 变分信息传播
对于有向图的联合概率
考虑变分近似
对于观测结点,是没有因子
q
q
q的,这里只考虑隐变量
唯一依赖
x
j
\bm x_j
xj的项是由
p
(
x
j
∣
p
a
j
)
p(\bm x_j|pa_j)
p(xj∣paj),其他项中有
x
j
\bm x_j
xj作为条件的,这也即
j
j
j结点的子结点。从而,
q
∗
(
x
j
)
q^*(\bm x_j)
q∗(xj)依赖的所有结点为
x
j
\bm x_j
xj的马尔可夫毯。这样就给出了一般的变分推断——利用表示图上的局部计算更新因子
- 如果所有的条件分布都有一个共轭-指数族结构,那么变分推断过程可以转化为局部信息传递算法(Winn and Bishop,2005)。对于一个结点,一旦收到了所有父结点和子结点的信息,那么这个结点相关联的概率就可以被更新。下界的计算也可以简化,因为许多必要的值已经作为信息传递框架的一部分计算完毕
10.5 Local Variational Methods 局部变分方法
寻找模型中的单独变量或者变量组上定义的函数的界限
考察凸函数
f
(
x
)
f(x)
f(x),并在
x
=
ξ
x=\xi
x=ξ这一点展开
恒有
y
(
x
)
⩽
f
(
x
)
y(x)\leqslant f(x)
y(x)⩽f(x)。考虑
f
(
x
)
=
exp
(
−
x
)
f(x)=\exp(-x)
f(x)=exp(−x)
记
λ
=
−
exp
(
−
ξ
)
\lambda = -\exp(-\xi)
λ=−exp(−ξ)。(估计是令
λ
=
f
′
(
ξ
)
\lambda=f'(\xi)
λ=f′(ξ)),则
使用凸对偶convex duality的框架更详细地描述,定义对偶函数
g
(
λ
)
g(\lambda)
g(λ),表示具有斜率
λ
\lambda
λ的
f
f
f的切线的截距负值
另一方面
f
(
x
)
f(x)
f(x)和
g
(
λ
)
g(\lambda)
g(λ)是对偶的
对于上凸函数concave functions,有类似的讨论,把
max
\max
max换成
min
\min
min即可
如果感兴趣函数非凸,那么不能用上述方法得到上界,可以首先寻找函数或参数的可逆变换,这个变换将得到一个凸函数的形式。
P495 构造逻辑回归的变分下界
例如
非凸,但是取对数,则得到上凸函数
使用公式10.132
从而
如图所示
另一种处理sigmoid方法,能得到高斯形式的下界
可以验证,上式第二项是
x
2
x^2
x2的凸函数,得到共轭函数为
不动点满足
如果将
x
x
x对应于
λ
\lambda
λ的值记为
ξ
\xi
ξ,则
把
g
g
g视作
ξ
\xi
ξ的函数,得到
所以界可以写成
进一步
图10.12(b)为该图像
- 这个界限在寻找通过logistic函数定义的后验概率分布的高斯形式时,很有用
- 这种下界没法直接推广到多类softmax。Gibbs(1997)提出了一种构造方法。
如何使用这种变分界?考虑积分
其中
p
(
a
)
p(a)
p(a)可能是一个高斯分布,对应参数的后验分布。这积不出来,所以,采用变分下界
σ
(
a
)
⩾
f
(
a
,
ξ
)
\sigma(a)\geqslant f(a, \xi)
σ(a)⩾f(a,ξ),其中
ξ
\xi
ξ是变分参数。从而可以积分了
可以通过最大化
F
(
ξ
)
F(\xi)
F(ξ),得到最紧的界。(书上后面还有一段话,大致意思是说:这个界不是很精确,虽然
σ
(
a
)
⩾
f
(
a
,
ξ
)
\sigma(a)\geqslant f(a, \xi)
σ(a)⩾f(a,ξ),但
ξ
\xi
ξ的最优选择依赖于
a
a
a,从而界限只对一个
a
a
a是精确的。最优
ξ
∗
\xi^*
ξ∗是一个折中,权重概率分布为
p
(
a
)
p(a)
p(a))
10.6 Variational Logistic Regression
第四章用拉普拉斯近似处理这个问题,这里改用变分推断。仍然用高斯去作为后验近似,但是变分推断准确很多
我们仍然假定高斯先验
这里我们先把
m
0
,
S
0
\bm m_0, \bm S_0
m0,S0视为固定值,之后会视为变量
先给出边缘似然
其中
a
=
w
T
ϕ
a=\bm w^T\phi
a=wTϕ
引入变分下界得到
因为每一个似然函数都是独立的,所以每个变分参数
ξ
n
\xi_n
ξn对应一组训练集观测
(
ϕ
n
,
t
n
)
(\phi_n, t_n)
(ϕn,tn),使用
a
=
w
T
ϕ
a=\bm w^T\phi
a=wTϕ,乘上先验,得到如下下界
取对数得到
右侧进一步
这是关于
w
\bm w
w的二次函数,是
p
(
t
,
w
)
p(\bm t, \bm w)
p(t,w)的下界。如果想求后验
p
(
w
∣
t
)
p(\bm w|\bm t)
p(w∣t),则可以用上式读出其变分近似形式为为高斯分布,形式为
这里和拉普拉斯框架类似,仍然得到高斯形式,但是这里有可调参数
ξ
\xi
ξ,更加灵活,从而使近似的精度更高
- 贝叶斯方法也可以适用于顺序学习的问题,例如每次只处理一个数据点,然后丢弃该数据点。得到顺序学习情况下的变分近似并不难
P500 最优化变分参数
有了这个估计的高斯后验,就可以对新数据进行预测。不过首先,需要通过最大化下界来估计变分参数
ξ
n
\xi_n
ξn
有两种优化策略,(1)可以采用EM进行优化,把
w
\bm w
w视为隐变量
先采用EM,
这里是以后验分布
q
(
w
;
ξ
o
l
d
)
q(\bm w;\bm \xi^{old})
q(w;ξold)计算的期望。因为
p
(
w
)
p(\bm w)
p(w)无关于
ξ
\xi
ξ,所以
(这里原本的期望只套在了
E
[
w
w
T
]
\mathbb E[\bm w\bm w^T]
E[wwT]上)
对
ξ
n
\xi_n
ξn求导得到
其中
λ
′
(
ξ
n
)
=
1
2
ξ
n
2
[
σ
(
ξ
n
)
−
1
2
−
ξ
n
σ
(
ξ
n
)
σ
(
−
ξ
n
)
]
\lambda '(\xi_n)=\frac{1}{2\xi_n^2}\left[\sigma(\xi_n)-\frac{1}{2}-\xi_n \sigma(\xi_n)\sigma(-\xi_n)\right ]
λ′(ξn)=2ξn21[σ(ξn)−21−ξnσ(ξn)σ(−ξn)]
这是一个奇函数,且单增(真的吗)。从而只需分析式10.162大于0的部分,得到
总结该方法
- E步:用式10.156求 q ( w ) q(\bm w) q(w) (这里 q q q是变分出来的,不是对 K L ( q ∥ p ) KL(q\|p) KL(q∥p)的最小化,所以E步一定会让ELBO上升吗,我觉得存疑)
- M步:更新 ξ \xi ξ
(2)第二种策略为直接对式10.159右侧
w
\bm w
w用配平方法积分,优化
ξ
\xi
ξ。会得到和EM相同的结果
- 该方法可以用于序列数据更新
通过对后验分布积分,可以得到预测分布,形式与第四章拉普拉斯近似近似的形式相同。而且贝叶斯解和SVM的Large margin也有相似性
P502 超参数推断
前一节将
α
\alpha
α视为常量,这里将
α
\alpha
α也进行推断。这里要综合运用全局变分和局部变分
考虑一个各向同性的高斯分布
(容易推广到各项不同上)
边缘似然为
联合分布为
开始变分
采用式10.152,得到
注意这个两层的不等式
接着假定
利用平均场理论
得到
q
(
w
)
q(\bm w)
q(w)是高斯分布
另一边
得到
q
(
α
)
q(\alpha)
q(α)是Gamma分布
其中
ξ
\xi
ξ也要优化,只保留和
ξ
\xi
ξ有关项
利用式10.160和10.163的结果
从而这三个量
q
(
w
)
,
q
(
α
)
,
(
ξ
n
n
e
w
)
2
q(\bm w),q(\alpha),(\xi_n^{new})^2
q(w),q(α),(ξnnew)2迭代更新,其中需要的期望为
(这里的后验结果
q
(
w
)
q(\bm w)
q(w)和上一节固定
α
\alpha
α不一样,可能是由于这里
q
(
w
)
q(\bm w)
q(w)是用平均场理论求得,上一节则是直接解析出来的)
10.7 Expectation Propagation
期望传播是另一种形式的确定性近似推断,该方法和变分贝叶斯相反,最小化
K
L
(
p
∥
q
)
KL(p\|q)
KL(p∥q),其中
p
(
z
)
p(\bm z)
p(z)固定,而
q
(
z
)
q(\bm z)
q(z)是指数族分布
把和参数
η
\bm \eta
η有关的项拿出来,得到
求导得到极值满足
而根据式2.226(指数族分布的概率密度积分为1,两侧求导得到
−
∇
ln
g
(
η
)
-\nabla \ln g(\bm \eta)
−∇lng(η)的替换)
所以,最优解仅是对于充分统计量的期望进行匹配。
(这里我理解书中的意思是,把
u
\bm u
u近似看作是泰勒展开,上式要相等,需要一阶矩相等,二阶矩相等……知乎上也有说让变分分布的矩和后验相等才是真正的motivation,具体KL放左边放右边只是推导出来的结果)
如果
q
q
q是高斯分布,通过令
q
(
z
)
q(\bm z)
q(z)的均值
μ
\bm\mu
μ等于
p
(
z
)
p(\bm z)
p(z)的均值,并令协方差也相等,可以最小化
K
L
KL
KL散度,这也称之为矩匹配moment matching
对许多概率模型,联合概率分布的形式为
尤其是其中
f
f
f的组成为
f
n
(
θ
)
=
p
(
x
n
∣
θ
)
f_n(\bm \theta)=p(\bm x_n|\bm \theta)
fn(θ)=p(xn∣θ),
f
0
(
θ
)
=
p
(
θ
)
f_0(\bm \theta)=p(\bm \theta)
f0(θ)=p(θ)对应先验。目标仍然是估计后验
分母是模型证据,为
这里假定
θ
\bm \theta
θ的边缘分布和后验分布的边缘分布都是无法计算的,需要某种形式的近似
其中每一个
f
~
i
(
θ
)
\tilde f_i(\bm \theta)
f~i(θ)对应一个
f
i
(
θ
)
f_i(\bm \theta)
fi(θ),并为了好处理,假定每一个因子是指数族分布,可被充分统计量的有限集合来描述(这里并不一定
f
~
i
≈
f
i
\tilde f_i \approx f_i
f~i≈fi,而是
f
~
i
/
Z
≈
f
i
/
p
(
D
)
\tilde f_i /Z \approx f_i / p(\mathcal D)
f~i/Z≈fi/p(D))。乘积仍然是指数族分布。例如
f
~
i
\tilde f_i
f~i是高斯,则
q
q
q也是高斯。理想情况下,要最小化
但是左侧
p
p
p给不出来,所以只能近似求
f
i
(
θ
)
f_i(\bm \theta)
fi(θ)和
f
~
i
(
θ
)
\tilde f_i(\bm \theta)
f~i(θ)之间的KL散度,但这样估计的结果很差。期望传播算法采用了一种更好的估计,对每个因子交替优化,类似变分贝叶斯的因子更新过程(平均场)。假定要优化
f
~
j
\tilde f_j
f~j,要让
尽可能接近
为了实现,先从后验分布的近似中移走
f
~
j
\tilde f_j
f~j
得到新概率分布(注意这里
f
j
f_j
fj是真实的,不一定是指数族分布)
其中
重新修正
f
~
j
\tilde f_j
f~j,来最小化
使用式10.187,通过匹配期望充分统计量,来优化
q
n
e
w
(
θ
)
q^{new}(\bm \theta)
qnew(θ)
在有了
q
n
e
w
(
θ
)
q^{new}(\bm \theta)
qnew(θ)之后,就可以计算
f
~
j
(
θ
)
\tilde f_j(\bm \theta)
f~j(θ)
其中
匹配零阶矩得到(这为啥能匹配啊?)
书上有一个算法流程,这里就不贴了。
- 一种特殊的EP被称之为assumed densiy filtering(ADF)或矩匹配moment matching。该方法对在线学习很适用
- 期望传播的一个缺点是不一定保证迭代收敛;每轮EP也不保证减小势函数的值
- EP优化 K L ( p ∥ q ) KL(p\|q) KL(p∥q),所以对于多峰 p p p,结果很差,尤其是混合概率分布。相反,在逻辑回归等模型中,EP通常比局部变分和拉普拉斯近似要好
P511 例子:聚类问题
考虑如下的高斯混合,其中
θ
\bm \theta
θ是待推断的参数
其中先验为
其中
a
=
10
,
b
=
100
,
w
=
0.5
a=10, b=100, w=0.5
a=10,b=100,w=0.5已知,对于一维数据,如图
联合分布为
这里有
2
N
2^N
2N个高斯分布,所以不好解。使用EP,令
f
0
(
θ
)
=
p
(
θ
)
,
f
n
(
θ
)
=
p
(
x
n
∣
θ
)
f_0(\bm \theta) = p(\bm \theta),f_n(\bm \theta)=p(\bm x_n|\bm \theta)
f0(θ)=p(θ),fn(θ)=p(xn∣θ)
假设后验为球型高斯
其中每个factor设置为如下形式
这里
N
(
θ
∣
⋅
,
⋅
)
\mathcal N(\bm \theta|\cdot, \cdot)
N(θ∣⋅,⋅)右侧不是良好定义,方差参数
v
n
v_n
vn可以为负。这里
q
(
θ
)
q(\bm \theta)
q(θ)仅仅是一个高斯的形式,并不是真正的高斯分布。
f
~
n
(
θ
)
\tilde f_n(\bm \theta)
f~n(θ)可以被初始化成单位高斯,对应
s
n
=
(
2
π
v
n
)
D
/
2
s_n=(2\pi v_n)^{D/2}
sn=(2πvn)D/2,
v
n
→
∞
v_n\to \infty
vn→∞,
m
n
=
0
\bm m_n=\bm 0
mn=0.
利用
得到
q
∖
n
(
θ
)
q^{\setminus n}(\bm \theta)
q∖n(θ)的均值和方差逆
利用
得到归一化系数(从这里开始我放弃推导)
利用10.198,最小化KL,得到
q
n
e
w
(
θ
)
q^{new}(\bm \theta)
qnew(θ)的均值和方差的估计
其中质量为
接着利用
得到
f
~
n
(
θ
)
\tilde f_n(\bm \theta)
f~n(θ)的参数为
上述过程一直迭代
最后,用下式估计模型证据
得到
其中
几种方法的比较如图
P513 图的期望传播
目前讨论的
f
i
(
θ
)
f_i(\bm \theta)
fi(θ)都是所有
θ
\bm\theta
θ的函数,现在考虑
f
~
(
θ
)
\tilde f(\bm \theta)
f~(θ)只依赖于变量子集。这里用因子图表示。如果最小化
K
L
(
p
∥
q
)
KL(p\|q)
KL(p∥q),那么对于每个因子,最优解为
p
p
p对应的边缘分布
考虑如下左侧图
从而设计近似
现在假定可以作如下拆分
对应因子图如上图右侧。假定每个因子都已经初始化完成了,并且要微调因子
f
~
b
(
x
2
,
x
3
)
=
f
~
b
2
(
x
2
)
f
~
b
3
(
x
3
)
\tilde f_b(x_2, x_3)=\tilde f_{b2}(x_2)\tilde f_{b3}(x_3)
f~b(x2,x3)=f~b2(x2)f~b3(x3). 首先从近似分布中消除因子
引入真实因子
接着要最小化
K
L
(
p
^
∥
q
n
e
w
)
KL(\hat p \|q^{new})
KL(p^∥qnew),因为因子化,所以
q
n
e
w
q^{new}
qnew中这四部分分别对应
为了获得改进后的
f
~
b
(
x
2
,
x
3
)
=
f
~
b
2
(
x
2
)
f
~
b
3
(
x
3
)
\tilde f_b(x_2, x_3)=\tilde f_{b2}(x_2)\tilde f_{b3}(x_3)
f~b(x2,x3)=f~b2(x2)f~b3(x3),用
q
n
e
w
(
x
)
q
∖
b
(
x
)
\frac{q^{new}(\bm x)}{ q^{\setminus b}(\bm x)}
q∖b(x)qnew(x),得到
- 上式这个形式,与信念传播得到的信息完全相同,从变量结点到因子结点的信息被整合到从因子结点到变量结点的信息中。其中 f ~ b 2 ( x 2 ) \tilde f_{b2}(x_2) f~b2(x2)对应 μ f b → x 2 ( x 2 ) \mu_{f_b\to x_2}(x_2) μfb→x2(x2),类比式8.81;类似地, f ~ a 2 ( x 2 ) \tilde f_{a2}(x_2) f~a2(x2)对应 μ f a → x 2 ( x 2 ) \mu_{f_a\to x_2}(x_2) μfa→x2(x2)
- 这个结果与标准的信念传播稍有不同,这里的传播方向是双向的。不过可以修改为标准的信念传播方式,每次只修改一个因子,并选择我们希望的顺序进行优化。
- 对于树模型,可以采用two-pass的更新顺序,这样就对应了标准信念传播。这样会产生对变量和因子的边缘分布的精确推断,近似因子的初始化不重要了
最后考虑一般的因子图,
用完全因子化的形式近似它
如果要更新因子
f
~
j
l
(
θ
l
)
\tilde f_{jl}(\theta_l)
f~jl(θl),首先去掉
f
~
j
(
θ
j
)
\tilde f_j(\bm \theta_j)
f~j(θj)
然后乘上
f
j
(
θ
j
)
f_j(\bm \theta_j)
fj(θj)
用它来优化
q
n
e
w
q^{new}
qnew,再用
q
n
e
w
(
x
)
q
∖
j
(
x
)
\frac{q^{new}(\bm x)}{ q^{\setminus j}(\bm x)}
q∖j(x)qnew(x),得到
这一波挺复杂的,不过可以用式10.235去验证一下。这是和积算法的形式,其中
f
~
j
m
(
θ
m
)
\tilde f_{jm}(\theta_m)
f~jm(θm)对应
μ
f
j
→
θ
m
(
θ
m
)
\mu_{f_j \to \theta_m} (\theta_m)
μfj→θm(θm),而关于
k
k
k的乘积对应于和因子
θ
j
\bm \theta_j
θj有关的所有其他变量
θ
m
\theta _m
θm——有关的因子(可以和式8.66、8.69结合起来看)
- 如果使用完全分解的概率分布,那么和积算法就是期望传播的一个特例。另一种推广是将因子 f i ( θ i ) f_i(\bm \theta_i) fi(θi)分成若干组,在一次迭代中,优化组内所有因子
- 变分信息传递和期望传播都优化了KL散度,Minka(2005)指出,一大类信息传递方法可以从最小化alpha族散度(式10.19)给出。例如变分信息传递variational message passing、循环信念传播loopy belief propagation、期望传播、tree-reweighted message passing、fractional belief propagation、power EP……
参考文献:
[1] Christopher M. Bishop. Pattern Recognition and Machine Learning. 2006