L1正则化和L2正则化讲解

  在机器学习实践过程中,训练模型的时候往往会出现过拟合现象,为了减小或者避免在训练中出现过拟合现象,通常在原始的损失函数之后附加上正则项,通常使用的正则项有两种:L1正则化L2正则化

  L1正则化L2正则化都可以看做是损失函数的惩罚项,所谓惩罚项是指对损失函数中的一些参数进行限制,让参数在某一范围内进行取值。L1正则化的模型叫做LASSO回归,L2正则化的模型叫做岭回归

  • LASSO回归公式
    min12mΣi=1m(f(x)−y(i))2+λ∣∣w∣∣1min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{1}min2m1​Σi=1m​(f(x)−y(i))2+λ∣∣w∣∣1​

  • 岭回归公式
    min12mΣi=1m(f(x)−y(i))2+λ∣∣w∣∣22min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{2}^{2}min2m1​Σi=1m​(f(x)−y(i))2+λ∣∣w∣∣22​

L1正则化项和L2正则化项的说明如下:

  1. L1正则化项是指权重向量www中各元素的绝对值之和,表示为 ∣∣w∣∣1||w||_{1}∣∣w∣∣1​
  2. L2正则化项是指权重向量www中个元素的平方和,表示为 ∣∣w∣∣22||w||_{2}^{2}∣∣w∣∣22​

L1正则化和L2正则化的作用

   1. L1正则化用于进行稀疏化(会令权重向量w中某一些参数等于0)处理,通常用于在多特征中进行特征选择
   2. L2正则化用于避免模型发生过拟合现象,L1正则化也可用于避免过拟合

L1正则化的直观理解

  • L1正则化的损失函数

min12mΣi=1m(f(x)−y(i))2+λ∣∣w∣∣1min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{1}min2m1​Σi=1m​(f(x)−y(i))2+λ∣∣w∣∣1​

  在上述的公式中,12mΣi=1m(f(x)−y(i))2\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}2m1​Σi=1m​(f(x)−y(i))2是原始的损失函数,也称为经验误差,在此基础上,加入了L1正则项λ∣∣w∣∣1\lambda||w||_{1}λ∣∣w∣∣1​,L1正则项是权重向量中各元素的绝对值之和,所造成的一个后果就是损失函数不是完全可微。模型训练的目的是令损失函数达到全局最小值,当在原始的损失函数之后加入L1正则项之后,相当于对权重向量做了约束,此时我们的任务变为了在L1约束条件下求得损失函数的最小值。由于高维的情况无法用图像形象的描述出来,我们这里考虑二维的情况,即只有两个权重值w1w_{1}w1​和w2w_{2}w2​,此时对损失函数应用梯度下降法,求解过程中可以画出等值线,如下图所示:

  图中等值线是原始损失函数的等值线,黑色方形是L1正则化项的图形。在图中,当彩色等值线与黑色图形首次相交的地方就是最优解。上图中原始损失函数与L1在一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是(w1,w2)=(0,w)。可以直观想象,因为L函数有很多突出的顶点(二维情况下四个,多维情况下更多),彩色等值线与这些角接触的机率会远大于与黑色图形其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏效果,进而可以用于特征选择。
  正则化系数λ\lambdaλ可以控制黑色图形的大小,λ\lambdaλ越大,黑色图形越小,λ\lambdaλ越小,黑色图形越大。λ\lambdaλ越大,表示对权重向量的限制作用越强。

L2正则化的直观理解

  • L2正则化的损失函数
    min12mΣi=1m(f(x)−y(i))2+λ∣∣w∣∣22min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{2}^{2}min2m1​Σi=1m​(f(x)−y(i))2+λ∣∣w∣∣22​

  不管是L1正则化还是L2正则化,在拟合的过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型,因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,抗干扰能力强。

  考虑损失函数在二维的情况,即只有两个权重值w1w_{1}w1​和w2w_{2}w2​,此时对损失函数应用梯度下降法,求解过程中可以画出等值线,如下图所示:

  二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此J0与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。

