当前位置:   article > 正文

机器学习 正则化l1怎么用_机器学习中的正则化

l1正则化方法在模型训练时,随机丢弃部分参数以达到正则化效果

1 正则化的背景和作用

问题背景:机器学习的参数太多,会导致模型的复杂度上升,容易产生过拟合。

正则化的原理:在损失函数上增加某些限制,减少求出过拟合解的可能性。

作用:

  1. 对参数进行约束,降低模型复杂度,从而避免过拟合。假设一个线性回归模型,如果参数很大,只要数据有一点点偏移,那么结果的差距就会很大;如果参数很小,那么数据偏移量较多也不会有太大影响,这样模型对于数据就会有一定的抗扰动能力,
  2. 相当于将模型的先验知识增加到损失函数中。

常用的正则化方法:L1,L2,

2 范数的定义

范数:向量中非0元素的个数。

范数:向量中各个元素绝对值之和。也叫“稀疏规则算子”。L0和L1范数用于正则化可以导致稀疏性。

范数:向量各元素平方和再求平方根:

范数不同,
范数不会让参数等于0,而是接近于0。
范数可以防止过拟合,同时让求解变得稳定和快速。

3 参数稀疏的好处

3.1 特征选择

稀疏的参数可以在一定程度上实现对参数的选择。一般而言,大部分特征不提供信息,或者对预测帮助很小。稀疏算子的引入可以在一定程度上去掉这些没有帮助的特征,即将它们的权重置0,这样就只关注那些权重非0的特征,从而实现对特征的自动选择。

3.2 可解释性

稀疏性可以使参数更容易被分析和解释。如果最后学习到的参数是稀疏的,那么我们有理由相信,最后剩余的这些参数提供的信息量是巨大的、决定性的,只通过对这些决定性的特征进行组合就可以对结果进行预测,那么对这些参数进行分析就容易多了,进而也更容易解释它们。

4 L1和L2正则化的区别

L1范数更容易产生稀疏模型,而L2范数更容易避免过拟合

4.1 从优化的角度

考虑一个只有两个参数

的模型,其损失函数为
,其中
表示正则化项。

4.1.1 L1范数

对于L1范数而言,

范数可以画在同一幅图中,如下图所示:

ffefdac08eb53ba1ccdaf97755c0133b.png

图中横纵坐标分别为

,彩色的曲线表示
的等值线,黑色的直线表示L1范数的图形。
图形首次相交的点就是最优解,注意到这个点的坐标是

由上图可见,

的图形有很多突出的点,在这些点上会有很多权重等于0,而
与这些突出的点相交的机会远大于与其他部位相交的区域,因此就会产生稀疏性。

4.1.2 L2范数

对于L2范数,画出相同的图形如下:

16f11fd3b5bbb700b6fe035d88783790.png

可见L2范数的图形没有“角”,因此

与L2范数图形相交的点具有稀疏性的可能性就很小。

4.2 从梯度的角度

假设存在某线性回归模型,其损失函数为:

由梯度下降得到的权重迭代更新公式为:

其中

为学习率。

4.2.1 带有L1范数的损失函数梯度

带有L1范数的损失函数为:

其梯度为:

参数迭代更新公式为:

其中

为学习率。

4.2.2 带有L2范数的损失函数梯度

带有L2范数的损失函数为:

其梯度为:

参数迭代更新公式为:

4.2.3 两者梯度的区别

在参数更新时,L1范数对应的梯度为

,而L2范数为

时,L2范数对应的梯度更大,从而参数减小更快;而当
时,L1范数对应梯度更大、参数变化更快。

此外,当

越小时,L1更容易接近到0,而L2更不容易变化,因此带有L1范数的损失函数会获得更多接近于0的
,即更为稀疏的参数;相比之下,L2获取到的
值更为平滑。

4.3 从先验的角度

为损失函数加入正则化项,相当于为

的参数加先验,要求这些参数满足某一分布。

L1正则化相当于为

加入Laplace分布的先验,使得
趋向于0本身;L2正则化相当于加入Gaussian分布的先验,使得
趋向于0周围。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/574613
推荐阅读
相关标签
  

闽ICP备14008679号