机器学习-L1和L2正则化理解
一. 正则化
1. 什么是正则化
正则化(Regularization) 是机器学习中对原始损失函数引入额外信息(模型复杂度惩罚项),以便防止过拟合和提高模型泛化性能的一类方法的统称。也就是 目标函数变成了原始损失函数+额外项.
- 常用的额外项一般有两种,英文称作和,称作L1正则化和L2正则化,或L1范数和L2范数(实际是L2范数的平方)。
- L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓惩罚是指对损失函数中的某些参数做一些限制。
对于线性回归模型,使用L1正则化的模型叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)
2. L1正则化和L2正则化
L1正则化损失函数:
L2正则化损失函数:
3. 正则化作用
- L1正则化可以使得参数稀疏化,即得到的参数是一个稀疏矩阵,可以用于特征选择
- L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合
4. 带正则项和带约束条件等价
最优化+约束条件
- 为了约束w的可能取值空间从而防止过拟合,我们为该最优化问题加上一个约束,就是w的L1范数不能大于m:
- 问题转化为带约束条件的凸优化问题,拉格朗日函数:
此式与公式1等价
- 设和是原问题的最优解,则根据KKT条件得:
二. 正则化理解
-
设L1正则化损失函数: 其中, 是原始损失函数,
加号后面的一项是L1正则化项,λ是正则化系数。 -
注意到L1正则化是权值的绝对值之和,J是带有绝对值符号的函数,因此J是不完全可微的。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值。
-
当我们在原始损失函数J0后添加L1正则化项时,相当于对做了一个约束。
令,则,此时我们的任务变成 在L约束下求出J0取最小值的解。 -
考虑二维的情况,即只有两个权值w1和w2,此时
对于梯度下降法,求解J0的过程可以画出等值线,同时L1正则化的函数L也可以在w1、w2的二维平面上画出来。如下图:

-
上图中等值线是J0的等值线,黑色方形是L函数的图形。在图中,当J0等值线与L图形首次相交的地方就是最优解。
-
上图中J0与L在L的一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是。可以直观想象,因为L函数有很多突出的角(二维情况下四个,多维情况下更多),而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。
-
二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此J0与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)