L1正则L2正则的一些总结

本文总结了正则化在防止过拟合中的作用,详细介绍了L1和L2正则化的概念。L1正则化通过L1范数促使模型参数稀疏,适合特征选择;而L2正则化利用L2范数确保模型参数平滑,防止模型过于复杂。通过对损失函数的优化分析,揭示了L1正则化更倾向于产生稀疏解的原因。
摘要由CSDN通过智能技术生成

参考博客:

a、https://www.cnblogs.com/lliuye/p/9354972.html

b、https://vimsky.com/article/969.html

c、https://blog.csdn.net/b876144622/article/details/81276818

总结:

1. 为什么要使用正则化

对于博客a的复述:  

我们先回顾一下房价预测的例子。以下是使用多项式回归来拟合房价预测的数据:


 

  可以看出,左图拟合较为合适,而右图过拟合。如果想要解决右图中的过拟合问题,需要能够使得  的参数 尽量满足  。

但是如何使得呢?博客a中解释的是添加正则项,并通过调大正则项稀疏λ,是由于调大了λ,从而使正则项中的某些θ趋于0,我觉得没有说到本质。

我的理解:

要使得参数,其实就是要使得θ的取值在一个范围之内,而不是-∞到+∞,如果不对θ的取值范围做限制,那么可能θ3、θ4的取值会很大,因为这两个参数分量的值大了,才能对原始数据更好的拟合,相应的,当拟合曲线对原始数据拟合的很好的时候,相应的θ3、θ4的值肯定会很大。

此时,人们便想到了对θ的取值范围做一个约束,一般讲参数记为符号w,也就是控制w的取值范围,而控制w的取值范围的方式可以想到的就是圆、球、平面、立方体等等,举例:

w1和w2的取值控制在正方形区域内:

w1和w2的取值控制在圆形区域内:

用方程来标识的话分别为:w1^2+w2^2<=F和|w1|+|w2|<=F

用线性回归的代价函数来举例(经验误差):

,这是未加正则项的。

添加正则项之后(结构误差):

,这是添加了正则项的。

正则项怎么与经验误差融合起来构建出结构误差呢?

答案是带有约束条件的优化问题:

优化目标是:最小,约束条件是:w1^2+w2^2-F<=0(L2正则)或|w1|+|w2|-F<=0(L1正则),使用拉格朗日函数将优化目标和约束条件联系起来,约束条件的参数就是惩罚项的系数λ,至于F,不会对优化的结果有影响,所以可以忽略。

2. L1正则化与L2正则化

由1得到的正则项的来源,可以通过图、数学推倒两种方式观察L1正则和L2正则的特点。

图的方式的阐述:

2.1图的方式:

对于L1正则,还是老图:

其中椭圆的形状是结构风险函数的等势线,假定中间紫色的椭圆是最小值时w1和w2的取值。先看外层的红色的等势线:

,最内侧的矩形与红色的等势线相切,有一个交点,那么该点就是:|w1|+|w2|=F,且在w1、w2也有取值(假如为P),那么结构风险的值就是F+P(假定λ=1)。假如我们把内侧的矩形扩张(即扩大F),那么矩形就变成了中间的矩形,它与红色等势线也有交点,注意在此时是新的w1和w2,F值是增大的,而的值却不变依然是P,因此F+P的总体是增大的,通过观察矩形与等势线相交的图形,想象矩形与某条等势线由相交变为相切的过程(其实就是矩形缩小的过程),也会发现相切的点趋向于某个坐标轴(示图中是w2的坐标轴),也就是趋向于使某个参数的取值(比如说w2)变大,而某个参数的取值(比如说w1)变小且趋向于0(一个意思)。这里面就隐含了L1的特性:特征选择、特征稀疏。

对于L2正则,依然老图:

,可以看到黑色圆与等势线的相切点很难坐落于某一个坐标轴上,并且基本上参数的取值都比较接近,这也是L2正则比较平滑的特性。

数学公式方式的阐述:

参考博客:https://vimsky.com/article/969.html

对于L1、L2正则:

对于L1正则,可以看式子①、②、③,它们是参数的更新过程,可以看到参数θ在更新的时候,每次都会减少或者增加λ,因为λ是不变的,所以很快参数就变为了0.

而对于L2正则,可以看到式子④、⑤、⑥,它们也是参数的更新过程,可以看到参数θ在更新的时候,每次都会减少或者增加λθ,由于θ是在变化的,而λ的绝对值是小于1的,所以θ会平滑的接近到0,但是不会等于0,这就是L2正则的平滑作用。

另外可以参考博客:

https://blog.csdn.net/b876144622/article/details/81276818

3、L1为什么比L2更加稀疏?

参考博客:

https://blog.csdn.net/b876144622/article/details/81276818

假设只有一个参数为ww,损失函数为L(w)L(w),分别加上L1正则项和L2正则项后有:

有了优化目标函数之后,对其进行优化,则参数w肯定在变化,在w的每个取值之处都有对应的损失函数值,但我们要找的是损失函数的最小值(也就是极值)。任何w的取值都有可能使损失函数成为极小值。

L2正则下,代价函数的优化:

L1正则下,代价函数的优化:

我们知道,函数取得极值的情况就是在变量取值的某一点,左右导数异号,回看一下我自己拍的图片中:公式②和公式⑤,脑补一下w的变化(由大到小,或者由小到大)。

当w在某一时刻成为0的时候,L2正则下,w的导数为:

L1正则下,w的导数为:

对比这两个正则下的结果,发现L1正则下,在w=0处,导数有个剧烈的变化,那么导数的符号很可能会异号,那么w=0这一点就很有可能是极值点,而我们优化目标函数的方向就是求极值点,那么在求得极值的时候,L1正则下参数处于0的概率比L2正则下参数处于0的概率要大,那就是L1的结果比L2的结果更容易稀疏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值