L1正则化和L2正则化讲解相关推荐

  1. l1正则化和l2正则化_l1 vs l2正则化以及何时使用

    l1正则化和l2正则化 I have read many articles on the topic to find out which is better out of two and what s ...

  2. L1正则化、L2正则化的多角度分析和概率角度的解释

    L1正则化.L2正则化的公式如下 min ⁡ w L 1 ( w ) = min ⁡ w f ( w ) + λ n ∑ i = 1 n ∣ w i ∣ min ⁡ w L 2 ( w ) = min ...

  3. L1正则化和L2正则化(从解空间角度)

    文章目录 一.什么是过拟合? 二.为什么模型会过拟合? 三.如何防止模型过拟合? 四.L1正则和L2正则 4.1 L1.L2的区别 4.2 为什么正则化能够防止过拟合? 4.3 为什么L1正则具有稀疏 ...

  4. L1正则化与L2正则化

    1.1-范数,2-范数 1-范数: 2-范数:2-范数就是通常意义下的距离 2.L1和L2正则化 我们所说的正则化,就是在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度 ...

  5. L1正则化和L2正则化的直观解释

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

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

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

  7. keras添加L1正则化,L2正则化和Dropout正则化及其原理

    一.什么是正则化,用来干嘛的? 正则化(regularization),是指在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题.大条件数 ...

  8. 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景

    先对"L1正则化和L2正则化的区别.应用场景"给出结论,具体见后面的原理解释: L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法. L2正则化计算 ...

  9. 机器学习—正则化方法—L1正则化、L2正则化

    1.L1正则化(稀疏矩阵) 权值向量w中各个元素的绝对值之和: 2.L2正则化(权重衰减) 权值向量w中各个元素的平方和: 3.L1正则化 VS L2正则化 L1正则化可以产生稀疏权值矩阵,即产生一个 ...

最新文章

  1. 【ArcGIS风暴】ArcGIS影像批量裁剪(分幅)方法总结
  2. 第二轮冲次会议第六次
  3. Hybrid A*论文解析(1)
  4. PHP数据表记录自己信息,PHP对数据表记录的操作
  5. boost::asio
  6. GridView模板问题
  7. Adaboost算法的学习笔记~
  8. new 动手学深度学习V2环境安装
  9. centos7 kvm虚拟机安装黑屏
  10. Extjs ComboBox常用的配置
  11. ANDROID定义自己的看法——onMeasure,MeasureSpec源代码 过程 思考具体解释
  12. 怎样在WORD里输入国际音标
  13. html的柱状图去除右边纵坐标,excel如何把次坐标轴逆序
  14. TPT中脚本评估的正确打开方式 (上):强大的内置函数库
  15. 上海有计算机专业的专科大学排名,上海高校计算机专业排名情况(前几名)?...
  16. calibre如何使用邮件推送电子书
  17. 第10章第10节:使用iSlide的幻灯片诊断工具优化幻灯片中的图片 [PowerPoint精美幻灯片实战教程]
  18. 27岁,今年研究生上岸,有什么忠告可以给我的?
  19. GameObject的Active与InActive activeSelf, activeInHierarchy, SetActiveRecursively
  20. 当V4L2遇上Gstreamer

热门文章

  1. 设计模式 — UML常见符号
  2. YYKIT系列之 —— YYCache
  3. macOS关闭访达(Finder)正确操作
  4. C语言操作mysql数据 常用函数
  5. 用github教育优惠申请jetbrains学生认证时遇到的问题
  6. 《脱颖而出——成功网店经营之道》一导读
  7. 对话MongoDB CEO,数据库公司市值如何从12亿到248亿美元?
  8. iis搭建php出现301,IIS下万能301跳转方法:URL伪静态重写+PHP301
  9. 遇到产品问题,需要进行产品质量鉴定,六个方法选择一个靠谱的产品质量鉴定机构
  10. 2022年最值得推荐的轻薄笔记本,灵耀X逍遥点亮高光时刻