L1、L2的作用

L范式都是为了防止模型过拟合,所谓范式就是加入参数的约束。
L1的作用是为了矩阵稀疏化。假设的是模型的参数取值满足拉普拉斯分布。
L2的作用是为了使模型更平滑,得到更好的泛化能力。假设的是参数是满足高斯分布。
借用公众号python与算法社区的内容2019/6/21:
1、过拟合的解决方式有哪些,l1和l2正则化都有哪些不同,各自有什么优缺点(爱奇艺)
2、L1和L2正则化来避免过拟合是大家都知道的事情,而且我们都知道L1正则化可以得到稀疏解,L2正则化可以得到平滑解,这是为什么呢?
3、L1和L2有什么区别,从数学角度解释L2为什么能提升模型的泛化能力。(美团)
4、L1和L2的区别,以及各自的使用场景(头条)

接下来,咱们就针对上面的几个问题,进行针对性回答!

1、什么是L1正则&L2正则?
L1正则即将参数的绝对值之和加入到损失函数中,以二元线性回归为例,损失函数变为:
在这里插入图片描述
L2正则即将参数的平方之和加入到损失函数中,以二元线性回归为例,损失函数变为:
在这里插入图片描述
2、L1正则&L2正则的区别是什么?
二者的区别的话,咱们总结主要有以下两点,最主要的还是第二点:

1、L1正则化是指在损失函数中加入权值向量w的绝对值之和,即各个元素的绝对值之和,L2正则化指在损失函数中加入权值向量w的平方和。

2、L1的功能是使权重稀疏,而L2的功能是使权重平滑。

3、L1正则为什么可以得到稀疏解?
这一道题是面试中最容易考到的,大家一定要理解掌握!这一部分的回答,在《百面机器学习》中给出了三种答案:

3.1 解空间形状
这是我们最常使用的一种答案,就是给面试官画如下的图:
在这里插入图片描述
L2正则化相当于为参数定义了一个圆形的解空间,而L1正则化相当于为参数定义了一个菱形的解空间。L1“棱角分明”的解空间显然更容易与目标函数等高线在脚点碰撞。从而产生稀疏解。

3.2 函数叠加
我们考虑一维的情况,横轴是参数的值,纵轴是损失函数,加入正则项之后,损失函数曲线图变化如下:
在这里插入图片描述
可以看到,在加入L1正则项后,最小值在红点处,对应的w是0。而加入L2正则项后,最小值在黄点处,对应的w并不为0。

为什么呢?加入L1正则项后,目标函数变为L(w)+C|w|,单就正则项部分求导,原点左边的值为-C,原点右边的值为C,因此,只要原目标函数的导数绝对值|L’(w)|<C,那么带L1正则项的目标函数在原点左边部分始终递减,在原点右边部分始终递增,最小值点自然会出现在原点处。

加入L2正则项后,目标函数变为L(w)+Cw2,只要原目标函数在原点处的导数不为0,那么带L2正则项的目标函数在原点处的导数就不为0,那么最小值就不会在原点。因此L2正则只有见效w绝对值的作用,但并不能产生稀疏解。

3.3 贝叶斯先验
从贝叶斯角度来看,L1正则化相当于对模型参数w引入了拉普拉斯先验,L2正则化相当于引入了高斯先验(为什么我们在后面详细解释)。我们来看一下高斯分布和拉普拉斯分布的形状:

可以看到,当均值为0时,高斯分布在极值点处是平滑的,也就是高斯先验分布认为w在极值点附近取不同值的可能性是接近的。但对拉普拉斯分布来说,其极值点处是一个尖峰,所以拉普拉斯先验分布中参数w取值为0的可能性要更高。

4、从数学角度解释L2为什么能提升模型的泛化能力
这里主要给出两篇博客作为参考:

https://www.zhihu.com/question/35508851
https://blog.csdn.net/zouxy09/article/details/24971995

5、为什么说“L1正则化相当于对模型参数w引入了拉普拉斯先验,L2正则化相当于引入了高斯先验”?

这一部分咱们小小推导一下,嘻嘻,如果一看数学就头大的同学,可以跳过此处。

在贝叶斯估计中,我们要求解的是参数θ的后验概率最大化:

在最后一项的分子中P(Xi|θ)和分母都是一个常数,因此,上式可以继续化简:

所以贝叶斯学派估计是使下面的式子最小化:

关于第一项,假设我们做的是一元线性回归,那么求解过程如下:

第二项,咱们就得分类讨论了,如果θ服从的是0均值的高斯分布,为了和上面的方差所区分,这里咱们用alpha来表示,那么有:

所以,最终可以得到:

我们把与θ无关的情况去掉,便得到:

你可能觉得,alpha不是θ的方差么,请注意,这里是先验分布,我们可以任意指定alpha的值,所以去掉也是可以的。

同理,我们可以得到当先验是拉普拉斯分布时的情况。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值