贝叶斯线性回归(单输出)

来源:互联网 发布:vpn服务器域名填什么 编辑:程序博客网 时间:2024/05/17 04:34

本文主要依据Pattern Recognition and Machine Learing第三章的内容展开。

1线性模型

假设有一个 D 维的输入 x,和一个连续的目标输出 t,我们可以利用一组固定的基函数ϕi(x),i=0,,M的线性组合(组合系数为w0,,wM),得到一个线性回归模型:

t=i=0Mwiϕi(x)

其中,ϕ0(x)=1, w0为偏置项,则上式可以简记为:
t=y(x,w)=i=0Mwiϕi(x)=wϕ(x)

其中 w=(w0,,wM)ϕ=(ϕ0,,ϕM)

当有ND维的输入X=(x1,,xN)和对应的目标输出t=(t1,,tN)时,同理。

由此可见,虽然模型叫做贝叶斯线性回归模型,但它的线性是体现在参数 w 上。而这个模型的线性与否实际上取决于ϕ(x),我们将其称为基函数。下面简要介绍线性基函数、多项式基函数和高斯基函数。

1.1线性基函数

在所有基函数中,最为简单的便是线性基函数,它是令:

y(x,w)=w0+w1x1++wDxD
其中
x=(x1,,xD)

1.2多项式基函数

在多项式基函数中,最简单的基函数是单变量x的一元多项式按照幂次大小进行组合,此时:

y(x,w)=w0+w1x1++wMxM

当输入变量为多维时,基函数会变得较为复杂,例如当x=(x1,x2)时:
y(x,w)=w0+w11x1+w12x2+w21x21+w22x1x2+w23x22++wM1xM1+

因此,通常情况下,我们使用多项式作为基函数时,会假定其输入变量x的维度D和基函数个数M均较小;或者x内各个特征xi之间相互独立,则上式中所有变量交叉项全为0,只存在xji,i{1,,D},j{1,,M}的项。

1.3高斯基函数

高斯基函数又称径向基函数RBF,形如:

ϕi(x)=exp(12(xμi)Σ1(xμi))

其中,μiϕi(x)的高斯分布中心,Σx的变量间协方差矩阵。
除了上述基函数,较常用的还有Sigmoid基函数:
ϕj(x)=σ(xμjs)

其中
σ(a)=11+exp(a)

等价的我们还可以用 tanh 函数,因为 tanh(a)=2σ(a)1,所以 sigmoid 函数的线性组合与 tanh 函数的线性组合是等价的。

1.4 基函数图像

在上述几种基函数中,线性基函数和多项式基函数是全局基函数,他们对所有X均能产生影响,而高斯基函数和Sigmoid基函数等,只会对部分特定范围内的X产生影响。多项式基函数、高斯基函数和Sigmoid基函数的图像如下所示:
基函数图像

2极大似然法求解

在实际的回归模型中,我们获得的数据一般都叠加有噪音ϵ,此时的回归模型可以表示为:

t=y(x,w)+ϵ

其中 p(ϵ|β)=N(ϵ|0,β1),则似然函数为:
p(t|x,w,β)=N(t|y(x,w),β1)

假设有一组独立同分布的数据 X=(x1,,xN) 及其对应目标输出 t=(t1,,tN)T。则此时的似然函数为:
p(t|X,w,β)=n=1NN(tn|wϕ(xn),β1)

只考虑参数项,则对数似然为:
lnp(t|w,β)=n=1NlnN(tn|wϕ(xn),β1)=N2lnβN2ln(2π)βED(w)

其中 ED(w) 是平方和误差:
ED(w)=12n=1N[tnwϕ(xn)]2

如果只对 w优化,则最大似然就相当于最小二乘。

令对数似然函数对w的梯度为0,得到:

lnp(t|w,β)=βn=1N[tnwϕ(xn)]ϕ(xn)=0

即:
n=1Ntnϕ(xn)w(n=1Nϕ(xn)ϕ(xn))=0

