在机器学习实践中,你也许需要在神秘的L1和L2中做出选择。通常的两个决策为:1) L1范数 vs L2范数 的损失函数; 2) L1正则化 vs L2正则化。

作为损失函数

  L1范数损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE)。总的说来,它是把目标值(YiYi)与估计值(f(xi)f(xi))的绝对差值的总和(SS)最小化:

S=∑i=1n|Yi−f(xi)|.S=∑i=1n|Yi−f(xi)|.

  L2范数损失函数,也被称为最小平方误差(LSE)。总的来说,它是把目标值(YiYi)与估计值(f(xi)f(xi))的差值的平方和(SS)最小化:

S=∑i=1n(Yi−f(xi))2.S=∑i=1n(Yi−f(xi))2.

  L1范数与L2范数作为损失函数的区别能快速地总结如下:

L2损失函数 L1损失函数
不是非常的鲁棒(robust) 鲁棒
稳定解 不稳定解
总是一个解 可能多个解

  鲁棒性(robustness),根据维基百科,被解释为:

因为与最小平方相比,最小绝对值偏差方法的鲁棒性更好,因此,它在许多场合都有应用。最小绝对值偏差之所以是鲁棒的,是因为它能处理数据中的异常值。这或许在那些异常值可能被安全地和有效地忽略的研究中很有用。如果需要考虑任一或全部的异常值,那么最小绝对值偏差是更好的选择。

从直观上说,因为L2范数将误差平方化(如果误差大于1,则误差会放大很多),模型的误差会比L1范数来得大( e vs e^2 ),因此模型会对这个样本更加敏感,这就需要调整模型来最小化误差。如果这个样本是一个异常值,模型就需要调整以适应单个的异常值,这会牺牲许多其它正常的样本,因为这些正常样本的误差比这单个的异常值的误差小。

  稳定性,根据维基百科,被解释为:

最小绝对值偏差方法的不稳定性意味着,对于数据集的一个小的水平方向的波动,回归线也许会跳跃很大。在一些数据结构(data configurations)上,该方法有许多连续解;但是,对数据集的一个微小移动,就会跳过某个数据结构在一定区域内的许多连续解。(The method has continuous solutions for some data configurations; however, by moving a datum a small amount, one could “jump past” a configuration which has multiple solutions that span a region. )在跳过这个区域内的解后,最小绝对值偏差线可能会比之前的线有更大的倾斜。相反地,最小平方法的解是稳定的,因为对于一个数据点的任何微小波动,回归线总是只会发生轻微移动;也就说,回归参数是数据集的连续函数。

下面的图是用真实数据和真实拟合模型生成的:

这里使用的基本模型为梯度提升回归(GradientBoostingRegressor),使用L1范数和L2范数作为损失函数。绿线和红色分别代表了模型使用L1范数与L2范数作为损失函数时的情形。实线代表了训练的模型中不含有异常值(橙色)的情形,虚线代表了训练的模型中含有异常值(橙色)的情形。
  我缓慢地将这个异常值从左向右移动,使得它在中间时不那么异常,而在左右两边时更加异常。当这个异常值不那么异常时(在中间的情形),在拟合直线的时候,L2范数的变动较小,而L1范数的表动较大。
  当这个异常值更加异常(上左位置,下右位置,它们离左、右两边更加远)时,这两个范数都有大的变动,但是再一次地,L1范数总体上比L2范数变动更大。
  通过数据可视化,我们能够对这两个损失函数的稳定性有更好的认知。

作为正规化

  在机器学习中,正规化是防止过拟合的一种重要技巧。从数学上讲,它会增加一个正则项,防止系数拟合得过好以至于过拟合。L1与L2的区别只在于,L2是权重的平方和,而L1就是权重的和。如下:

最小平方损失函数的L1正则化:

最小平方损失函数的L2正则化:

它们的性质的区别能快速地总结如下:

L2正则化 L1正则化
计算效率高(因为有解析解) 在非稀疏情形下计算效率低
非稀疏输出 稀疏输出
无特征选择 内置特征选择

  解的唯一性是一个更简单的性质,但需要一点想象。首先,看下图:

绿色的线(L2范数)是唯一的最短的路径,而红色、蓝色、黄色线条(L1范数)都是同一路径,长度一样(12)。可以将其扩展至n-维的情形。这就是为什么L2范数有唯一解而L1并不是。
  内置特征选择是L1范数被经常提及的有用的性质,而L2范数并不具备。这是L1范数的自然结果,它趋向于产生稀疏的系数(在后面会解释)。假设模型有100个系数,但是仅仅只有其中的10个是非零的,这实际上是说“其余的90个系数在预测目标值时都是无用的”。L2范数产生非稀疏的系数,因此它不具备这个性质。
  稀疏性指的是一个矩阵(或向量)中只有少数的项是非零的。L1范数具备性质:产生许多0或非常小的系数和少量大的系数。
  计算效率。L1范数没有一个解析解,但是L2范数有。这就允许L2范数在计算上能高效地计算。然而,L1范数的解具备稀疏性,这就允许它可以使用稀疏算法,以使得计算更加高效。

转自:

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

smooth L1

目标检测中, 如果存在异常点, 如预测4个点, 有一个点偏离很大, L2loss会平方误差, 放大误差, L1对误差的鲁棒性更好.

作者:知乎用户
链接:https://www.zhihu.com/question/58200555/answer/621174180
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

为了从两个方面限制梯度:

  1. 当预测框与 ground truth 差别过大时,梯度值不至于过大;
  2. 当预测框与 ground truth 差别很小时,梯度值足够小。

考察如下几种损失函数,其中 为预测框与 groud truth 之间 elementwise 的差异:

损失函数对 的导数分别为:

