L1、L2正则化以及smooth L1 loss
一、L1、L2正则化
当样本特征很多,而样本数相对较少时,学习过程很容易陷入过拟合。为了缓解过拟合问题,可以对损失函数加入正则化项。正则化项中的Lp范数有很多,常见的有L1范数和L2范数。
给定数据集D = {(x1,y1),(x2,y2),...,(xm,ym)},其中x有d维特征,y∈R。我们考虑最简单的线性回归模型,以平方误差为损失函数,那么优化目标为:
①令p=1,即采用L1范数:
其中正则化参数λ>0。上式被称为LASSO(Least Absolute Shrinkage and Seclction Operatro)。直译为“最小绝对收缩选择算子”,常称为LASSO。
②令p=2,即采用L2范数:
其中正则化参数λ>0。上式被称为岭回归(ridge regression)。
L1范数和L2范数正则化都有助于降低过拟合风险。相比之下,L1范数在x>0的时候变化率始终为1,在x<0的时候变化率始终为-1。在训练的后期,由于导数为常数1,如果学习率σ不变,损失函数会在一个稳定值附近波动,难以稳定,甚至还会出现在极值点附近“弹跳”的情况。L2范数的导数值为2x,与输入值有关。在开始阶段导数非常大,导致训练初期不稳定。
值得一提的是,L1范数还会带来一个额外的好处:它比后者更易于获得“稀疏”(sparse)解,即它求得的w会有更少的非零向量。(事实上,对w施加“稀疏约束”,也就是说希望w的非零分量尽可能少,最自然的是使用L0范数,但是L0范数不连续,难以优化求解,因此常用L1范数来近似。)
为了理解这一点,下面给出了一个例子:假定x仅有两个属性,于是无论是L1正则还是L2正则解出的w都只有两个分量,即w1和w2,我们将其作为两个坐标轴,然后在图中绘制出L1正则和L2正则的第一项的“等值线”,即在(w1,w2)空间中平方误差项取值相同的点的连线,再分别绘制出L1范数和L2范数的等值线,即在(w1,w2)空间中L1范数取值相同的点的连线,以及L2范数取值相同的点的连线,如下图所示:
由图可以看出:采用L1范数时平方误差项等值线与正则化项等值线的交点常出现在坐标轴上,即w1或w2为0,而在采用L2范数时,两者的交点常出现在某个象限中,即w1或w2均非零。换言之,采用L1范数比L2范数更易于得到稀疏解。
二、smooth L1 loss
为了克服L1和L2的不足,于是有了smooth L1 。以下是smooth L1的定义:
当|x|<1的时候,x在区间[-1, 1]之间的梯度也会变得比较小,且当x=0时,函数变得可导。
当|x|>1的时候,不再像L2一样对噪声敏感,其稳定值±1也不至于破坏网络参数。
x = -10:0.01:10;
y1 = x.*x;
y2 = abs(x);
y3 = 0.5*x.^2.*(x<1&x>-1)+(x-0.5).*(x>=1)+(-x-0.5).*(x<=-1) ;
plot(x,y1,'r');
hold on;
plot(x,y2,'b');
hold on;
plot(x,y3)
hold on
L1、L2正则化以及smooth L1 loss相关推荐
- 手推公式带你轻松理解L1/L2正则化
文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...
- L1,L2正则化分析
1. 优化角度分析 1).L2正则化的优化角度分析 在限定的区域,找到使 最小的值. 图形表示为: 上图所示,红色实线是正则项区域的边界,蓝色实线是 的等高线,越靠里的等高圆, 越小,梯度的反方向是 ...
- L1 L2正则化和优化器的weight_decay参数
L1正则和L2正则的效果有什么差异?为什么? 角度一:解空间形状 通常认为L1 正则化可以产生稀疏权值矩阵,即产生一个参数稀疏的模型. 而L2 正则化可以让模型的参数取绝对值较小的数. 考虑两种正则化 ...
- L0,L1,L2正则化浅析
在机器学习的概念中,我们经常听到L0,L1,L2正则化,本文对这几种正则化做简单总结. 1.概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数 ...
- L1 L2 正则化区别
文章一 文章二 机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit).即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力.为了避免过拟合,最常用的 ...
- L1,L2正则化理解-奥卡姆剃刀(Occam's razor)原理
L0.L1与L2范数转自:zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的 ...
- 【AI面试】hard label与soft label,Label Smoothing Loss 和 Smooth L1 Loss
往期文章: AI/CV面试,直达目录汇总 [AI面试]NMS 与 Soft NMS 的辨析 [AI面试]L1 loss.L2 loss和Smooth L1 Loss,L1正则化和L2正则化 在一次询问 ...
- L1正则化 L2正则化的Python 实现
上一篇文档 https://blog.csdn.net/xingzhe2001/article/details/86316712 介绍了L1 L2正则化 本文介绍L1, L2 正则化的实现 L1正则化 ...
- 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化
损失函数是深度学习模型优化的一个灵魂基础,所以无论是很新的transform模型,还是比较早期的AlexNet,都不可避免的要涉及到损失函数的设计和应用. 所以,各种形形色色的损失函数(Loss)也就 ...
最新文章
- Handler消息机制(十):HandlerThread源码解析
- 20145202、20145225、20145234 《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验...
- flag -- 诡异的memcache标记
- 5G时代探索互动立体视频信息承载的新可能
- jquery中post,get,ajax请求相关
- c51单片机led奇数偶数亮_两STM32单片机串口通讯实验
- 有一种爱情叫永不改变_设计就像爱情一样,总是在寻找一种方式
- chipsel语言_用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项
- Bootstrap Table列宽拖动的方法
- Java数据解析之XML(原创)
- mysql8.0.12不能用_使用最新版本MySQL8.0.12报错记录
- android适配性报告,关于Android的多种屏幕适配
- 【译】使用 CocoaPods 模块化iOS应用
- iOS 无证书真机调试
- c语言json数组转字符串数组,JS中json字符串和数组相互转换
- Chrome谷歌浏览器无需插件设置夜间模式,黑色主题
- 嵌入式linux根文件系统制作--busybox
- 9.Pandas练习:美国个州的统计数据
- IDEA绝对好用的十大插件,不接受反驳
- ps磨皮插件专用智能磨皮插件 AI算法美颜 提高P图效率
热门文章
- App/QoE-Based Congestion control
- Cocos2d-x 2.0 网格动画深入分析
- 如何重置计算机服务到默认状态,电脑慢到让人抓狂?教你如何将Windows10还原到出厂设置...
- 四两拨千斤!深度主动学习综述2020
- Memory Analyzer Tool 1 Shallow heap Retained heap dominator tree(控制树)
- 单线激光雷达(Lidar)学习三:使用雷达数据/scan转/PointCloud后生成鸟瞰图
- 京东商品关联版式,如何设置手机和电脑都显示?
- Linux常用浏览器
- 快捷键----------快人快语
- 利用JS来设计夜场的倒计时以及进入页面