当前位置: 首页 > news >正文

什么是L1和L2正则化,以及它们有什么区别

一、L1和L2正则化是什么?

在防止过拟合的方法中有L1正则化和L2正则化,L1和L2是正则化项,又叫做惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。

在二维的情况下,黄色的部分是L2和L1正则项约束后的解空间,绿色的等高线是凸优化问题中目标函数的等高线,如下图所示。由图可知,L2正则项约束后的解空间是圆形,而L1正则项约束的解空间是多边形。显然,多边形的解空间更容易在尖角处与等高线碰撞出稀疏解。
在这里插入图片描述

图片参考来源:《百面机器学习》

看完上面内容,进一步追求细节,为什么加入正则项就是定义了一个解空间约束? 为什么L1和L2的解空间是不同的?

这些问题其实可以通过KKT条件给出一种解释。

事实上,“带正则项”和“带约束条件”是等价的。为了约束w的可能取值空间从而防止过拟合,我们为该最优化问题加上一个约束,就是w的L2范数的平方不能大于m:
在这里插入图片描述

为了求解带约束条件的凸优化问题,写出拉格朗日函数

在这里插入图片描述
若w*和 λ*分别是原问题和对偶问题的最优解,则根据KKT条件,它们应满足
在这里插入图片描述

此时可以发现,上述第一个式子就是w*为带L2正则项的优化问题的最优解的条件,而λ*就是L2正则项前面的正则参数。

此时对问题的理解就更加深刻了。L2正则化相当于为参数定义了一个圆形的解空间(因为必须保证L2范数不能大于m),而L1正则化相当于为参数定义了个棱形的解空间。如果原问题目标函数的最优解不是恰好落在解空间内,那么约束条件下的最优解一定是在解空间的边界上,而L1“棱角分明”的解空间显然更容易与目标函数等高线在角点碰撞,从而产生稀疏解。

二、区别

区别一:

  • L1是模型各个参数的绝对值之和。
  • L2是模型各个参数的平方和的开方值。

区别二:

  • L1会趋向于产生少量的特征,而其他的特征都是0。因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵;
  • L2会选择更多的特征,这些特征都会接近于0。最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项趋近于0。

三、其他问题

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

    • 越是复杂的模型,越是尝试对所有样本进行拟合,包括异常点。这就会造成在较小的区间中产生较大的波动,这个较大的波动也会反映在这个区间的导数比较大。只有越大的参数才可能产生较大的导数。因此参数越小,模型就越简单。
  • 实现参数的稀疏有什么好处?

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

    • 加入正则化项就是在原来目标函数的基础上加入了约束。当目标函数的等高线和L1,L2范数函数第一次相交时,得到最优解。
http://www.lryc.cn/news/32876.html

相关文章:

  • 场景式消费激发春日经济,这些电商品类迎来消费热潮
  • [2.1.4]进程管理——进程通信
  • ChatGPT也有犯晕的时候
  • 机器学习与目标检测作业:连通块算法
  • HBase基础 --- 增删查改
  • 如何基于AI智能视频技术实现公园景区的人流量实时统计?
  • 【JavaWeb】Servlet详解
  • 谁是世界上最好的编程语言?--编程语言70年浅谈
  • Webpack前端资源加载/打包工具
  • springcloud3 fegin实现服务调用1
  • 专业版即将支持自定义场景测试
  • Process Monitor工具使用实验(23)
  • 钓鱼客服到拿下服务器全过程(重点在于钓鱼添加img src)
  • 【C++】list迭代器的深度剖析及模拟实现(感受类封装,类和对象的思想)
  • JavaScript 语句、注释和代码块实例集合
  • 华为机试题:HJ103 Redraiment的走法(python)
  • html+css 实现 熊猫样式
  • Vue基础19之插槽
  • [Gin]框架底层实现理解(一)
  • css3横向无限公告消息滚动功能
  • 【Git】Git工作流程及使用
  • 降本增效,合作伙伴营销助力业绩增长
  • 【独家】华为OD机试 - 运动会(C 语言解题)
  • 【每天学习一点新知识】JNDI注入
  • Transwarp KunDB 实施方案
  • Redis学习之主从复制(八)
  • mysql8.0安装
  • 前端经典面试题(有答案)
  • 华为云服务器安装mysql连接失败问题
  • 合作伙伴管理软件VS CRM,企业应该选择哪一个?