PRML笔记 - Logistic Regression 的贝叶斯方法

实际上对于 Logistic Regression 也是可以应用贝叶斯方法的。但直接应用非常困难。因为在贝叶斯框架下计算后验概率,我们需要对其做归一化的操作。而在 Logistic Regression 中,假设我们有 N 个数据点,那么在似然函数中就会有 N 个 sigmoid 函数连乘。这在归一化时会很麻烦,基本告别解析计算。

后验分布

因此,我们在 Logistic Regression 中使用贝叶斯框架时会使用一定的近似,这里以之前阐述的 Laplace Approximation 为例。首先我们有参数 w 的高斯先验分布

p(w)=N(w|m0,S0)

我们可以写出后验分布如下

p(w|t)p(w)p(t|w)

其中,t=(t1,...,tN)T,即是训练数据的0-1正确标签,p(t|w)=n=1Nyntn(1yn)1tn 为似然函数,yn=σ(wTϕn)。那么两边取对数有

lnp(w|t)=12(wm0)TS01(wm0)+n=1N[tnlnyn+(1tn)ln(1yn)]+const

p(w|t) 使用 Laplace Approximation。首先我们对 p(w|t) 使用极大似然法,取其梯度为 0 的地方得到 wMAP,作为 Laplace Approximation 的均值。同时根据公式我们可以得到 Laplace Approximation 的方差为

SN=lnp(w|t)=S01+n=1Nyn(1yn)ϕnϕnT

所以使用 Laplace Approximation 近似得到的结果为

p(w|t)q(w)=N(w|wMAP,SN)

预测分布

当然我们仅有 q(w) 是不够的,我们更感兴趣的是类别的预测分布。给定一个特征向量 ϕ(x),它的预测分布如下

p(C1|ϕ,t)=p(C1|ϕ,w)p(w|t)dwσ(wTϕ)q(w) dw

对于二分类问题, p(C2|ϕ,t)=1p(C1|ϕ,t)。为了计算预测分布,我们首先注意到函数 σ(wTϕ) 对于 w 的依赖只通过它在 ϕ 上的投影实现。为了简便,我们记 a=wTϕ,然后改写如下

σ(wTϕ)=δ(awTϕ)σ(a) da

我们记δ(.) 为 delta 函数,即只在 0 处为非零值,且在整个实数域上的积分为1。对于 p(a) ,我们可以认为 delta 函数给 w 施加了一个线性限制,因此在所有与 ϕ 正交的方向上积分,就得到了联合概率分布 q(w) 的边缘分布。(没理解Orz)

p(a)=δ(awTϕ)q(w) dw

则有

σ(wTϕ)q(w)dw=σ(a)p(a) da

显然(显然个屁,不懂) a 也是满足高斯分布的,我们有

μa=p(a)a da=q(w)wTϕ dw=wMAPTϕ

σa2=var[a]=p(a){a2μa2} da=ϕTSNϕ

所以最后就是

p(C1|t)=σ(a)p(a) da=σ(a)N(a|μa,σa2) da