Regularized Regression: A Bayesian point of view

过拟合

谈正则化之前,我们先来看一看过拟合问题。

此处输入图片的描述

以一维的回归分析为例,如上图,如果用高阶多项式去拟合数据的话,可以使得训练误差EinEin很小,但是在测试集上的误差就可能很大。

造成这种现象的原因就是因为我们使用的模型过于复杂,根据VC维理论:VC维很高的时候,就容易发生EinEin(Bias)很低,但EoutEout(Variance)1很高的情形.

此处输入图片的描述


贝叶斯角度谈正则化

解决 overfitting 最常用的办法就是 regularization,我们常用的有:L1L1正则,L2L2正则等。

通常我们知道L1L1正则会使得参数稀疏化,L2L2正则可以起到平滑的作用,关于这方面的讲解已经很多2。今天我们主要从贝叶斯理论的角度来审视下正则化。

此处输入图片的描述

我们先抛给大家一个结论:从贝叶斯的角度来看,正则化等价于对模型参数引入 先验分布 。


Linear Regression

我们先看下最原始的Linear Regression3:

此处输入图片的描述

p(ϵ(i))=12πδexp((ϵ(i))22δ2)p(y(i)|x(i);θ)=12πδexp((y(i)wTx(i))22δ2)p(ϵ(i))=12πδexp(−(ϵ(i))22δ2)⇒p(y(i)|x(i);θ)=12πδexp(−(y(i)−wTx(i))22δ2)

由最大似然估计(MLE):

L(w)=p(y⃗ |X;w)=i=1mp(y(i)|x(i);θ)=i=1m12πδexp((y(i)wTx(i))22δ2)L(w)=p(y→|X;w)=∏i=1mp(y(i)|x(i);θ)=∏i=1m12πδexp(−(y(i)−wTx(i))22δ2)

取对数:

l(w)=logL(w)=logi=1m12πδexp((y(i)wTx(i))2δ2)=i=1mlog12πδexp((y(i)wTx(i))22δ2)=mlog12πδ1δ212i=1m(y(i)wTx(i))2l(w)=log⁡L(w)=log⁡∏i=1m12πδexp(−(y(i)−wTx(i))2δ2)=∑i=1mlog⁡12πδexp(−(y(i)−wTx(i))22δ2)=mlog⁡12πδ−1δ2⋅12∑i=1m(y(i)−wTx(i))2

即:

wMLE=argminwi=1m(y(i)wTx(i))2(1)(1)wMLE=arg⁡minw∑i=1m(y(i)−wTx(i))2

这就导出了我们原始的least-squares损失函数,但这是在我们对参数 ww 没有加入任何先验分布的情况下。在数据维度很高的情况下,我们的模型参数很多,模型复杂度高,容易发生过拟合。

