为什么L1范数适用于稀疏模型


97

我正在阅读有关线性回归的书籍。关于L1和L2范数有一些句子。我了解它们,只是不明白为什么L1规范适用于稀疏模型。有人可以给一个简单的解释吗?


4
基本上,稀疏性是由等值面轴上的尖锐边缘引起的。到目前为止,我发现的最佳图形解释是该视频:youtube.com/watch?
v=sO4ZirJh9ds

1
还有在同一个博客文章chioka.in/...
普拉香特

检查以下中级职位。这可能有助于medium.com/@vamsi149/...
solver149

Answers:


111

考虑向量,其中小。的和范数分别由ε>012Xx=(1,ε)R2ε>0l1l2x

||x||1=1+ε,  ||x||22=1+ε2

现在说,作为某些正则化过程的一部分,我们将通过减小元素之一的大小。如果将更改为,则得出的范数为 δεX11-δxδεx11δ

||x(δ,0)||1=1δ+ε,  ||x(δ,0)||22=12δ+δ2+ε2

在另一方面,减少由给予规范 δx2δ

||x(0,δ)||1=1δ+ε,  ||x(0,δ)||22=12εδ+δ2+ε2

这里要注意的是,对于惩罚,对较大项正则化会导致范数减少的幅度比对较小项进行归一化程度大得多。但是,对于惩罚,减少量是相同的。因此,当使用范数对模型进行惩罚时,几乎不可能将任何东西都设置为零,因为当小时,几乎不存在从变为范数的减少。另一方面,范数的约简总是等于X 1 X 20 1 2 2 ε 0 ε 1 δl2x1x20l1l2l2ε0εl1δ,而不管罚款多少。

另一种思考的方式是:惩罚不会鼓励稀疏性,而惩罚在某种意义上会通过在元素接近零时产生递减的收益来抑制稀疏性。2l1l2


3
感谢您的回答!不过,我对最后一点不满意。如果运行非罚线性回归,则几乎不会获得稀疏解(而添加L1罚则通常会给您带来稀疏性)。因此,实际上,L1罚分的确通过发送从零开始精确到零的系数来鼓励稀疏性。
Stefan Wager 2014年

2
@StefanWager也许有点夸大其词,但我确实认为罚金在这里没有什么特别之处:任何罚金也会引起稀疏,但是您在实践中很少见(可能是因为它们不是凸的)。如果您真的只想稀疏,那么要采取惩罚(与非零条目的数量成比例)是,这种情况恰好您带来噩梦。α α 1 0l1lαα1l0
bnaul 2014年

1
对,那是正确的。有许多导致稀疏性的规范(例如,正如您提到的,任何p <= 1的Lp规范)。通常,任何在零处具有尖角的规范都会引起稀疏性。因此,回到最初的问题-L1范数通过在零处具有不连续的渐变来诱导稀疏性(对此属性的任何其他惩罚也将这样做)。
Stefan Wager 2014年

3
如果有人想了解更多信息,那么有很多关于非凸罚函数的活跃文献,这些函数可以替代L1范数(例如,最近,papers.nips.cc/paper/…)。
Stefan Wager 2014年

1
一个好答案,我一直想知道一阵子,直到我发现了这个。
哈迪·埃萨哈

72

对于稀疏模型,我们考虑一个模型,其中许多权重为0。因此,让我们对L1正则化如何更有可能创建0权重进行推理。

考虑一个由权重组成的模型。(w1,w2,,wm)

使用L1正则化,您可以通过损失函数 =惩罚模型 。Σ | w ^ |L1(w)Σi|wi|

使用L2正则化,您可以通过损失函数 =惩罚模型1L2(w)12Σiwi2

如果使用梯度下降,则将使步长乘以梯度,使权重沿梯度的相反方向反复变化。这意味着更大的梯度将使我们迈出更大的步伐,而更平坦的梯度将使我们迈出更小的步伐。让我们看一下梯度(在L1情况下为次梯度):η

dL1(w)dw=sign(w),其中sign(w)=(w1|w1|,w2|w2|,,wm|wm|)

dL2(w)dw=w

如果绘制损失函数及其对仅由一个参数组成的模型的导数,则对于L1如下所示:

在此处输入图片说明

对于L2来说是这样的:

在此处输入图片说明

请注意,对于,梯度是1或-1,除了。这意味着无论权重值如何,L1正则化都会以相同步长将任何权重移向0。相反,您可以看到,随着权重接近0,梯度朝着0线性减小。因此,L2-正则化也将任何权重移向0,但是当权重接近0时,步长将越来越小。L1w1=0L2

试想一下,您从的模型开始,并使用。在下面的图片中,您可以看到使用L1正则化进行梯度下降如何进行10个更新,直到得到的模型:w1=5η=12w1:=w1ηdL1(w)dw=w1121w1=0

在此处输入图片说明

相反,在L2正则化下,梯度为,导致每一步仅接近0。即,我们进行更新 因此,无论我们采取多少步骤,模型都永远不会达到权重0。η=12w1w1:=w1ηdL2(w)dw=w112w1

在此处输入图片说明

请注意,如果步长如此之大,以至于在一步之内就达到零,那么L2正则化可以使权重达到零。即使L2正则化本身超过或低于0,当与目标函数一起使用时,它仍然可以达到0的权重,该目标函数试图使模型相对于权重的误差最小。在那种情况下,找到模型的最佳权重是在正则化(权重较小)和最小化损失(拟合训练数据)之间进行权衡,而权衡的结果可能是某些权重的最佳值是0。η


