L1和L2正则化项

首先我们来看一下什么是正则化

正则化的作用就是缓解模型的过拟合。它通常会添加在损失函数的后面,然后通过缩小模型参数来减小模型的复杂度,从而达到提高模型泛化性的效果。因为如果模型的参数很大的话,feature值的一个小小的变化会对模型的结果产生很大的影响,这样就不利于模型的泛化。其实正则化就相当于一个惩罚项。在正则化项前面还会乘上一个正则化系数用来决定惩罚的力度。L1正则化和L2正则化就是正则化的两种具体实现方式。

接着我们来看一下什么是L1正则化和L2正则化

  • L1正则化(L1范数):权值向量W中各个元素的绝对值之和,表示为||w||_1
  • L2正则化(L2范数):权值向量W中各个元素的平方和再开平方根,表示为||w||_2

但是在实际运用中,为了方便计算我们没有对L2正则化开平方,因为在算梯度的时候这样方便求导,同时出来的结果更加方便计算。

假设现在权值向量W=[w_1,w_2],下图左边为L1正则化在w_1,w_2两个维度下的形状,右边为L2正则化在w_1,w_2两个维度下的形状,

                                   

L1正则化往往突出的地方取得最小值,这就会使一部分权值为0,这样就会有些特征不会对模型产生影响也就是稀疏模型。这也是L1正则化可以用来做特征选择的原因。实际上L1也是一种妥协的做法,要获得真正sparse模型,要用L0正则化。但是要注意的是,L1没有选到的特征不代表不重要,原因是两个具有高相关性的特征只能保留一个,如果要确定那个特征重要应在通过L2正则化方法交叉验证。因为L1正则化是绝对值之和,目标函数加入L1后,在原点不可导,需要做特殊处理。

L2正则化会缩小权值的大小,但是不会像L1一样将权值变为0,L1会比L2将参数收缩的更小. 所以它没有变量选择的功能。相比于L1正则化,因为L2正则化存在解析解,所以计算更加方便和高效。但同时它也对outlier更敏感。

 

对于更详细的解释大家可以参考下面的链接

https://blog.csdn.net/jinping_shi/article/details/52433975

https://www.cnblogs.com/stevenlk/p/6247992.html

https://www.cnblogs.com/jclian91/p/9824310.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值