作为损失函数

L1范数损失函数

  L1范数损失函数,也被称之为最小绝对值误差。总的来说,它把目标值$Y_i$与估计值$f(x_i)$的绝对差值的总和最小化。

$$S=\sum_{i=1}^n|Y_i-f(x_i)|$$

L2范数损失函数

  L2范数损失函数,也被称为最小平方误差,总的来说,它把目标值$Y_i$与估计值$f(x_i)$的差值的平方和最小化。

$$S=\sum_{i=1}^n(Y_i-f(x_i))^2$$

L1损失函数 L2损失函数
鲁棒 不是很鲁棒
不稳定性 稳定解
可能多个解 总是一个解

  总结一下:L2范数loss将误差平均化(如果误差大于1,则误差会放大很多),模型的误差会比L1范数来得大,因此模型会对样本更加敏感,这就需要调整模型来最小化误差。如果有个样本是一个异常值,模型就需要调整以适应单个的异常值,这会牺牲许多其他正常的样本,因为这些正常的样本的误差比这单个的异常值的误差小。

作为正则化

  我们经常会看见损失函数后面添加一个额外项,一般为L1-norm,L2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2函数。

  L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。防止模型过拟合而加在损失函数后面的一项。

L1正规化

  L1范数符合拉普拉斯分布,是不完全可微的。表现在图像上会有很多角出现。这些角和目标函数的接触机会远大于其他部分。就会造成最优值出现在坐标轴上,因此就会导致某一维的权重为0 ,产生稀疏权重矩阵,进而防止过拟合。

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

L1正则化是指权值向量$w$中各个元素的绝对值之和

L2正规化

  L2范数符合高斯分布,是完全可微的。和L1相比,图像上的棱角被圆滑了很多。一般最优值不会在坐标轴上出现。在最小化正则项时,可以是参数不断趋向于0,最后活的很小的参数。

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

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

L2正则化是指权值向量$w$中各个元素的平方和然后再求平方根

作用

L1正则化

  • 优点:输出具有稀疏性,即产生一个稀疏模型,进而可以用于特征选择;一定程度上,L1也可以防止过拟合
  • 缺点:但在非稀疏情况下计算效率低

L2正则化

  • 优点:计算效率高(因为存在解析解);可以防止模型过拟合(overfitting)
  • 缺点:非稀疏输出;无特征选择

稀疏模型和特征选择:稀疏性我在这篇文章有详细讲解,如果特征符合稀疏性,说明特征矩阵很多元素为0,只有少数元素是非零的矩阵,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

文献[1]解释了为什么L1正则化可以产生稀疏模型(L1是怎么样系数等于0的),以及为什么L2正则化可以防止过拟合,由于涉及到很多公式,想要详细了解的同学,请移步。

区别

1、L1正则化是模型各个参数的绝对值之和

  L2正则化是模型各个参数的平方和的开方值

2、L1会趋向于产生少量的特征,而其他的特征都是0,产生稀疏权重矩阵。

  L2会选择更多的特征,这些特征都会接近于0

再讨论几个问题

1.为什么参数越小代表模型越简单?

  越是复杂的模型,越是尝试对所有样本进行拟合,包括异常点。这就会造成在较小的区间中产生较大的波动,这个较大的波动也会反映在这个区间的导数比较大。

  只有越大的参数才可能产生较大的导数。因此参数越小,模型就越简单。

2.实现参数的稀疏有什么好处?

  因为参数的稀疏,在一定程度上实现了特征的选择。一般而言,大部分特征对模型是没有贡献的。这些没有用的特征虽然可以减少训练集上的误差,但是对测试集的样本,反而会产生干扰。稀疏参数的引入,可以将那些无用的特征的权重置为0.

3.L1范数和L2范数为什么可以避免过拟合?

  加入正则化项就是在原来目标函数的基础上加入了约束。当目标函数的等高线和L1,L2范数函数第一次相交时,得到最优解。

参考文献

CSDN博客:机器学习中正则化项L1和L2的直观理解

Differences between L1 and L2 as Loss Function and Regularization