3
有人可以解释一下,为什么当我们用初始权重w1 = 5.1而不是5时,我们不会陷入无限循环。令w = 0.1,w> 0因此我们的偏导数等于1然后进行第二步,现在w <0 =>导数= -1:因此,我们将无尽的振荡接近0
η=0.5
wfirst step=0.10.5(+1)=>w=0.4
wsecondstep=0.40.5(1)=0.1.
亚历克斯·雅辛

5
@AlexYashin是正确的-如果仅基于L1正则化更新权重,则最终可能会导致权重在0附近波动。但是,我们绝不会单独使用正则化来调整权重。我们将正则化与优化损失函数结合使用。这样,正则化将权重推向零,而我们同时尝试将权重推至优化预测的值。第二方面是学习率。以较小的学习率,我们可以接近正则化的值,以至于我们可以忽略它
Kent Munthe Caspersen

1
为什么dL2(w)/dw是“模块”而不是线性的?
mrgloom

1
@mrgloom dL2(w)/dw可以理解为L2(w)重量每变化的变化。由于L2正则化是权重的平方,所以L2(w)当我们具有更高的权重时,对于相同的权重变化,其变化将更大。这就是为什么在绘制函数时函数是凸的。但是对于L1,L1(w)无论您的体重是多少,每次改变的权重都是相同的-这导致线性函数。
肯特·芒特·卡斯珀森

1
@KentMuntheCaspersen了不起的解释!感谢您提供的图表以及为使此操作直观而付出的努力!
奠定者

15

Hastie,Tibshirani和Friedman 的“统计学习元素 ”中的图3.11 非常说明性:在此处输入图片说明

说明:是无约束的最小二乘估计。红色椭圆是(如该图的标题中所述)根据参数和最小二乘误差函数的轮廓。没有限制,误差函数在MLE处被最小化,并且其值随着红色椭圆的扩展而增加。菱形和圆盘区域分别是套索()回归和山脊()回归的可行区域。启发式地,对于每种方法,我们都在寻找红色椭圆和蓝色区域的交点,目的是在保持可行性的同时使误差函数最小化。β^β1β2β^L1L2

就是说,很明显,由于几何属性,对应于菱形可行区域的约束更有可能产生一个交点,该交点的解分量为零(即稀疏模型)。椭圆形,圆盘形和钻石形。仅仅是因为菱形的角(一个分量为零)更容易与对角线延伸的椭圆相交。L1


16
如果没有其他信息,该插图将无法令人信服。例如,为什么误差轮廓应该位于图中的位置?
wabbit

@HrishikeshGanu最终有一些时间来编辑帖子。
詹雄

所有轮廓将具有相同的形式...
kjetil b halvorsen

1
请注意,只有当在和轴上具有不同的方差时,才首选使用L1边缘。换句话说,当红线分布在对角线轴上。如果它是对称的,则整个边缘具有相同的距离/值/成本。β^β1β2β1=β2
Tautvydas

13

看一下《统计学习的要素》中的图3.11(第71页)。它显示了使平方误差函数最小化的无约束的位置,椭圆表示平方误差函数的水平,并且受到约束和。β^β^1(β^)<t2(β^)<t

这将使您从几何角度非常理解,受约束的影响,您会得到一些空组件。这主要是因为球在轴上具有“边缘”。11{x:1(x)1}

更概括地说,这本书是有关此主题的很好的参考书:严格且有充分的说明,很好的解释。


3
我认为您的第二段是关键……至少就我的直觉而言:l1“球”更像是沿轴尖刺的钻石,这意味着受约束击中它的超平面更有可能在其上为零轴。
韦恩

2
是的,我经常将优化过程想象为一个点的移动受到两种力的影响:由于平方误差函数,吸引到无约束吸引力,吸引到或范数的0 thak 。在此,该吸引力的“几何形状”改变了点的行为。如果您固定一个小的或球,使其可以在其中自由移动,则它将在球的边界上滑动,以便靠近。结果显示在上述书籍的插图中……β^1212β^
Elvis

3
这本书不错,但是从不解释它的来源和背后的数学原理。
user13985

2

一个简单的非数学答案将是:

对于L2:惩罚项是平方的,因此平方小会使其更小。 为了达到最小平方误差的目的,我们不必将其设为零,我们会在此之前得到零。

对于L1:惩罚项是绝对的,由于没有催化剂可以使小号变小,我们可能需要将其设为零

这是我的观点。


对我来说不是很令人信服。
泰勒十三将士归玉门

2

L1规范vs L2规范

该图显示了L1和L2范数所占据的区域形状。第二张图像由各种梯度下降等高线组成,用于各种回归问题。在所有等高线图中,观察与Ridge或L2 Norm相交的红色圆圈。交点不在轴上。所有轮廓中的黑色圆圈代表与L1范数或套索相交的轮廓。它相交于相对靠近轴的位置。这导致系数为0,从而进行特征选择。因此,L1范数使模型稀疏。

以下链接提供了更详细的说明:单击“面向数据科学”


这是一个很好的解释,但是对示例成本函数的表达式的其他注释也将很有用。即, -norm错误的圆形形状看起来很直观,但是,狭窄伸长的形状(也用于大多数其他示例)似乎并不琐碎且不言自明。(在这里,我谈论的是图8(b)的左上角成本函数:为什么其主要方向朝向点,而不是朝向?等高线是不同,最小化点将不会为0!)β 1 = 1 β 1 = 0 大号12β1=1β1=0L1
Nutle
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.