l1正则和l2正则的区别是:1. L1减少的是一个常量,L2减少的是权重的固定比例;2. L1使权重稀疏,L2使权重平滑;3. L1优点是能够获得sparse模型,对于large-scale的问题来说这一点很重要,因为可以减少存储空间。
一、l1正则和l2正则的区别
- L1减少的是一个常量,L2减少的是权重的固定比例
- L1使权重稀疏,L2使权重平滑。L1减少的是一个常量,L2减少的是权重的固定比例
- L1优点是能够获得sparse模型,对于large-scale的问题来说这一点很重要,因为可以减少存储空间
- L2优点是实现简单,能够起到正则化的作用。缺点就是L1的优点:无法获得sparse模型
- L1优点是能够获得sparse模型,对于large-scale的问题来说这一点很重要,因为可以减少存储空间
- L2优点是实现简单,能够起到正则化的作用。缺点就是L1的优点:无法获得sparse模型
L1正则化与稀疏性
事实上,”带正则项”和“带约束条件”是等价的。
为了约束w的可能取值空间从而防止过拟合,我们为该优异化问题加上一个约束,就是w的L1范数不能大于m:
{min∑Ni=1(wTxi−yi)2s.t.∥w∥1⩽m………(3)
问题转化成了带约束条件的凸优化问题,写出拉格朗日函数:
∑i=1N(wTxi−yi)2+λ(∥w∥1−m)……..(4)
设W∗和λ∗是原问题的优异解,则根据KKT条件得:
{0=∇w[∑Ni=1(WT∗xi−yi)2+λ∗(∥w∥1−m)]0⩽λ∗………(5)
仔细看上面名列前茅个式子,与公式(1)其实是等价的,等价于(3)式。
设L1正则化损失函数:J=J0+λ∑w|w|,其中J0=∑Ni=1(wTxi−yi)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的二维平面上画出来。
延伸阅读:
二、L2正则化为什么能防止过拟合
拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是抗扰动能力强。
以上就是关于l1正则和l2正则的区别的内容希望对大家有帮助。