L1和L2:损失函数和正则化相关推荐

  1. 机器学习的L1、L2损失函数

    ** 问题一:损失函数是什么? ** 损失函数就一个具体的样本而言,模型预测的值与真实值之间的差距. 哦哦,这句话怎么理解呢,就是我们使用自己的算法模型,然后就是自己的模型产生了一个自己进行判断出来的 ...

  2. L1、L2正则化的原理及适用场景

    1. L1正则化,也称Lasso回归 1.1 含义 权值向量  中各元素的绝对值之和,一般记作   . 1.2  公式表示 添加了L1正则化的损失函数一般可表示为: 1.3 作用 L1正则常被用来解决 ...

  3. 常用损失函数(L1、L2、SSIM和MS-SSIM)对比简介

    https://research.nvidia.com/publication/loss-functions-image-restoration-neural-networks 常用损失函数(L1.L ...

  4. 详解L1和L2正则化

    大纲: L1和L2的区别以及范数相关知识 对参数进行L1和L2正则化的作用与区别 pytorch实现L1与L2正则化 对特征进行L2正则化的作用 L1和L2的区别以及范数   使用机器学习方法解决实际 ...

  5. L1 损失函数和 L2 损失函数

    L1 和 L2 是机器学习中的两个损失函数,用于最小化误差. L1 损失函数代表最小绝对偏差,也称为 LAD L2 损失函数代表最小二乘误差,也称为 LS 文章目录 一.L1 损失函数 二.L2 损失 ...

  6. l2范数求导_理解L1,L2 范数在机器学习中应用

    理解L1,L2 范数 L1,L2 范数即 L1-norm 和 L2-norm,自然,有L1.L2便也有L0.L3等等.因为在机器学习领域,L1 和 L2 范数应用比较多,比如作为正则项在回归中的使用 ...

  7. 理解L1,L2 范数

    链接:https://www.zhihu.com/question/26485586/answer/616029832 理解L1,L2 范数 L1,L2 范数即 L1-norm 和 L2-norm,自 ...

  8. 机器学习入门(浅谈L1和L2正则)

    L1和L2正则 1.正则化的作用 2. L1正则和L2正则 定义: L1正则(特征选择,稀疏矩阵) 推导: L1范数约束 L2正则与过拟合 推导 L2范数约束 总结 1.正则化的作用 在机器学习中,训 ...

  9. L1、L2范数如何解决过拟合问题

    范数一般当做距离来理解.过拟合问题的通俗理解就是泛化能力过强,在最小化误差的同时使模型尽可能的拟合训练数据,学习的特征越多,模型的复杂度越高,测试时的误差也就越大.像决策树的叶子结点越多,这时我们就要 ...

  10. 损失函数中正则化项L1和L2的理解

    正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作L1正则化和L2正则化,或者L ...

最新文章

  1. 世界顶级AI大神综述深度学习
  2. 43 | 发挥人的潜能:探索式测试
  3. javascript弹出div(一)
  4. Python的正则匹配
  5. 指定init启动Linux内核,初看linux内核启动过程
  6. when-to-use-rebuild-vs-coalesce-vs-shrink
  7. php curl 命令行,curl 命令行教程
  8. stl文件的解析和在线3d打印
  9. 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配Sliderview)
  10. java笔试题-六一儿童节
  11. # pyton基础 1
  12. 地图学的基础知识_天文坐标系_大地坐标系_地心坐标系及其相关概念
  13. python气象实时监控系统_Python绘图 | 国家气象局开源预报检验库(多图预警)
  14. BadBoy乱码处理
  15. Latex中怎么去掉proof后的小方框
  16. DSG SuperSync大型数据库高性能复制平台产品介绍
  17. Drupal - 制作首页
  18. MQ100门座起重机 双螺旋输送机总装图 减速机图纸 自动圆式焊机总装图 VF6-7空气压缩机曲轴加工工艺及夹具设计 组合机床工艺设计 RV蜗轮蜗杆减速机 90度皮带机运载机器人设计……
  19. vue + iview + select + 本地搜索或远程搜索
  20. 学校热水系统服务认证

热门文章

  1. jquery 的input change事件
  2. 烧烤店自动结账(初级版)
  3. 检查两棵树是否相同(力扣)图解、思路与实现
  4. 【切图仔日常】浅谈CSS3动画之凌波微步--steps()
  5. 专攻发票云生态,百望云获评“2018企业服务产品TOP50”!
  6. C# File.CopyTo 方法
  7. 台式计算机操作系统的安装,自己要怎么给台式电脑安装windows操作系统
  8. Sequential 模型
  9. C++实现一个老鼠走迷宫游戏
  10. vue.js鼠标滑动事件