【机器学习】从贝叶斯角度理解正则化缓解过拟合

来源:互联网 发布:淘宝卖家屏蔽买家消息 编辑:程序博客网 时间:2024/05/06 19:40

从贝叶斯角度理解正则化缓解过拟合

参考: LR正则化与数据先验分布的关系? - Charles Xiao的回答 - 知乎

原始的Linear Regression

假设有若干数据 (x1,y1),(x2,y2),...,(xm,ym),我们要对其进行线性回归。也就是得到一个方程

y=ωTx+ϵ

注意,这里忽略偏置,或者可以认为偏置是在ωTx里面。

ϵ 可以认为是,我们拟合的值和真实值之间的误差。
我们将 ϵ 看成是一个随机变量,其服从高斯分布,即 p(ϵ)=N(0,δ2) ,即:

p(ϵi)=12πδexp((ϵi)22δ2)

则对于每一个数据点 (xi,yi) ,我们用xi得到yi的概率为:

p(yi|xi;ω)=12πδexp((yiωTxi)22δ2)

注意,这里的yi是真实值。

如果我们想要让这个概率最大,就得到了最大似然:

L(ω)=i=1mp(yi|xi;ω)=i=1m12πδexp((yiωTxi)22δ2)(1)

取对数:

logL(ω)=logi=1m12πδexp((yiωTxi)22δ2)=i=1mlog12πδexp((yiωTxi)22δ2)=mlog12πδ12δ2i=1m(yiωTxi)2(2)

由上式可以看出,最大化对数似然,也就是最小化均方误差。即:

ω=argminωi=1m(yiωTxi)2

这样, 就从最大似然的角度解释了均方误差。

但是,如果x的维度过高, ω 对应的分量又不接近0的话,也就是说,我们的模型将所有维度的特征都考虑了,这就可能导致过拟合的问题。
所以说,要环节过拟合,一方面我们可以进行特征选择,另一方面,我们可以让 ω 的某些分量变小。


ω引入先验分布

ω引入高斯先验分布

如果我们对 ω 引入高斯先验分布,也就是说,让 ω 的分量在靠近0的区域出现的概率大:

p(ωj)=12παexp((ωj)22α2)

这样,(1)式就变为:

L(ω)=p(ω)i=1mp(yi|xi;ω)=j=1n12παexp((ωj)22α2)i=1m12πδexp((yiωTxi)22δ2)=(12πα)nexpnj=1(ωj)22α2i=1m12πδexp((yiωTxi)22δ2)=(12πα)nexp(ωTω2α2)i=1m12πδexp((yiωTxi)22δ2)(3)

取对数:

logL(ω)=log(12πα)nexp(ωTω2α2)i=1m12πδexp((yiωTxi)22δ2)=mlog12πδ+nlog12πα12δ2i=1m(yiωTxi)2ωTω2α2(4)

n是数据的维度。

最大化对数似然函数,就等价于:

ω=argminωi=1m(yiωTxi)2+λ||ωTω||2

也就是说,为参数 ω 引入高斯先验分布的最大似然,相当于给均方误差函数加上L2正则项

ω引入拉普拉斯先验分布

如果我们对 ω 引入拉普拉斯先验分布:

p(ωj)=12bexp(|ωj|b)

类似上面的推导,我们可以得到:

ω=argminωi=1m(yiωTxi)2+λ|ω|1

也就是说,为参数 ω 引入拉普拉斯先验分布的最大似然,相当于给均方误差函数加上L1正则项

总结

之所以推导这些,是向给解释正则化找个理由。有了贝叶斯的这种方式,我们可以说,引入先验分布是降低了模型的复杂度,或者说是拉普拉斯分布进行了一定的特征选择,而高斯分布式对不重要的特征进行了抑制。另外,还可以说是,在 ω 的空间搜索时,先验分布缩小了解空间,这样对求解速度也有好处。

原创粉丝点击