此时,记:
Φ=ϕ(x1)ϕ(x2)ϕ(xN)=ϕ0(x1)ϕ0(x2)ϕ0(xN)ϕ1(x1)ϕ1(x2)ϕ1(xN)ϕM(x1)ϕM(x2)ϕM(xN)

Φni=ϕi(xn),则得到:
wML=(ΦΦ)1Φt=Φ

其中 Φ=(ΦΦ)1ΦtΦ 的 Moore-Penrose伪逆。

显然上式很容易产生过拟合,为解决这个问题,在对对数似然函数求关于w的梯度时,可以考虑加入一项λEW(w)使优化项变为:

ED(w)+λEW(w)

其中λ 是正则项的系数,对ED(w)EW(w)进行折中。一般选用w的L1或L2范数作为EW(w),其中L2范数易于求导,而L1范数容易得到稀疏解,各个范数的图像如下所示。
范数图像

3贝叶斯推理求解

假定w具有某个先验分布,并认为噪音的参数 β 已知。在N个数据点的情况下,在前面我们已经得到了 p(t|w) 的分布:

p(t|X,w,β)=n=1NN(tn|wϕ(xn),β1)

是一个关于 w平方的指数形式,此时,使用高斯分布作为w的先验:

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

根据先验与似然函数的共轭性可知,后验分布与先验具有同种形式,即后验服从高斯分布:

p(w|t)=N(w|mN,SN)

通过计算可得:

mNS1N=SN(S10m0+βΦt)=S10+βΦΦ

其中

Φ=ϕ(x1)ϕ(x2)ϕ(xN)=ϕ0(x1)ϕ0(x2)ϕ0(xN)ϕ1(x1)ϕ1(x2)ϕ1(xN)ϕM(x1)ϕM(x2)ϕM(xn)

在高斯分布中,均值=众数,因此,由最大后验可得:

wMAP=mN

如果我们考虑一个无限宽的先验:S0=α1I,α0,那么我们的最大后验结果等同于极大似然的结果;类似的,如果 N=0,那么后验分布就是先验分布。同时,我们可以将这个模型改成在线学习模型,即把前面一个数据训练得到的后验作为新的先验,在用新的数据计算新的后验,以此过程进行迭代,即可产生对数据进行在线学习的回归模型。

同时,如果考虑w的先验分布为:

p(w|α)=N(0,αI)

则相应地,

mNS1N=βSNΦt=αI+βΦΦ

此时,后验分布的对数为:

lnp(w|t)=β2n=1N{tnwϕ(xn)}2likelihoodα2wwprior+const

由此可见,在贝叶斯推理方法下,最大后验分布相当于已经增加了一个L2范数的正则项,正则系数 λ=αβ

4预测分布

由上述贝叶斯推理过程可以获得线性回归模型中基函数的各项系数mN及其偏差SN,但通常我们更关心对于一个新的输入x,其输出t的分布:

p(t|x,t,α,β)=p(t|x,w,β)p(w|t,α,β)dw

因为
p(t|x,w,β)p(w|t,α,β)=N(t|y(x,w),β1)=N(w|mN,SN)


y(x,w)=wϕ(x)

因此:

p(t|x,t,α,β)=N(t|wϕ(x),β1)N(w|mN,SN)dw

根据条件高斯分布和边缘高斯分布的性质,可得:

p(t|x,t,α,β)σ2N(x)=N(t|mNϕ(x),σ2N(x))=1β+ϕ(x)SNϕ(x)

方差σ2N(x)的第一部分表示训练数据的噪声,第二部分反映了参数w的偏差对预测输出的不确定性的影响。
随训练数据量增加,后验分布p(w|t,α,β)变得更窄,参数w 的偏差减小,从而

σ2N+1(x)σ2N(x)

当训练数据量N时,方差σ2N(x)的第二项趋于 0,从而方差趋于1β,趋近于原始数据的真实分布而不会出现过拟合。

原创粉丝点击