比如我们常说的 “small n, large p problem”。(我们一般用 nn 表示数据点的个数,用 pp 表示变量的个数 ,即数据维度。当 pnp≫n 的时候,不做任何其他假设或者限制的话,学习问题基本上是没法进行的。因为如果用上所有变量的话, pp 越大,通常会导致模型越复杂,但是反过来 nn 又很小,于是就会出现很严重的 overfitting 问题4

此处输入图片的描述

这个时候,我们可以对参数 ww 引入先验分布,降低模型复杂度。


Ridge Regression

我们对参数 ww 引入协方差为 αα 的零均值高斯先验

此处输入图片的描述

由于引入了先验分布,我们用最大后验估计(MAP)5

L(w)=p(y⃗ |X;w)p(w)=i=1mp(y(i)|x(i);θ)p(w)=i=1m12πδexp((y(i)wTx(i))22δ2)j=1n12παexp((w(j))22α)=i=1m12πδexp((y(i)wTx(i))22δ2)12παexp(wTw2α)L(w)=p(y→|X;w)p(w)=∏i=1mp(y(i)|x(i);θ)p(w)=∏i=1m12πδexp(−(y(i)−wTx(i))22δ2)∏j=1n12παexp(−(w(j))22α)=∏i=1m12πδexp(−(y(i)−wTx(i))22δ2)12παexp(−wTw2α)

取对数:

l(w)=logL(w)=mlog12πδ+nlog12πα1δ212i=1m(y(i)wTx(i))21α12wTwwMAPGuassian=argminw(1δ212i=1m(y(i)wTx(i))2+1α12wTw)(2)l(w)=log⁡L(w)=mlog⁡12πδ+nlog⁡12πα−1δ2⋅12∑i=1m(y(i)−wTx(i))2−1α⋅12wTw(2)⇒wMAPGuassian=arg⁡minw(1δ2⋅12∑i=1m(y(i)−wTx(i))2+1α⋅12wTw)

等价于:

JR(w)=1nywTX2+λw2JR(w)=1n‖y−wTX‖2+λ‖w‖2

这不就是 Ridge Regression 吗?

此处输入图片的描述

看我们得到的参数,在零附近是不是很密集,老实说 ridge regression 并不具有产生稀疏解的能力,也就是说参数并不会真出现很多零。假设我们的预测结果与两个特征相关,L2L2正则倾向于综合两者的影响,给影响大的特征赋予高的权重;而L1L1正则倾向于选择影响较大的参数,而舍弃掉影响较小的那个。实际应用中 L2L2 正则表现往往会优于 L1L1正则,但 L1L1 正则会大大降低我们的计算量。

Typically ridge or ℓ2 penalties are much better for minimizing prediction error rather than ℓ1 penalties. The reason for this is that when two predictors are highly correlated, ℓ1 regularizer will simply pick one of the two predictors. In contrast, the ℓ2 regularizer will keep both of them and jointly shrink the corresponding coefficients a little bit. Thus, while the ℓ1 penalty can certainly reduce overfitting, you may also experience a loss in predictive power. 2

那现在我们知道了,对参数引入 高斯先验 等价于 L2L2 正则化。


LASSO

上面我们对 ww 引入了高斯分布,那么拉普拉斯分布(Laplace distribution)呢?

注:LASSO - least absolute shrinkage and selection operator.

此处输入图片的描述

我们看下拉普拉斯分布长啥样:

f(xμ,b)=12bexp(|xμ|b)f(x∣μ,b)=12bexp⁡(−|x−μ|b)

此处输入图片的描述

关于拉普拉斯和正态分布的渊源,大家可以参见 “正态分布的前世今生”.

重复之前的推导过程我们很容易得到:

wMAPLaplace=argminw(1δ212i=1m(y(i)wTx(i))2+1b212w1)(3)(3)wMAPLaplace=arg⁡minw(1δ2⋅12∑i=1m(y(i)−wTx(i))2+1b2⋅12‖w‖1)

该问题通常被称为 LASSO (least absolute shrinkage and selection operator) 。LASSO 仍然是一个 convex optimization 问题,不具有解析解。它的优良性质是能产生稀疏性,导致 ww 中许多项变成零。

再次总结下,对参数引入 拉普拉斯先验 等价于 L1L1 正则化。


Elastic Net

可能有同学会想,既然 L1L1 和 L2L2正则各自都有自己的优势,那我们能不能将他们 combine 起来?

可以,事实上,大牛早就这么玩过了,参见大牛 PPT

此处输入图片的描述

因为lasso在解决之前提到的“small n, large p problem”存在一定缺陷。

此处输入图片的描述

这个我们就直接给结果了,不推导了哈。(好麻烦的样子。。。逃)

β^=argminβyXβ2+λ2β2+λ1β1(4)(4)β^=arg⁡minβ‖y−Xβ‖2+λ2‖β‖2+λ1‖β‖1

此处输入图片的描述

此处输入图片的描述


总结

正则化参数等价于对参数引入 先验分布,使得 模型复杂度 变小(缩小解空间),对于噪声以及outliers的鲁棒性增强(泛化能力)。整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中 正则化项 对应后验估计中的 先验信息 ,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式。

ps: 本文写作过程中参考了知乎和网上的很多文章,同时也加入了自己的一些理解,热烈欢迎广大机器学习爱好者一起讨论问题,互通有无!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值