一、为什么L1和L2正则化可防止过拟合?

线性模型常用来处理回归和分类任务,为了防止模型处于过拟合状态,需要用L1正则化和L2正则化降低模型的复杂度,很多线性回归模型正则化的文章会提到L1是通过稀疏参数(减少参数的数量)来降低复杂度,L2是通过减小参数值的大小来降低复杂度。下面我们从梯度角度进行分析。

1、L1正则化

L1正则化的损失函数为:

上式可知,当w大于0时,更新的参数w变小;当w小于0时,更新的参数w变大;所以,L1正则化容易使参数变为0,即特征稀疏化。

2、L2正则化

L2正则化的损失函数为:

由上式可知,正则化的更新参数相比于未含正则项的更新参数多了ηλnw\frac{\eta \lambda }{n}wnηλ​w项,当w趋向于0时,参数减小的非常缓慢,因此L2正则化使参数减小到很小的范围,但不为0。

更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀)。

二、L0、L1和L2区别?

1、L0和L1之间的区别

L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。

个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。所以尽管L1范数和L0范数都可以实现稀疏,但L1因具有比L0更好的优化求解特性而被广泛应用。

2、L1和L2之间的区别及适用场景

L1在优化的时候,w在更新的时候,更偏向于收敛到0。也就是L1会趋向于产生少量的特征,而其他的特征都是0,使用L1可以得到稀疏的权值;所以L1适用于特征之间有关联的情况。
而L2在收敛的时候更偏向于收敛到到很小的参数,但一般不会是0。也就是L2会选择更多的特征,这些特征都会接近于0,使用L2可以得到平滑的权值;所以L2适用于特征之间没有关联的情况。
这个是什么缘由呢?其实就是,L2的求导后为一阶函数,对于大的w参数,惩罚作用大,对于小的w参数,惩罚作用小,很难惩罚到0,实际上起到了把大参数和小参数趋向于平均的作用;L1求导后为常数,无论对于大小参数,其惩罚作用一样,所以可以把小参数惩罚到0。

三、L1不可导的时候该怎么办?

Lasso回归的损失函数在0处不可导,因此不能直接使用梯度下降法进行求解。可以使用坐标轴下降法,即在各个坐标轴方向上进行下降。坐标轴下降法和梯度下降法具有同样的思想,都是沿着某个方向不断迭代,但是梯度下降法是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向。

坐标轴下降法的数学依据为:

四、实现参数的稀疏有什么好处?

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

【L1正则化与L2正则化详解及为什么L1和L2正则化可防止过拟合】相关推荐

  1. 【正则化】Label Smoothing详解

    1. 概述 Label Smoothing(标签平滑),像 L1.L2 和 Dropout 一样,是一种正则化方法,通常用于分类问题,目的是防止模型在训练时过于自信地预测标签,改善泛化能力差的问题(也 ...

  2. smooth l1(huber)+binary cross entropy详解(tensorflow+pytorch)

    前言 上篇讲到yolo v2 loss中使用了两个loss分别时wh使用的smoothl1 loss以及其他的BCEloss,这里做个扩展介绍,并对比pytorch以及tensorflow的api接口 ...

  3. 【L2-020 功夫传人】天梯赛L2系列详解

    天梯赛L2-020 功夫传人 题目详情: 思路: 这个题目的看着就感觉需要深搜一下,不妨将样例画出来,思路就突然涌来了.很明显的一道深搜的题目: 题目刚开始输入的一行信息整体的信息:宗门人数,祖师爷功 ...

  4. 【L2-019 悄悄关注 】天梯赛L2系列详解

    天梯赛L2-019 悄悄关注 题目详情: 输入样例1: 10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao 8 Magi 50 Pota 30 L ...

  5. 【L2-030 冰岛人】天梯赛L2系列详解

    天梯赛L2-030 冰岛人 题目详情: 思路: 先搞清楚题目要求我们干什么? 直接看输出格式部分,四种情况:异性,同性,有无共同祖先,是否在名单内. 1.判断性别:如果是维京人那么通过性别后缀,否则通 ...

  6. 【L2-024 部落】天梯赛L2系列详解

    天梯赛L2-024 部落 题目详情: 输入样例: 4 3 10 1 2 2 3 4 4 1 5 7 8 3 9 6 4 2 10 5 3 7 输出样例: 10 2 Y N 思路: 很明显的并查集的一道 ...

  7. 【L2-026 小字辈】天梯赛L2系列详解

    天梯赛L2-026 小字辈 (25 分) 题目详情: 输入样例: 9 2 6 5 5 -1 5 6 4 7 输出样例: 4 1 9 思路: 这个题目当时写了一种递归的方法,但是递归的不好,测试数据太大 ...

  8. 【L2-031 深入虎穴】天梯赛L2系列详解

    天梯赛L2-031 深入虎穴 题目详情: 思路: DFS遍历!!! 这个题目的思路很简单,就是遍历一颗数,找到最末尾的节点,输出它就可以了. 这个题目还有一个要注意的点,就是在你遍历的时候,要注意找到 ...

  9. 特征选择方法详解Part2-卡方检验、互信息(Mutual Information)

    Content 1. 单变量分析 1.1 卡方检验 1.1.1 原理 1.1.2 使用示例 1.2 互信息(Mutual Information) 1.2.1 原理 1.2.1.1 互信息(Mutua ...

最新文章

  1. 解密淘宝网的开源架构(转)
  2. redis 设置连接数配置修改 java 最大连接数_Spring Boot集成mysql与Redis
  3. js跨浏览器事件处理
  4. python格式化字符串%r_Python语法速查:3.字符串格式化
  5. iOS 简单引导界面
  6. java报错信息怎么看_AE-E3D插件无效或提示OPENGL E3D Debug等错误报错信息怎么办?...
  7. kops_使用KOPS的Kubernetes群集中SQL Server
  8. 国联安 德盛 新基金 申购免手续费 产品好 利润高
  9. 华为hcip认证考试题库有哪些内容?华为hcip认证考试题库试题举例
  10. TASKCTL作业类型的插件与维护管理
  11. matlab跟踪控制程序,机器人轨迹跟踪控制方法研究(含MATLAB程序)
  12. Securing Checklists
  13. 【gp数据库】十条实用数据库SQL优化建议
  14. java 数字转大写中文_java如何实现,把数字转换成中文的大写数字?
  15. 思科vrrp实例_VRRP配置及多备份VRRP配置实例
  16. 30个专业配色网站, 让你配色从此更专业
  17. OpenRisc-27-wishbone接口的vga ipcore的分析与仿真
  18. Android进阶之路 - 毛玻璃遮罩层
  19. mysql金额分隔符_mysql分隔符
  20. ORACLE 仿照原表建表语法

热门文章

  1. Unity 在word中插入图片 并向word表格中写入数据
  2. 自己开发的App在华为荣耀系列手机上安装失败,“未包含任何证书”
  3. BT HOST相关协议简介
  4. 入选评标专家库有什么好处吗?
  5. 最大公约数算法-java实现
  6. (开源)STC89c51结合ESP8266制作物联网环境监测系统+APP inventor制作手机App实时显示
  7. 努力提高中文水平之——被中国人误传了数千年的七句话
  8. 小米linux内核(Xiaomi_Kernel_OpenSource)编译指南
  9. 计算机组成数据通路组成实验报告,计算机组成原理数据通路实验报告.docx
  10. 浏览器的链接不是专属连接,有可能是https被拦截了