在概率模型的应用中,一个中心任务是在给定观测(可见)数据变量X的条件下,计算潜在变量Z的后验概率分布p(Z j X),以及计算关于这个概率分布的期望。对于实际应用中的许多模型来说,计算后验概率分布或者计算关于这个后验概率分布的期望是不可⾏的。这可能是由于潜在空间的维度太搞,以至于无法直接计算,或者由于后验概率分布的形式特别复杂,从而期望无法得到解析解。
变分
对于普通的函数f(x),我们可以认为f是一个关于x的一个实数算子,其作用是将实数x映射到实数f(x)。那么类比这种模式,假设存在函数算子F,它是关于f(x)的函数算子,可以将f(x)映射成实数F(f(x)) 。对于f(x)我们是通过改变x来求出f(x)的极值,而在变分中这个x会被替换成一个函数y(x),我们通过改变x来改变y(x),最后使得F(y(x))求得极值。
变分:指的是泛函的变分。它最终寻求的是极值函数:它们使得泛函取得极大或极小值。比如,从A点到B点有无数条路径,每一条路径都是一个函数,这无数条路径,每一条函数(路径)的长度都是一个数,那你从这无数个路径当中选一个路径最短或者最长的,这就是求泛函的极值问题。
变分推断
我们引入一个识别模型
q
ϕ
(
z
∣
x
)
q_\phi(z|x)
qϕ(z∣x),它被用于逼近真实后验分布
p
θ
(
z
∣
x
)
p_\theta(z|x)
pθ(z∣x)。变分推断的目标是尽量缩小识别模型和后验分布的KL divergence,变分推断的将会得到一组
q
ϕ
(
z
∣
x
)
q_\phi(z|x)
qϕ(z∣x)
我们通过对对数边缘概率的分解得到其ELOB与KL divergence的加和的形式。
KL divergence是衡量两个函数的不相似度,当等于0时表示两个分布完全一样。P(x)不变,那么想让KL( q || p )越小,即让ELOB越大,反之亦然。因为KL≥0,所以logP(x)≥ELOB。ELOB被称为变分下界。
平均场理论
在平均场理论中
q
ϕ
(
z
∣
x
)
q\phi(z|x)
qϕ(z∣x)被构造成了:
也就是假设
q
ϕ
(
z
∣
x
)
q_\phi(z|x)
qϕ(z∣x)函数的随机变量之间相互独立
变分下界
求解过程(极大化ELOB)
因为
q
i
(
z
i
)
q_i(z_i)
qi(zi)独立同分布,所以我们可以依次来优化,我们对其中一项
q
j
(
z
j
)
q_j(z_j)
qj(zj)为:
L
(
q
j
)
=
∫
∏
i
q
j
{
l
n
p
(
X
,
Z
)
−
∑
i
l
n
q
i
}
d
Z
=
∫
q
j
{
∫
l
n
(
X
,
Z
)
∏
i
≠
j
q
i
d
Z
i
}
d
Z
j
−
∫
q
j
l
n
q
j
d
Z
j
+
C
=
∫
q
j
l
n
p
ˇ
(
X
,
Z
j
)
d
Z
j
−
∫
q
j
l
n
q
j
d
Z
j
+
C
\mathcal L(q_j)=\int \prod_i q_j\{ lnp(X,Z)-\sum_ilnq_i \} dZ \\=\int q_j\{ \int ln(X,Z) \prod_{i\neq j}q_i dZ_i \} dZ_j -\int q_j ln q_jd Z_j +C \\ =\int q_j ln\check{p}(X,Z_j)dZ_j - \int q_j lnq_jdZ_j +C
L(qj)=∫i∏qj{lnp(X,Z)−i∑lnqi}dZ=∫qj{∫ln(X,Z)i̸=j∏qidZi}dZj−∫qjlnqjdZj+C=∫qjlnpˇ(X,Zj)dZj−∫qjlnqjdZj+C
这其中的
p
ˇ
(
X
,
Z
j
)
\check{p}(X,Z_j)
pˇ(X,Zj)为出去第j项的期望
E
i
≠
j
[
l
n
p
(
X
,
Z
)
]
+
C
\Bbb E_{i\neq j}[lnp(X,Z)]+C
Ei̸=j[lnp(X,Z)]+C。波浪号代表的是近似。
=
∫
q
i
l
n
p
ˇ
(
X
,
Z
j
)
d
Z
j
−
∫
q
j
l
n
q
j
d
Z
j
+
C
=\int q_iln\check p(X,Z_j) dZ_j-\int q_jlnq_jdZ_j+C
=∫qilnpˇ(X,Zj)dZj−∫qjlnqjdZj+C
也就等价于-KL也就是说我们最小化KL散度,因此
l
n
q
j
=
E
i
≠
j
[
l
n
p
(
X
,
Z
)
]
+
C
lnq_j=\Bbb E_{i\neq j}[lnp(X,Z)]+C
lnqj=Ei̸=j[lnp(X,Z)]+C得到最优解。
归一化:
q
j
∗
(
Z
j
)
=
E
i
≠
j
[
l
n
p
(
X
,
Z
)
]
∫
E
i
≠
j
[
l
n
p
(
X
,
Z
)
]
d
Z
j
q_j^*(Z_j)=\frac{\Bbb E_{i\neq j}[lnp(X,Z)]}{\int \Bbb E_{i\neq j}[lnp(X,Z)]dZ_j}
qj∗(Zj)=∫Ei̸=j[lnp(X,Z)]dZjEi̸=j[lnp(X,Z)]
一元高斯分布的例子
我们现在有给定的观测值数据
D
=
{
x
1
,
x
2
,
.
.
.
,
x
n
}
D=\{ x_1,x_2,...,x_n \}
D={x1,x2,...,xn}的情况下推断均值μ和精度
τ
\tau
τ的后验。其中,我们假设数据是独立地从高斯分布中抽取的。似然函数为:
p
(
D
∣
μ
,
τ
)
=
(
τ
2
π
)
N
2
e
x
p
{
−
τ
2
∑
n
=
1
N
(
x
n
−
μ
)
2
}
p(D|μ,\tau) = (\frac{\tau}{ 2π })^{\frac{N}{2}}exp\{ -\frac{\tau}{2}\sum_{n=1}^{N} (x_n-μ)^2 \}
p(D∣μ,τ)=(2πτ)2Nexp{−2τn=1∑N(xn−μ)2}
我们现在引入μ和
τ
\tau
τ的共轭先验分布
p
(
μ
∣
τ
)
=
N
(
μ
∣
μ
0
,
(
λ
0
τ
)
−
1
)
p
(
τ
)
=
G
a
m
(
τ
∣
a
0
,
b
0
)
p(μ|\tau)=\mathcal{N}(μ|μ_0,(\lambda_0\tau)^-1) \\ \ \\ p(\tau)=Gam(\tau|a_0,b_0)
p(μ∣τ)=N(μ∣μ0,(λ0τ)−1) p(τ)=Gam(τ∣a0,b0)
其中Gam为
G
a
m
(
λ
∣
a
0
,
b
0
)
=
1
Γ
(
a
)
b
0
a
0
λ
a
0
−
1
e
x
p
(
−
b
0
λ
)
Gam(\lambda | a_0,b_0)=\frac{1}{\Gamma(a)} b^{a_0}_0\lambda^{a_0-1}exp(-b_0\lambda)
Gam(λ∣a0,b0)=Γ(a)1b0a0λa0−1exp(−b0λ)
我们可以看出后验依然是高斯gamma分布,后验概率分布的一个分解变分近似,形式为
q
(
μ
,
τ
)
=
q
μ
(
μ
)
q
τ
(
τ
)
q(μ,\tau)=q_μ(μ)q_\tau(\tau)
q(μ,τ)=qμ(μ)qτ(τ)
最优因子
q
μ
q_μ
qμ
q
τ
q_\tau
qτ可以通过式子
l
n
q
(
μ
,
τ
)
=
E
i
≠
j
[
l
n
p
(
X
,
Z
)
]
+
C
lnq(μ,\tau)=\Bbb E_{i\neq j}[lnp(X,Z)]+C
lnq(μ,τ)=Ei̸=j[lnp(X,Z)]+C得到
由上式我们对于
q
μ
(
μ
)
q_μ(μ)
qμ(μ)有:
l
n
q
μ
∗
(
μ
)
=
E
τ
[
l
n
p
(
D
,
μ
∣
τ
)
]
+
C
=
E
τ
[
l
n
p
(
D
∣
μ
,
τ
)
+
l
n
(
μ
∣
τ
)
]
+
C
=
E
τ
[
−
τ
2
∑
n
=
1
N
(
x
n
−
μ
)
2
+
N
2
l
n
τ
2
π
+
λ
0
(
μ
−
μ
0
)
2
]
+
C
=
E
τ
[
−
τ
2
∑
n
=
1
N
(
x
n
−
μ
)
2
−
τ
2
λ
0
(
μ
−
μ
0
)
2
]
+
C
=
−
1
2
E
[
τ
]
{
λ
0
(
μ
−
μ
0
)
2
+
∑
n
=
1
N
(
x
n
−
μ
)
2
}
+
C
lnq_μ^*(μ)=\Bbb E_{\tau}[lnp(D,μ|\tau)]+C \\=\Bbb E_{\tau}[lnp(D|μ,\tau)+ln(μ|\tau)]+C \\=\Bbb E_{\tau}[ -\frac{\tau}{2}\sum_{n=1}^{N} (x_n-μ)^2 +\frac{N}2 ln\frac{\tau}{2\pi}+\lambda_0(\mu-\mu_0)^2]+C \\=\Bbb E_{\tau}[ -\frac{\tau}{2}\sum_{n=1}^{N} (x_n-μ)^2 -\frac{\tau}{2}\lambda_0(\mu-\mu_0)^2]+C \\=-\frac12 \Bbb E[\tau]\{\lambda_0(\mu-\mu_0)^2+\sum_{n=1}^N(x_n-\mu)^2\}+C
lnqμ∗(μ)=Eτ[lnp(D,μ∣τ)]+C=Eτ[lnp(D∣μ,τ)+ln(μ∣τ)]+C=Eτ[−2τn=1∑N(xn−μ)2+2Nln2πτ+λ0(μ−μ0)2]+C=Eτ[−2τn=1∑N(xn−μ)2−2τλ0(μ−μ0)2]+C=−21E[τ]{λ0(μ−μ0)2+n=1∑N(xn−μ)2}+C现在将ln去掉,我们可以发现
q
μ
q_\mu
qμ为一个高斯分布
N
(
μ
∣
μ
N
,
λ
N
−
1
)
\mathcal{N}(\mu|\mu_N,\lambda_N^{-1})
N(μ∣μN,λN−1)均值和方差为:
μ
N
=
λ
0
μ
0
+
N
x
‾
λ
0
+
N
λ
N
=
(
λ
0
+
N
)
E
[
τ
]
\mu_N=\frac{\lambda_0\mu_0+N\overline{x}}{\lambda_0+N} \\ \lambda_N=(\lambda_0+N)\Bbb E[\tau]
μN=λ0+Nλ0μ0+NxλN=(λ0+N)E[τ]
对于
q
τ
(
τ
)
q_\tau(\tau)
qτ(τ)
l
n
q
τ
∗
(
τ
)
=
E
τ
[
l
n
p
(
D
,
μ
∣
τ
)
+
l
n
p
(
μ
∣
τ
)
]
+
l
n
p
(
τ
)
+
C
(
7
)
其
中
l
n
p
(
τ
)
=
l
n
(
1
Γ
(
a
)
b
0
a
0
λ
a
0
−
1
e
x
p
(
−
b
0
λ
)
)
=
(
a
0
−
1
)
l
n
τ
−
b
0
τ
+
N
+
1
2
l
n
τ
式
子
(
7
)
=
E
τ
[
−
τ
2
∑
n
=
1
N
(
x
n
−
μ
)
2
−
τ
2
λ
0
(
μ
−
μ
0
)
2
]
+
C
+
(
a
0
−
1
)
l
n
τ
−
b
0
τ
+
N
+
1
2
l
n
τ
lnq_\tau^*(\tau)=\Bbb E_{\tau} [ lnp(D,μ|\tau) +lnp(\mu|\tau) ] +lnp(\tau)+C(7) \\其中lnp(\tau)=ln(\frac{1}{\Gamma(a)} b^{a_0}_0\lambda^{a_0-1}exp(-b_0\lambda)) \\=(a_0-1)ln\tau - b_0\tau+\frac{N+1}2ln\tau \\式子(7)=\Bbb E_{\tau}[ -\frac{\tau}{2}\sum_{n=1}^{N} (x_n-μ)^2 -\frac{\tau}{2}\lambda_0(\mu-\mu_0)^2]+C \\+(a_0-1)ln\tau - b_0\tau+\frac{N+1}2ln\tau
lnqτ∗(τ)=Eτ[lnp(D,μ∣τ)+lnp(μ∣τ)]+lnp(τ)+C(7)其中lnp(τ)=ln(Γ(a)1b0a0λa0−1exp(−b0λ))=(a0−1)lnτ−b0τ+2N+1lnτ式子(7)=Eτ[−2τn=1∑N(xn−μ)2−2τλ0(μ−μ0)2]+C+(a0−1)lnτ−b0τ+2N+1lnτ
例子:混合高斯的变分
我们现在使用变分推断的方法讨论高斯混合模型。如图所示,对于每一个观测
x
n
x_n
xn都有一个潜在的变量
z
n
z_n
zn,它是一个1-of-K表示的二值向量,潜在变量
Z
=
{
z
1
,
.
.
.
,
z
N
}
Z=\{z_1,...,z_N\}
Z={z1,...,zN}.观测数据集
X
=
{
x
1
,
.
.
.
,
x
N
}
X=\{x_1,...,x_N \}
X={x1,...,xN}
混合系数π,
π
k
π_k
πk表示
z
n
k
=
1
z_nk=1
znk=1的概率:
p
(
Z
∣
π
)
=
∏
n
=
1
N
∏
k
=
1
K
π
k
z
n
k
p(Z|π)=\prod_{n=1}^N\prod_{k=1}^K π_k^{z_nk}
p(Z∣π)=n=1∏Nk=1∏Kπkznk
数据的条件概率分布为
p
(
X
∣
Z
,
μ
,
Λ
)
=
∏
n
=
1
N
∏
k
=
1
K
N
(
x
n
∣
μ
k
,
Λ
k
−
1
)
z
n
k
p(X|Z,μ,\Lambda)=\prod_{n=1}^N\prod_{k=1}^K \mathcal{N}(x_n|μ_k,\Lambda_k^{-1})^{z_nk}
p(X∣Z,μ,Λ)=n=1∏Nk=1∏KN(xn∣μk,Λk−1)znk
然后我们引入参数
μ
,
Λ
,
π
\mu , \Lambda,\pi
μ,Λ,π的先验分布,由共轭先验我们选择狄利克雷分布作为混合系数
π
\pi
π的先验
p
(
π
)
=
D
i
r
(
π
∣
α
0
)
=
C
(
α
0
)
∏
k
=
1
K
π
k
α
0
−
1
p(\pi)=Dir(\pi|\alpha_0)=C(\alpha_0)\prod_{k=1}^K \pi_k^{\alpha_0-1}
p(π)=Dir(π∣α0)=C(α0)k=1∏Kπkα0−1
其中C(
α
0
\alpha_0
α0)为归一化常数
α
0
\alpha_0
α0为超参数。
我们引入高斯-Wishart作为
μ
,
Λ
\mu,\Lambda
μ,Λ的先验:
p
(
μ
,
Λ
)
=
p
(
μ
∣
Λ
)
p
(
Λ
)
=
∏
k
=
1
K
N
(
μ
k
∣
m
0
,
(
β
0
Λ
k
)
−
1
)
W
(
Λ
k
∣
W
0
,
v
0
)
p(\mu,\Lambda)=p(\mu|\Lambda)p(\Lambda) \\=\prod_{k=1}^K\mathcal{N}(\mu_k|m_0,(\beta_0\Lambda_k)^{-1})\mathcal{W}(\Lambda_k|W_0,v_0)
p(μ,Λ)=p(μ∣Λ)p(Λ)=k=1∏KN(μk∣m0,(β0Λk)−1)W(Λk∣W0,v0)
变分分布
我们将上面的概率图模型表达的式子写出:
p
(
X
,
Z
,
π
,
μ
,
Λ
)
=
p
(
X
∣
Z
,
μ
,
Λ
)
p
(
Z
∣
π
)
p
(
π
)
p
(
μ
∣
Λ
)
p
(
Λ
)
(
1
)
p(X,Z,\pi,\mu,\Lambda)=p(X|Z,\mu,\Lambda)p(Z|\pi)p(\pi)p(\mu|\Lambda)p(\Lambda) (1)
p(X,Z,π,μ,Λ)=p(X∣Z,μ,Λ)p(Z∣π)p(π)p(μ∣Λ)p(Λ)(1)
我们写出一个变分分布:
q
(
Z
,
π
,
μ
,
Λ
)
=
q
(
Z
)
q
(
π
,
μ
,
Λ
)
(
2
)
q(Z,\pi,\mu,\Lambda)=q(Z)q(\pi,\mu,\Lambda) (2)
q(Z,π,μ,Λ)=q(Z)q(π,μ,Λ)(2)
对于因子q(Z),最优因子对数为:
l
n
q
∗
(
Z
)
=
E
π
,
μ
,
Λ
[
l
n
p
(
X
,
Z
,
π
,
μ
,
Λ
)
]
+
C
(
3
)
lnq^*(Z)=\Bbb E_{\pi,\mu,\Lambda}[lnp(X,Z,\pi,\mu,\Lambda)]+C(3)
lnq∗(Z)=Eπ,μ,Λ[lnp(X,Z,π,μ,Λ)]+C(3)
将上式拆分成式(1)的形式,我们现在只对变量Z相关的函数关系感兴趣,所以将与Z无关的项都整合到归一化系数中,上式可以改写成。
l
n
q
∗
(
Z
)
=
E
π
[
l
n
p
(
Z
∣
π
)
]
+
E
μ
,
Λ
[
l
n
p
(
X
∣
Z
,
μ
,
Λ
)
]
+
C
(
4
)
lnq^*(Z)=\Bbb E_\pi[lnp(Z|\pi)]+\Bbb E_{\mu,\Lambda}[lnp(X|Z,\mu,\Lambda)]+C(4)
lnq∗(Z)=Eπ[lnp(Z∣π)]+Eμ,Λ[lnp(X∣Z,μ,Λ)]+C(4)
将上面的分布展开,把与z无关的项放入常数项中
l
n
q
∗
(
Z
)
=
∑
n
=
1
N
∑
k
=
1
K
z
n
k
l
n
ρ
n
k
+
C
(
5
)
其
中
l
n
ρ
n
k
为
:
l
n
ρ
n
k
=
E
[
l
n
π
k
]
+
1
2
E
[
l
n
[
Λ
k
]
]
−
D
2
l
n
(
2
π
)
−
1
2
E
μ
k
,
Λ
k
[
(
x
n
−
μ
k
)
T
Λ
k
(
x
n
−
μ
k
)
]
lnq^*(Z)=\sum_{n=1}^{N}\sum_{k=1}^Kz_{nk}ln\rho_{nk}+C(5) \\其中ln\rho_{nk}为: \\ln\rho_{nk}=\Bbb E[ln\pi_k]+ \frac12 \Bbb E[ln[\Lambda_k]]-\frac{D}2ln(2\pi) \\-\frac12\Bbb E_{\mu_k,\Lambda_k}[(x_n-\mu_k)^T\Lambda_k(x_n-\mu_k)]
lnq∗(Z)=n=1∑Nk=1∑Kznklnρnk+C(5)其中lnρnk为:lnρnk=E[lnπk]+21E[ln[Λk]]−2Dln(2π)−21Eμk,Λk[(xn−μk)TΛk(xn−μk)]
我们对式5两侧取指数可以得到:
我们要求这个概率分布是归一化的,并且我们注意到对于每个n值, znk都是二值的,在所有的k值上的加和等于1,因此我们有
q
∗
(
Z
)
=
∏
n
=
1
N
∏
k
=
1
K
r
n
k
z
n
k
其
中
:
r
n
k
=
ρ
n
k
∑
j
=
1
k
ρ
n
j
q^*(Z)=\prod_{n=1}^N\prod_{k=1}^K r_{nk}^{z_{nk}} \\其中: \\r_{nk}=\frac{\rho_{nk}}{\sum_{j=1}^k\rho_{nj}}
q∗(Z)=n=1∏Nk=1∏Krnkznk其中:rnk=∑j=1kρnjρnk
由
于ρnk是一个实数值的指数,因此
r
n
k
r_{nk}
rnk是非负的,且加和等于1,满足要求。对于离散概率分布
q
∗
(
Z
)
q^*(Z)
q∗(Z),我们有标准的结果:
E
[
z
n
k
]
=
r
n
k
\Bbb E[z_{nk}]=r_{nk}
E[znk]=rnk
得到了因子q(Z)的最优解,我们再来观察分布中的因子
q
(
π
,
μ
,
Λ
)
q(\pi,\mu,\Lambda)
q(π,μ,Λ):
l
n
q
∗
(
π
,
μ
,
Λ
)
=
l
n
p
(
π
)
+
∑
k
=
1
K
l
n
p
(
μ
k
,
Λ
k
)
+
E
Z
[
l
n
p
(
Z
∣
π
)
]
+
∑
k
=
1
K
∑
n
=
1
N
E
[
z
n
k
]
l
n
N
(
x
n
∣
μ
k
,
Λ
k
−
1
)
(
6
)
lnq^*(\pi,\mu,\Lambda)=lnp(\pi)+\sum_{k=1}^Klnp(\mu_k,\Lambda_k)+\Bbb E_Z[lnp(Z|\pi)] \\+\sum_{k=1}^K\sum_{n=1}^N\Bbb E[z_{nk}]ln\mathcal{N}(x_n|\mu_k,\Lambda_k^{-1})(6)
lnq∗(π,μ,Λ)=lnp(π)+k=1∑Klnp(μk,Λk)+EZ[lnp(Z∣π)]+k=1∑Kn=1∑NE[znk]lnN(xn∣μk,Λk−1)(6)
我们观察到,这个表达式右侧可以分解成若干项的和,其中一些只与
π
\pi
π有关,一些项只与
μ
和
Λ
\mu和\Lambda
μ和Λ有关因此可以进一步的分解:
q
(
π
,
μ
,
Λ
)
=
q
(
π
)
∏
k
=
1
K
q
(
μ
k
,
Λ
k
)
(
7
)
q(\pi,\mu,\Lambda)=q(\pi)\prod_{k=1}^K q(\mu_k,\Lambda_k) (7)
q(π,μ,Λ)=q(π)k=1∏Kq(μk,Λk)(7)
对(6)式分离出与
π
\pi
π相关的项有:
l
n
q
∗
(
π
)
=
(
α
0
−
1
)
∑
k
=
1
l
n
π
k
+
∑
k
=
1
K
∑
n
=
1
N
r
n
k
l
n
π
k
+
C
可
以
将
q
∗
(
π
)
看
成
是
狄
利
克
雷
分
布
其
中
α
元
素
为
α
k
,
形
式
为
:
q
∗
(
π
)
=
D
i
r
(
π
∣
α
k
)
α
k
=
α
0
+
N
k
lnq^*(\pi)=(\alpha_0-1)\sum_{k=1}ln\pi_k+\sum_{k=1}^K\sum_{n=1}^Nr_{nk}ln\pi_k+C \\可以将q^*(\pi)看成是狄利克雷分布其中\alpha元素为\alpha_k,形式为:\\q^*(\pi)=Dir(\pi|\alpha_k) \\\alpha_k=\alpha_0+N_k
lnq∗(π)=(α0−1)k=1∑lnπk+k=1∑Kn=1∑Nrnklnπk+C可以将q∗(π)看成是狄利克雷分布其中α元素为αk,形式为:q∗(π)=Dir(π∣αk)αk=α0+Nk
然后
q
∗
(
μ
k
,
Λ
k
)
q^*(\mu_k,\Lambda_k)
q∗(μk,Λk)可以使用乘积规则改写为
q
∗
(
μ
k
∣
Λ
k
)
q
∗
(
Λ
k
)
q^*(\mu_k|\Lambda_k)q^*(\Lambda_k)
q∗(μk∣Λk)q∗(Λk)观察式(6)为一个高斯-Wishart分布,形式为:
q
∗
(
μ
k
,
Λ
k
)
=
N
(
μ
k
∣
m
k
,
(
β
k
,
Λ
k
)
−
1
)
W
(
Λ
k
∣
W
k
,
v
k
)
q^*(\mu_k,\Lambda_k)=\mathcal N(\mu_k|m_k,(\beta_k,\Lambda_k)^{-1})\mathcal W(\Lambda_k|W_k,v_k)
q∗(μk,Λk)=N(μk∣mk,(βk,Λk)−1)W(Λk∣Wk,vk)
其中我们已经定义了
变分下界
我们也可以计算这个模型的下界:
L
(
q
j
)
=
∫
q
{
l
n
p
(
X
,
Z
)
−
∑
i
l
n
q
i
}
d
Z
\mathcal L(q_j)=\int q\{ lnp(X,Z)-\sum_ilnq_i \} dZ
L(qj)=∫q{lnp(X,Z)−i∑lnqi}dZ
在重新估计期间监视模型的下界可以用来检测是否收敛。它也可以为解的数学表达式和它们的软件执行提供一个有价值的检查,因为在迭代重新估计的每个步骤中,这个下界的值应该不会减小。
预测概率密度
在高斯模型的贝叶斯混合的应用中,我们通常对观测变量的新值
x
ˇ
\check{x}
xˇ的预测概率密度感兴趣。与这个观测相关联的有一个潜在变量
z
ˇ
\check{z}
zˇ,从而预测概率分布为
p
(
x
ˇ
∣
X
)
=
∑
z
ˇ
∭
π
k
N
(
x
ˇ
∣
μ
k
,
Λ
k
−
1
)
p
(
π
,
μ
,
Λ
∣
X
)
d
π
d
μ
d
Λ
p(\check{x}|X)=\sum_{\check{z}}\iiint\pi_k\mathcal{N}(\check{x}|\mu_k,\Lambda_k^{-1})p(\pi,\mu,\Lambda|X)d\pi d\mu d \Lambda
p(xˇ∣X)=zˇ∑∭πkN(xˇ∣μk,Λk−1)p(π,μ,Λ∣X)dπdμdΛ
其中
p
(
π
,
μ
,
Λ
∣
X
)
p(\pi,\mu,\Lambda|X)
p(π,μ,Λ∣X)是参数的(未知)真实后验概率分布。我们可以先完成在
z
ˇ
\check z
zˇ上的求和,得到
由于剩下的积分是无法计算的,因此我们通过将真实后验概率分布
p
(
π
,
μ
,
Λ
∣
X
)
p(\pi,\mu,\Lambda|X)
p(π,μ,Λ∣X)用它的变分近似q(π)q(µ,Λ)替换的方式来近似预测概率分布:
p
(
x
ˇ
∣
X
)
⋍
∑
k
=
1
K
∭
π
k
N
(
x
ˇ
∣
μ
k
,
Λ
k
−
1
)
q
(
π
)
q
(
μ
k
,
Λ
k
)
d
π
d
μ
k
d
Λ
k
p(\check x|X)\backsimeq \sum_{k=1}^K\iiint\pi_k\mathcal N(\check x|\mu_k,\Lambda_k^{-1})q(\pi)q(\mu_k,\Lambda_k)d\pi d\mu_k d\Lambda_k
p(xˇ∣X)⋍k=1∑K∭πkN(xˇ∣μk,Λk−1)q(π)q(μk,Λk)dπdμkdΛk
其中我们使用了(7)式给出的分解⽅式,并且在每⼀项中,我们已经隐式地将j ̸= k的全部{
μ
j
,
Λ
j
\mu_j,\Lambda_j
μj,Λj}变量积分出去。,剩余的积分现在可以解析地计算,得到一个学生t分布的混合,即
变分线性回归
在模型证据框架中,我们通过使用最大化似然函数的方法进行点估计,从而近似了在α和β上的积分。一个纯粹的贝叶斯方法会对所有的超参数和参数进行积分。虽然精确的积分是无法计算的,但是我们可以使用变分法来找到一个可以处理的近似。
ω
\omega
ω的似然函数和先验分布为:
p
(
t
∣
ω
)
=
∏
n
=
1
N
N
(
t
n
∣
ω
T
ϕ
n
,
β
−
1
)
p
(
ω
∣
α
)
=
N
(
ω
∣
0
,
α
−
1
I
)
p
(
α
)
=
G
a
m
(
α
∣
a
0
,
b
0
)
p(t|\omega)=\prod_{n=1}^N\mathcal{N}(t_n|\omega^T\phi_n,\beta^{-1}) \\p(\omega|\alpha)=\mathcal{N}(\omega|0,\alpha^{-1}I) \\p(\alpha)=Gam(\alpha|a_0,b_0)
p(t∣ω)=n=1∏NN(tn∣ωTϕn,β−1)p(ω∣α)=N(ω∣0,α−1I)p(α)=Gam(α∣a0,b0)
可以表示为:
所有变量上的联合分布为:
p
(
t
,
ω
,
α
)
=
p
(
t
∣
ω
)
p
(
ω
∣
α
)
p
(
α
)
p(t,\omega,\alpha)=p(t|\omega)p(\omega|\alpha)p(\alpha)
p(t,ω,α)=p(t∣ω)p(ω∣α)p(α)
变分分布
变分后验概率分布的分解表达式为:
q
(
ω
,
α
)
=
q
(
ω
)
q
(
α
)
q(\omega,\alpha)=q(\omega)q(\alpha)
q(ω,α)=q(ω)q(α)
我们可以使用:
来找到这个分布中的因子的重新估计方程。对于每个因子,我们取所有变量上的联合概率分布的对数,然后关于不在这个因子中的变量求平均。首先考虑α上的概率分布。只保留与α有函数依赖关系的项,我们有
l
n
q
∗
(
α
)
=
l
n
p
(
α
)
+
E
ω
[
l
n
p
(
ω
∣
α
)
]
+
C
=
(
α
0
−
1
)
l
n
α
−
b
0
α
+
M
2
l
n
α
−
α
2
E
[
ω
T
ω
]
+
C
lnq^*(\alpha)=lnp(\alpha)+\Bbb E_\omega[lnp(\omega|\alpha)]+C \\=(\alpha_0-1)ln\alpha-b_0\alpha+\frac M2ln\alpha-\frac{\alpha}2\Bbb E[\omega^T\omega]+C
lnq∗(α)=lnp(α)+Eω[lnp(ω∣α)]+C=(α0−1)lnα−b0α+2Mlnα−2αE[ωTω]+C
通过观察我们有
q
∗
(
α
)
=
G
a
m
(
α
∣
a
0
+
M
2
,
b
0
+
1
2
E
[
ω
T
ω
]
)
q^*(\alpha)=Gam(\alpha|a_0+\frac M2,b_0+\frac 12\Bbb E[\omega^T\omega])
q∗(α)=Gam(α∣a0+2M,b0+21E[ωTω])
我们也可以找到
ω
\omega
ω上的后验概率分布的变分冲估计方程:
l
n
q
∗
(
ω
)
=
l
n
p
(
t
∣
ω
)
+
E
α
[
l
n
p
(
ω
∣
α
)
]
+
c
=
−
β
2
∑
n
=
1
N
{
ω
T
ϕ
n
−
t
n
}
2
−
1
2
E
[
α
]
ω
T
ω
+
C
=
−
1
2
ω
T
(
E
[
α
]
I
+
β
Φ
T
Φ
)
ω
+
β
ω
T
Φ
T
t
+
C
lnq^*(\omega)=lnp(t|\omega)+\Bbb E_\alpha[lnp(\omega|\alpha)]+c \\=-\frac\beta 2\sum_{n=1}^N\{ \omega^T\phi_n-t_n \}^2-\frac12\Bbb E[\alpha]\omega^T\omega+C \\=-\frac12\omega^T(\Bbb E[\alpha]I+\beta\Phi^T\Phi)\omega+\beta\omega^T\Phi^Tt+C
lnq∗(ω)=lnp(t∣ω)+Eα[lnp(ω∣α)]+c=−2βn=1∑N{ωTϕn−tn}2−21E[α]ωTω+C=−21ωT(E[α]I+βΦTΦ)ω+βωTΦTt+C
由于这是一个二次型,因此分布q∗(w)是一个高斯分布,因此我们可以使用一般的配平方的方法,得到均值和协方差,结果为
预测分布
给定一个新的输如x,使用参数的高斯变分后验概率很容易计算出t上的预测分布,即
这里,与输入相关的方差为: