发布时间:2023-03-09 10:30
在学习机器学习过程中,我自己纠结了很久的一个问题是 L1 norm 和 L2 norm 到底是什么关系,有什么区别。
L1 和 L2 都是深度学习中常用的正则化项(regularizer),描述的是模型的复杂度,它的作用在于模型越复杂,正则化项越大,将它加在损失函数(loss function)后面作为罚项(penalty),这样在最小化损失函数的过程中就可以照顾到模型复杂度的问题,防止过拟合(overfitting)。
关于这两种范数的公式请自行查找,下面主要说一下这两者的关系。
L1正则化会让你的参数变得更稀疏,也就是使很多参数退化到0,这样可以起到类似于Dropout和特征选取的功能。另外,L1正则化的公式不可导,这使得反向求偏导数以优化参数时计算过程变得复杂,也使得优化带有L1正则化项的损失函数更加复杂,方法也五花八门。
L2正则化,则不会让你的参数退化到0,也就是使你的参数稀疏,因为有平方的存在,当参数很小的时候,这个参数基本就被忽略了,并不会被进一步调整为0。而且L2正则化的公式可导,这使得在优化时计算过程比L1要简洁。
【两万字图文详解】 运动会管理系统-前后端分离-项目开发:【后端】SpringBoot, SpringMVC, MyBatis【前端】Vue.js,ElementUI
UEditorPlus v2.4.0发布 Word图片粘贴重构,功能样式优化
SpringBoot通过@Value实现给静态变量注入值详解
Python&C++相互混合调用编程全面实战-15C++读取python脚本中的dictionary字典变量以及它的键值对
记一次Windows10定时任务计划程序执行powershell脚本的问题
论文阅读笔记 | Transformer系列——Transformer in Transformer
mybatis根据表名动态批量新增,批量更新的实现方法(附排坑过程+完整源码完全可用)