观察 (4),当 增大时 损失对 的导数也增大。这就导致训练初期,预测值与 groud truth 差异过于大时,损失函数对预测值的梯度十分大,训练不稳定。

根据方程 (5), 的导数为常数。这就导致训练后期,预测值与 ground truth 差异很小时, 损失对预测值的导数的绝对值仍然为 1,而 learning rate 如果不变,损失函数将在稳定值附近波动,难以继续收敛以达到更高精度。

最后观察 (6), 较小时,对 的梯度也会变小,而在 很大时,对 的梯度的绝对值达到上限 1,也不会太大以至于破坏网络参数。 完美地避开了 损失的缺陷。其函数图像如下:

由图中可以看出,它在远离坐标原点处,图像和 loss 很接近,而在坐标原点附近,转折十分平滑,不像 loss 有个尖角,因此叫做 smooth loss。

https://zhuanlan.zhihu.com/p/48426076

https://www.zhihu.com/question/58200555/answer/621174180

L1, L2以及smooth L1 loss相关推荐

  1. 目标检测回归损失函数——L1、L2、smooth L1

    一. L1 Loss 1. 函数特性 L1 Loss也称为平均绝对值误差(MAE),是指模型预测值f(x)和真实值y之间绝对差值的平均值,公式如下: 其中 和 分别表示第 个样本的预测值及相应真实值, ...

  2. 目标检测中的BBox 回归损失函数-L2,smooth L1,IoU,GIoU,DIoU,CIoU,Focal-EIoU,Alpha-IoU,SIoU

    目标检测的两个任务,分类和位置回归,本帖将经典的位置回归损失函数总结如下,按发表时间顺序. L1.L2.smooth L1 loss 提出smooth L1 loss的论文: L1最低点是不可导的,所 ...

  3. L1/L2/smooth_l1_loss/center_loss+Dice Loss+focal loss+各种IOU loss+kl散度

    一.L1/L2/smooth_l1_loss/center_loss公式与代码 1.公式 L2公式: smooth_L1公式: 2.三种函数numpy代码实现 import numpy as np i ...

  4. L1、L2、smooth L1三类损失函数

    一.常见的MSE.MAE损失函数 1.1 均方误差.平方损失 均方误差(MSE)是回归损失函数中最常用的误差,它是预测值与目标值之间差值的平方和,其公式如下所示: 下图是均方根误差值的曲线分布,其中最 ...

  5. 梳理L1、L2与Smooth L1

    关于L1.L2的范数.损失函数和正则化,之前一直混淆这几个概念,故对这几天看过的资料进行了学习总结. 范数(norm)是数学中的一种基本概念.在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即 ...

  6. 手推公式带你轻松理解L1/L2正则化

    文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...

  7. 【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解

    1. L1 Loss(Mean Absolute Error,MAE) 平均绝对误差(MAE)是一种用于回归模型的损失函数.MAE 是目标变量和预测变量之间绝对差值之和,因此它衡量的是一组预测值中的平 ...

  8. 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化

    损失函数是深度学习模型优化的一个灵魂基础,所以无论是很新的transform模型,还是比较早期的AlexNet,都不可避免的要涉及到损失函数的设计和应用. 所以,各种形形色色的损失函数(Loss)也就 ...

  9. L1、L2正则化以及smooth L1 loss

       一.L1.L2正则化 当样本特征很多,而样本数相对较少时,学习过程很容易陷入过拟合.为了缓解过拟合问题,可以对损失函数加入正则化项.正则化项中的Lp范数有很多,常见的有L1范数和L2范数. 给定 ...

  10. 【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正则化 在一次询问 ...

最新文章

  1. 如何快速是DNS修改生效
  2. 北京2019高考分数线:本科理423文480
  3. DAY4(python)打印字符串以及增删改查
  4. 重装系统 计算机意外遇到错误无法运行,win7系统重装笔记本提示"计算机意外的重新启动或遇到错误"的解决方法...
  5. php 播放多个音乐,meting 音乐播放插件多域名跨域解决方法
  6. 动态规划之力扣股票类问题
  7. c语言程序设计实验周信东指针,C语言程序设计实验4数组周信东
  8. vue-drag-resize实线页面的拖拽与缩放
  9. HDU1401 Solitaire
  10. tf2多种方式对图像数据集进行预处理
  11. .fnt 字体不能正常显示
  12. 如何设置U盘为第一启动项,在安装windows操作系统时如何从U盘启动?
  13. 珍藏,最全面+最完善的Excel条件格式使用手册
  14. 拷贝和引用有什么区别php,php引用和拷贝的区别知识点总结
  15. Python Pillow批量转换tif格式到jpg
  16. spring中 allowBeanDefinitionOverriding(spring.main.allow-bean-definition-overriding) 分析
  17. 【try……catch】C++ try…… catch 笔记(C语言中也可以Try-Catch异常处理)
  18. 服务器自带ddos工具,62款经典DDOS工具
  19. 十年游戏老兵,如何开发出一款受索尼青睐的VR游戏?
  20. 美团的边界,滴滴的危局

热门文章

  1. 今日说“法”:FPGA芯片如何选型?
  2. iOS查看每日限免APP+监控APP降价信息教程
  3. 阿里云天池机器学习训练营(Day7, Day8):机器学习算法(三):K近邻(k-nearest neighbors)初探
  4. ElementUI(1):很好的前端开发框架
  5. 产品读书《数据产品经理必修课:从零经验到令人惊艳》别读了!!!
  6. MFC SDL FFmpeg视频播放器开发教程(一)
  7. 华为在线笔试题-python
  8. 转载:F28335 Ecap使用总结
  9. python爬取bilibili数据_用 Python 抓取 bilibili 弹幕并分析!
  10. 运维人故障定责甩锅话语指南