lasso回归_正则化是什么?以及Ridge和 Lasso回归的区别

7db84061dd8a737df62c1125b4bf903d.png

之前在其他文章上看到Ridge和Lasso回归分别代表L1和L2的正则化,L1会把系数压缩到0,而L2则不会,同时L1还有挑选特征的作用,网上写的总结知识文章写的特别好,但没有一直没有形象化的认识,今天就用代码例子来看看区别,顺便梳理一下正则化的知识。

首先我们要明确正则化的作用:防止过拟合!预防过拟合!

那么正则化是怎么样是的模型不倾向于过拟合呢?

通过缩减系数项使得模型对于自变量的敏感程度降低,进一步降低模型的整体方差.(Variance)

我们可以画一个图来帮助理解:

3f41995dea89b93d78b7fd0f235c45fc.png

对于上图的黄线,每增加一单位的X,Y就会响应的增加2倍

而对于绿线和蓝线来说,每增加以单位的X,Y的增加量被压缩了,这就是正则项在做的事:让预测值对于单一自变量X的敏感程度降低,具体降低的程度取决于我们的正则化力度,方式

说完总体概念,我们通过一个例子来理解一下Ridge回归的作用

首先我们假设有如下样本响应分布:

ddc3fe2a6d1a3205b7d189537e773463.png

在没有正则化,仅仅依靠最小化均方误差,我们可以得到下图中的拟合曲线:

a6589d2450aa60e0daa934eaa419927d.png

看上去很美好对不对?接下来我们考虑一个特殊情况,如果我们的训练集就只有2个训练点呢?如果只有两个训练点,我们依靠最小均方误差,得到的将会是如下这个曲线:

ebd002375e5579650414f7034e490743.png

不用想也知道,模型过拟合了,虽然他完美的拟合了给定了2个训练集数据,但是对于总体样本来说,拟合效果是非常差的

接下来我们引入岭回归(Ridge Regression),这样模型的目标函数除了经验风险最小化,额外引入了结构风险最小化的部分,也就是额外引入了下式引号的右半部分

下图中,红色的点是我们的训练集,绿点是其他样本分布,蓝线是原始你和曲线,可以清晰的看到,引入了正则项后,模型的效果好了很多,除了截距基本和原始曲线拟合效果差不多了

26929ca2d430f8a624b4848584f0f5ae.png
此处重新再写一遍加深印象: 正则化的目的在于让预测值对于单一自变量X的敏感程度降低,具体降低的程度取决于我们的正则化力度,方式

那么我们见识到了正则化的力度,接下来我们看看不同的正则化力度,对于模型的拟合曲线会有什么样的影响:

我们观察下图可以看到:

以1作为步长,在惩罚力度等差增大时,惩罚力度是在逐渐减小的, 也就是说随着惩罚力度的增加,惩罚的效果会逐步减小(但注意拟合函数没有真的变成0

c8469d45277d94c7bf14cc3c7dad325e.png

接下来我们再看看LASSO回归,还是用上面那个2个红点作为训练集,我们来看看LASSO和Ridge在同样惩罚力度下的效果,LASSO的公式是:

可以看到和Ridge一样,LASSO的也进一步降低了模型自变量对于2个训练集标签的敏感性。

8aa8c92711f5f49f0da4dab1de3a732c.png

再来画一下LASSO惩罚力度逐步增大对于拟合曲线的改变:

可以看到LASSO非常社会,第二个步长就把系数压缩到了0.

18e88593d15e2f884529aa47dd2deceb.png

这里我贴一个我觉得这种变化解释的非常好的答案:

l1正则与l2正则的特点是什么,各有什么优势?​www.zhihu.com
facc0c152e42ef9364a769cd18efcb4d.png

答主是通过2种类型的正则化的导出角度解释区别的:

Lasso回归正则化,在梯度下降时求得的梯度始只有1和-1两种值,所以每次更新步长它都在稳步向前前进

Ridge回归的正则化的梯度会随着临近最低点而减小,在接近最小值的时候其梯度也会变小,所以不会真的变成0.

cba271190a4a8f8f870e34993e7a041c.png

最后还有一个关于Lasso回归等式的稀疏性,和可以用来挑选特征2个特性,我目前的知识储备感觉这两个是一回事:使回归式中与相应变量无关系的的变量系数为0。

我在下面画了个例子,自带2个特征,20个噪声特征,选一个比较大的惩罚系数:

from 

e1a310e713497d9b1935a2c9abb5dc99.png

接下来拟合曲线:

lasso 

我们把2个式子的系数打出来看看:可以看到l1把噪声特征都压缩成了0,而l2啧对于噪声特征赋予了一个非常低的权重。对此我其实有一个小疑问:实务中都开始做模型了难道不提前调好变量吗哈哈

af6c3057bf80522fb09571fcb7052842.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值