机器学习-L1和L2正则化理解

 


一. 正则化

1. 什么是正则化

正则化(Regularization) 是机器学习中对原始损失函数引入额外信息(模型复杂度惩罚项),以便防止过拟合和提高模型泛化性能的一类方法的统称。也就是 目标函数变成了原始损失函数+额外项.

  • 常用的额外项一般有两种,英文称作1norm2norm,称作L1正则化和L2正则化,或L1范数和L2范数(实际是L2范数的平方)。
  • L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓惩罚是指对损失函数中的某些参数做一些限制。
    对于线性回归模型,使用L1正则化的模型叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归

2. L1正则化和L2正则化

L1正则化损失函数:

minwiN(wTxiyi)2+λ||w||1(1)

L2正则化损失函数:

minwiN(wTxiyi)2+λ||w||22

3. 正则化作用

  • L1正则化可以使得参数稀疏化,即得到的参数是一个稀疏矩阵,可以用于特征选择
  • L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

4. 带正则项和带约束条件等价

最优化+约束条件

  • 为了约束w的可能取值空间从而防止过拟合,我们为该最优化问题加上一个约束,就是w的L1范数不能大于m:

{mini=1N(wTxiyi)2s.t.||w||1<=m.

  • 问题转化为带约束条件的凸优化问题,拉格朗日函数:

i=1N(wTxiyi)2+λ(||w||1m)

此式与公式1等价

  • Wλ是原问题的最优解,则根据KKT条件得:

{0=w[i=1N(WTxiyi)2+λ(w1m)]0λ

二. 正则化理解

  • 设L1正则化损失函数:J=J0+λw|w| 其中,J0=i=1N(wTxiyi)2 是原始损失函数,
    加号后面的一项是L1正则化项,λ是正则化系数。

  • 注意到L1正则化是权值的绝对值之和,J是带有绝对值符号的函数,因此J是不完全可微的。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值。

  • 当我们在原始损失函数J0后添加L1正则化项时,相当于对J0做了一个约束。
    L=λw|w|,则J=J0+L,此时我们的任务变成 在L约束下求出J0取最小值的解

  • 考虑二维的情况,即只有两个权值w1和w2,此时L=|w1|+|w2|
    对于梯度下降法,求解J0的过程可以画出等值线,同时L1正则化的函数L也可以在w1、w2的二维平面上画出来。如下图:

  • 上图中等值线是J0的等值线,黑色方形是L函数的图形。在图中,当J0等值线与L图形首次相交的地方就是最优解。

  • 上图中J0与L在L的一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是(w1,w2)=(0,w2)。可以直观想象,因为L函数有很多突出的角(二维情况下四个,多维情况下更多),而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。

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

参考

posted @   topbookcc  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
/* 鼠标点击求赞文字特效 */
点击右上角即可分享
微信分享提示