我们考虑一类具有特殊形式先验模型的贝叶斯推理,称为共轭先验,这简化了后验的计算。形式上,如果后验与先验在同一参数化族中,即 p(θ∣D)∈F,那么我们称先验 p(θ)∈F 是似然函数 p(D∣θ) 的共轭先验。换句话说,F 在贝叶斯更新下是封闭的。如果 F 族对应于指数族,那么计算可以以闭合形式执行。在更复杂的设置中,我们不能执行闭合形式推理,但通常可以在更大的计算管道中利用这些结果作为可处理的子程序。
单变量高斯分布模型
我们将推导单变量高斯分布的后验 p(μ,σ2∣D)。为了简单起见,我们分三个步骤来讨论:仅推理 μ,仅推理 σ2,然后同时推理这两个参数。
给定 σ2 时 μ 的后验
如果 σ2 是已知常数,则 μ 的似然概率为:
p(D∣μ)∝exp(−2σ21n=1∑N(yn−μ)2)(1)
可以证明,共轭先验是另一个高斯分布 N(μ∣m,τ2)。应用高斯分布的贝叶斯规则,我们发现相应的后验由下式给出:
p(μ∣D,σ2)=N(μ∣m^,τ^2)(2)
τ^2=σ2N+τ211=Nτ2+σ2σ2τ~2(3)
m^=τ2(τ2m+σ2Nyˉ)=Nτ2+σ2σ2m+Nτ2+σ2Nτ~2yˉ(4)
其中,yˉ≜N1∑n=1Nyn 是经验均值。
如果我们使用精度参数,那么这个结果更容易理解,而精度参数只是方差的逆。具体来说,设 λ=1/σ2 为观测精度,λ=1/τ2 为先验精度。然后我们可以将后验重新改写为如下的形式:
p(μ∣D,λ)=N(μ∣m^,λ^−1)(5)
λ^=λ~+Nλ(6)
m^=λ^Nλyˉ+λm=Nλ+λNλyˉ+Nλ+λλm(7)
这些公式非常直观:后验精度 λ^ 是先验精度 λ 加上 N 个单位的测量精度 λ。此外,后验均值 m^ 是经验均值 yˉ 和先验均值 m 的凸组合。这表明后验均值是经验均值和先验均值之间的折中。如果相对于信号强度,先验的值较小(即相对于 λ,λ 较小),我们给予经验均值更多的权重。如果相对于信号强度,先验的值较大(即相对于 λ,λ 较大),我们给予先验更多的权重。还要注意的是,后验均值是用 Nλxˉ 来表示的,因此有 N 个精度为 λ 的测量值,相当于有一个值为 xˉ、精度为 Nλ 的测量值。
为了进一步理解这些方程,在观察到单个数据点 y(因此 N=1)后,考虑后验。于是,后验均值可以记作以下的等价形式:
m^=λ^λm+λ^λy(8)
=m+λ^λ(y−m)(9)
=y−λ^λ(y−m)(10)
式(8) 是先验均值和数据的凸组合;式(9) 是向数据 y 调整的先验均值;式(10) 是向先验均值调整的数据,被称为收缩估计(shrinkage estimate)。如果我们定义权重 w=λ~/λ^,这更容易理解。于是,就有:
m^=y−w(y−m)=(1−w)y+wm(11)
请注意,对于高斯分布,后验均值和后验众数是相同的。因此,我们可以使用上述公式来执行最大后验估计。
给定 μ 时 σ2 的后验
如果 μ 是已知常数,则 σ2 的似然为:
p(D∣σ2)∝(σ2)−N/2exp(−2σ21n=1∑N(yn−μ)2)(12)
其中,我们不能再忽视前面的 1/(σ2) 项。标准共轭先验是逆伽马分布,其定义为:
IG(σ2∣a,b)=Γ(a)ba(σ2)−(a+1)exp(−σ2b~)(13)
将似然和先验相乘,我们可以看到,后验也是逆伽马分布:
p(σ2∣μ,D)=IG(σ2∣a^,b^)(14)
a^=a~+N/2(15)
b^=b~+21n=1∑N(yn−μ)2(16)
使用 IG(a,b) 分布的一个小麻烦是先验的强度被编码在 a 和 b 中。因此,在贝叶斯统计学文献中,通常使用逆伽马分布的一种替代参数化形式,称为(缩放的)逆卡方分布(inverse chi-squared distribution):
χ−2(σ2∣ν,τ2)=IG(σ2∣2ν,2ντ2)∝(σ2)−ν/2−1exp(−2σ2ντ2)(17)
其中,ν(称为自由度(degrees of freedom, dof)参数)控制先验的强度,τ2 对先验均值进行编码。有了这个先验,后验变为:
p(σ2∣D,μ)=χ−2(σ2∣ν^,τ^2)(18)
ν^=ν~+N(19)
τ^2=ν^ντ2+∑n=1N(yn−μ)2(20)
我们看到,后验自由度 ν^ 是先验自由度 ν 加上 N,后验平方和 ν^τ^2 是先验平方和 ντ~2 加上数据平方和。
μ 和 σ2 的后验:共轭先验
现在假设我们希望对均值和方差进行推理。相应的共轭先验是正态逆伽马(normal inverse gamma)分布:
NIG(μ,σ2∣m,κ,a,b)≜N(μ∣m,σ2/κ)IG(σ2∣a,b)(21)
然而,通常使用正态逆卡方(Normal Inverse Chi-squared, NIX)分布对正态逆伽马分布重新参数化,其定义如下:
NIχ2(μ,σ2∣m,κ,ν,τ2)≜N(μ∣m,σ2/κ)χ−2(σ2∣ν,τ2)(22)
∝(σ21)(ν+3)/2exp(−2σ2ντ2+κ(μ−m)2)(23)
可以证明,其后验为:
p(μ,σ2∣D)=NIχ2(μ,σ2∣m^,κ^,ν^,τ^2)(24)
m^=κ^κm+Nxˉ(25)
κ^=κ~+N(26)
ν^=ν~+N(27)
ν^τ^2=ντ2+n=1∑N(yn−yˉ)2+κ+NNκ(m~−yˉ)2(28)
相应的解释如下。对于 μ,后验均值 m^ 是先验均值 m 和最大似然估计 xˉ 的凸组合;后验的强度 κ^ 是先验的强度 κ 加上数据点 N 的数量。对于 σ2,我们使用平方和:后验平方和 ν^τ^2 是先验平方和 ντ2 加上数据平方和 ∑n=1N(yn−yˉ)2,加上由于先验均值 m 和最大似然估计 yˉ 之间的差异而产生的项;后验的强度 ν^ 是先验的强度 ν 加上数据点数量 N。
σ2 的后验边缘为:
p(σ2∣D)=∫p(μ,σ2∣D)dμ=χ−2(σ2∣ν^,τ^2)(29)
后验均值为 E[σ2∣D]=ν^−2ν^τ^2。
μ 的后验边缘具有学生分布,因为学生分布是高斯分布的(缩放)混合分布:
p(μ∣D)=∫p(μ,σ2∣D)dσ2=T(μ∣m^,τ^2/κ^,ν^)(30)
后验均值为 E[μ∣D]=m^。
多元高斯分布模型
我们将推导多元高斯分布的后验 p(μ,Σ∣D)。为了简单起见,我们分三个步骤来讨论:仅推理 μ,仅推理 Σ,然后同时推理这两个参数。
给定 Σ 时 μ 的后验
似然具有以下形式:
p(D∣μ)=N(yˉ∣μ,N1Σ)(31)
为了简单起见,我们将使用共轭先验,在这种情况下,共轭先验是高斯分布先验。特别是,如果 p(μ)=N(μ∣m,V),则我们可以导出 μ 的高斯分布的后验:
p(μ∣D,Σ)=N(μ∣m^,V^)(32)
V^−1=V~−1+NΣ−1(33)
m^=V^(Σ−1(Nyˉ)+V−1m)(34)
给定 μ 时 Σ 的后验
我们现在讨论如何计算 p(Σ∣D,μ)。
似然
似然为:
p(D∣μ,Σ)∝∣Σ∣−N/2exp(−21n=1∑N(yn−μ)⊤Σ−1(yn−μ))(35)
可以证明:
n=1∑N(yn−μ)⊤Σ−1(yn−μ)=tr(Σ−1S)+N(yˉ−μ)⊤Σ−1(yˉ−μ)(36)
其中:
S≜Syˉ=n=1∑N(yn−yˉ)(yn−yˉ)⊤=Y⊤CNY(37)
是经验散布矩阵,CN 是中心矩阵(centering matrix):
CN≜IN−N11N1N⊤(38)
因此,我们可以将似然改写为下式:
p(D∣μ,Σ)∝∣Σ∣−N/2exp(−2N(μ−yˉ)⊤Σ−1(μ−yˉ))exp(−21tr(Σ−1S))(39)
接下来,我们将使用这种形式的似然概率。
先验
很明显,先验概率的公式如下所示:
p(μ,Σ)=N(μ∣m,V)IW(Σ∣Ψ,ν)(40)
其中,IW 是逆威沙特分布。遗憾的是,在式(39) 的似然中,μ 和 Σ 以非因子化的方式出现在一起(见第一个指数项),因此式(40) 中的因子化先验与似然不共轭。
上述先验有时被称为条件共轭(conditionally conjugate),因为条件概率 p(μ∣Σ) 和 p(Σ∣μ) 都是单独共轭。为了创建完全共轭先验,我们需要使用 μ 和 Σ 相互依赖的先验。我们将使用形式为 p(μ,Σ)=p(μ∣Σ)p(Σ) 的联合分布。
查看似然公式(39),我们看到自然共轭先验具有正态逆威沙特(Normal-Inverse-Wishart, NIW)分布的形式,其定义如下:
NIW(μ,Σ∣m,κ,ν,Ψ)≜N(μ∣m,κ1Σ)×IW(Σ∣Ψ,ν)(41)
=ZNIW1∣Σ∣−1/2exp(−2κ(μ−m)⊤Σ−1(μ−m))×∣Σ∣−2ν+D+1exp(−21tr(Σ−1Ψ~))(42)
其中,归一化常数定义为:
ZNIW≜2νD/2ΓD(ν/2)(2π/κ)D/2∣Ψ∣−ν~/2(43)
正态逆威沙特分布的参数可以解释如下:m 是 μ 的先验均值,而 κ 是我们对该先验均值 m 的信任程度;Ψ 是 Σ 的先验均值(二者成一定比例),而 ν 是我们对该先验均值 Ψ 的信任程度。
后验
为了推导后验,让我们首先将散布矩阵重写为以下的形式:
S=Y⊤Y−N1(n=1∑Nyn)(n=1∑Nyn)⊤=Y⊤Y−Nyˉyˉ⊤(44)
其中,Y⊤Y=∑n=1Nynyn⊤ 是平方和(sum of squares)矩阵。
现在,我们将似然与先验相乘,结果为:
p(μ,Σ∣D)∝∣Σ∣−N/2exp(−2N(μ−yˉ)⊤Σ−1(μ−yˉ))exp(−21tr(Σ−1S))×∣Σ∣−2ν+D+2exp(−2κ(μ−m)⊤Σ−1(μ−m))exp(−21tr(Σ−1Ψ~))(45, 46)
=∣Σ∣−(N+ν~+D+2)/2exp(−21tr(Σ−1M))(47)
其中:
M≜N(μ−yˉ)(μ−yˉ)⊤+κ(μ−m)(μ−m)⊤+S+Ψ(48)
=(κ+N)μμ⊤−μ(κm+Nyˉ)⊤−(κm+Nyˉ)μ⊤+κmm⊤+Y⊤Y+Ψ~(49)
我们可以使用一种称为完成平方(completing the square)的技巧来简化 M 矩阵。将此应用于上述公式,我们得到:
(κ+N)μμ⊤−μ(κm+Nyˉ)⊤−(κm~+Nyˉ)μ⊤(50)
=(κ+N)(μ−κ+Nκm+Nyˉ)(μ−κ+Nκm+Nyˉ)⊤−κ+N(κm+Nyˉ)(κm+Nyˉ)⊤(51)
=κ^(μ−m^)(μ−m^)⊤−κ^m^m^⊤(52)
因此,我们可以将后验重写为以下的形式:
p(μ,Σ∣D)∝∣Σ∣−(ν^+D+2)/2exp(−21tr[Σ−1(κ^(μ−m^)(μ−m^)⊤+Ψ^)])(53)
=NIW(μ,Σ∣m^,κ^,ν^,Ψ^)(54)
其中:
m^=κ^κm+Nyˉ=κ+Nκm+κ+NNyˉ(55)
κ^=κ~+N(56)
ν^=ν~+N(57)
Ψ^=Ψ+S+κ+NκN(yˉ−m)(yˉ−m~)⊤(58)
=Ψ+Y⊤Y+κmm⊤−κ^m^m^⊤(59, 60)
这个结果实际上是非常直观的:后验均值 m^ 是先验均值和最大似然估计的凸组合;后验散布矩阵 Ψ^ 是先验散布矩阵 Ψ~ 加上经验散布矩阵 S 加上由于均值的不确定性而产生的额外项(从而产生了自己的虚拟散布矩阵);后验置信因子 κ^ 和 ν^ 都随着我们所依赖数据的增加而增大。
后验边缘
我们计算了联合后验:
p(μ,Σ∣D)=N(μ∣m^,κ^1Σ)IW(Σ∣Ψ^,ν^)(61)
我们现在讨论如何计算后验边缘 p(Σ∣D) 和 p(μ∣D)。
很容易看出,Σ 的后验边缘为:
p(Σ∣D)=∫p(μ,Σ∣D)dμ=IW(Σ∣Ψ^,ν^)(62)
对于均值,我们可以证明:
p(μ∣D)=∫p(μ,Σ∣D)dΣ=T(μ∣μ^,κ^ν^′Ψ^,ν^′)(63)
其中,ν^′≜ν^−D+1。直观上,这一结果是因为 p(μ∣D) 是高斯分布的无限混合模型,其中每个混合分量都有一个从逆威沙特分布中得出的值 Σ;通过将这些值混合在一起,我们得到了一个学生 t 分布,该分布比单个高斯分布具有更重的尾部。
后验众数
μ 和 Σ 的最大后验估计为:
p(μ,Σ∣Y)=N(μ∣μ^,κ^−1Σ)IW(Σ∣ν^,Ψ^)(64)
为了找到该众数,我们首先注意到 μ 只出现在条件分布 N(μ∣μ^,κ^−1Σ) 中,并且该正态分布的众数等于其平均值,即 μ=μ^。还要注意,这适用于任何 Σ。因此,我们可以将 μ=μ^ 代入式(64) 中,并推导出 Σ 的众数。请注意:
−2logp(μ=μ^,Σ∣Y)=(ν^+D+2)log(∣Σ∣)+tr(Ψ^Σ−1)+c(65)
其中,c 是与 Σ 无关的常数。然后,我们取关于 Σ 的导数:
∂Σ∂logp(μ=μ^,Σ∣Y)=(ν^+D+2)Σ−1−Σ−1Ψ^Σ−1(66)
通过将导数设为 0 并求解 Σ,我们发现,(ν^+D+2)−1Ψ^ 是使式(65) 最大化的矩阵。
通过检查发现 Ψ^ 为正定矩阵,我们得出 Ψ^ 为协方差矩阵 Σ 的最大后验估计。
总之,{μ,Σ} 的最大后验估计为:
μ^=κ+Nκm~+Nyˉ(67)
Σ^=ν^+D+21Ψ^(68)
后验预测
我们现在讨论如何通过对参数进行积分来预测未来的数据。如果 y∼N(μ,Σ),其中 (μ,Σ∣D)∼NIW(m^,κ^,ν^,Ψ^),则可以证明,对于单个观测向量,后验预测分布如下:
p(y∣D)=∫N(x∣μ,Σ)NIW(μ,Σ∣m^,κ^,ν^,Ψ^)dμdΣ(69)
=T(y∣m^,κ^ν^′Ψ^(κ^+1),ν^′)(70)
其中,ν^′=ν^−D+1。
指数族模型
我们已经看到,如果先验与似然共轭,那么精确的贝叶斯分析会大大简化。由于后验函数必须具有与先验函数相同的形式,因此参数数量也相同,也即似然函数必须具有固定大小的充分统计量,这样我们就可以记作 p(D∣θ)=p(s(D)∣θ)。这表明,唯一存在共轭先验的分布族是指数族,接下来,我们将展示如何对通用指数族模型进行共轭分析。
似然
回想一下,指数族的似然为:
p(D∣η)=h(D)exp(η⊤s(D)−NA(η))(71)
其中,s(D)=∑n=1Ns(xn),h(D)≜∏n=1Nh(xn)。
先验
对照似然的形式,我们可以定义先验:
p(η∣τ,ν)=Z(τ,ν)1exp(τ⊤η−νA(η))(72)
其中,ν 是先验的强度,τ/ν 是先验的均值,Z(τ,ν) 是归一化因子。可以从表示先验信念的虚拟样本(virtual sample)中推导出参数 τ。
后验
后验由下式给出:
p(η∣D)=p(D)p(D∣η)p(η)(73)
=Z(τ,ν)p(D)h(D)exp((τ+s(D))⊤η−(ν+N)A(η))(74)
=Z(τ^,ν^)1exp(τ^⊤η−ν^A(η))(75)
其中:
τ^=τ~+s(D)(76)
ν^=ν~+N(77)
Z(τ^,ν^)=h(D)Z(τ,ν)p(D)(78)
我们发现,这与之前的先验形式相同,但我们更新了充分统计量和样本容量。
后验均值由先验均值和经验均值(即最大似然估计)的凸组合给出:
E[η∣D]=ν^τ^=ν+Nτ+s(D)=ν+Nνντ+ν~+NNNs(D)(79)
=λE[η]+(1−λ)η^mle
其中,λ=ν+Nν。
边缘似然
从式(78) 中我们可以看出,边缘似然由下式给出:
p(D)=Z(τ^,ν^)Z(τ,ν)h(D)(80)
后验预测密度
现在,在给定过去数据 D′=(x1,…,xN′) 的情况下,我们将推导未来可观测值 D=(x1,…,xN) 的预测密度:
p(D′∣D)=∫p(D′∣η)p(η∣D)dη(81)
=∫h(D′)exp(η⊤s(D′)−N′A(η))Z(τ,ν)1exp(τ⊤η−νA(η))dη(82)
=h(D′)Z(τ+s(D),ν+N)Z(τ+s(D)+s(D′),ν+N+N′)(83)