如何得出岭回归解?


40

我在脊回归解决方案的推导中遇到一些问题。

我知道没有正则化项的回归解决方案:

β=(XTX)1XTy.

但是在将L2项到成本函数之后,解决方案变成了λβ22

β=(XTX+λI)1XTy.

Answers:


23

通过增加惩罚来修改损失函数就足够了。用矩阵术语,初始二次损失函数变为

(YXβ)T(YXβ)+λβTβ.
关于\ beta的推导β得到正态方程
XTY=(XTX+λI)β
导致岭估计。

1
\ lambda \ beta ^ T \ beta的导数λβTβλIβ
为何

4
@ user34790不是。等于2λβ。但是2在其他方面以相似的2抵消。当然,I因子就像“常规”代数中的因子1一样,您可以将其乘以任意位置,而无需进行任何更改。
条例草案

4
@bill:在这里,您需要来获得正确尺寸的矩阵,以便加法运算符与:只是一个标量IXTXλ
Henry

47

让我们以我们所知道的为基础,那就是每当模型矩阵为,响应 -vector为,参数 -vector为,即目标函数n×pXnypβ

f(β)=(yXβ)(yXβ)

求解法线方程时,(残差平方和)最小化β

(XX)β=Xy.

Ridge回归在目标函数中添加了另一个术语(通常是在将所有变量标准化以使其处于共同基础之后),要求最小化

(yXβ)(yXβ)+λββ

对于一些非负常量。它是残差的平方和加上系数本身的平方和的倍数(很明显,它具有全局最小值)。因为,它具有正平方根。λλ0ν2=λ

考虑矩阵行增加了对应于乘以单位矩阵:Xνp×pI

X=(XνI)

当向量相似地以的结尾扩展为零时,目标函数中的矩阵乘积将添加附加项,其形式为达到最初的目标。因此ypyp(0νβi)2=λβi2

(yXβ)(yXβ)=(yXβ)(yXβ)+λββ.

从左手表达式的形式可以立即看出法线方程是

(XX)β=Xy.

因为我们在的末尾附加了零,所以右侧与。在左手侧被添加到原始。因此,新的Normal方程简化为yXyν2I=λIXX

(XX+λI)β=Xy.

除了从概念上讲是经济的(不需要任何新操作即可得出此结果),它在计算上也很经济:您用于做普通最小二乘法的软件也可以进行岭回归,而无需进行任何更改。 (不过,在较大的问题中使用为此目的而设计的软件可能会有所帮助,因为它会利用的特殊结构以的密集间隔有效地获取结果,使您能够探索答案的变化方式。用。)Xλλ

这种看待事物的方式的另一个优点是它如何帮助我们理解岭回归。当我们想真正地了解回归时,几乎总是可以从几何角度考虑回归:的列构成维度为的实向量空间中的向量。通过将附加到,从而将它们从向量延长到向量,我们通过包含将嵌入到更大的空间 “虚的”,相互正交的方向。的第一列XpnνIXnn+pRnRn+ppX给出了一个大小为虚构小分量,从而将其加长并将其移出原始列生成的空间。第二个,第三个,...,列同样加长,以相同的量移动的原始空间了 - 但都在不同的新方向。 因此,原始列中存在的任何共线性将立即得到解决。此外,越大,这些新向量越接近单个νppthννp虚构的方向:它们变得越来越正交。因此,当从增加时,正规方程的解将立即变为可能,并且将迅速变得数值稳定。ν0

该过程的描述提出了一些新颖和创造性的方法来解决Ridge回归旨在解决的问题。例如,使用任何手段(例如Belsley,Kuh和Welsch在其1980年的《回归诊断》一书的第3章中描述的方差分解),您都可以识别的几乎共线列的子组,其中每个子组几乎与其他正交。您只需要与最大组中的元素邻接,就可以将与行相邻(对为零),并指定一个新的“虚构”维来将组中的每个元素从其同级中移开:您不需要虚构尺寸来做到这一点。XXyp


2
这本书的最后作者是威尔士,而不是威尔士。
马克·L·斯通

1
哇,这真让我震惊。关于将其推广到外部线性模型(即glm的模型)时,会发生什么讨论?惩罚不应该与岭回归相同...但是这种解释意味着它仍然是潜在的有用估计量!
Cliff AB

2
@Cliff这是一个非常有趣的建议。但是,由于GLM估计以更复杂的方式取决于并且它们的估计量通常不能像OLS那样以的形式分解(其中和),可能很难在施加惩罚函数和修改的列之间建立有用的关系。尤其是,尚不清楚如何使的值增加才能完成这项工作。X
β^=g(X)h(y)
g(X)=(XX)1Xh(y)=yXy
ub

1
是的,尝试确定惩罚是需要一些思考的,但是我并不那么担心。使用的想法通常也不容易...除了逻辑回归的情况外,我们可以添加两个。0之一和1之一。然后,这种扩充将是“ +2二项式估计量”的更一般的版本(我要对此的估计量有更合适的名称,这基本上是当您使用后验均值从二项式分布估计时在上具有统一先验的估计。y ypp
Cliff AB

@Mark谢谢您的纠正。你可以知道我要离开内存了... :-)。
whuber

20

该推导包括矩阵演算,这可能非常繁琐。我们想解决以下问题:

minβ(YβTX)T(YβTX)+λβTβ

现在请注意 和 我们一起得出一阶条件 隔离产生解:

(YβTX)T(YβTX)β=2XT(YβTX)
λβTββ=2λβ.
XTY=XTXβ+λβ.
β
β=(XTX+λI)1XTY.

9

最近,我在P样条曲线的情况下偶然发现了一个相同的问题,并且由于概念相同,因此我想对脊估计的推导给出更详细的答案。

我们从一个惩罚标准函数开始,该函数与经典OLS标准函数的区别在于最后一个求和项中的惩罚项:

CriterionRidge=i=1n(yixiTβ)2+λj=1pβj2

哪里

  • p=模型中使用的协变量数量
  • xiTβ=您的标准线性预测​​变量
  • 第一个被加数表示我们希望照常最小化的MSE(预测值与实际值的平方偏差)
  • 第二个加数表示我们对系数应用的惩罚。在这里,我们处于Ridge上下文中,这意味着欧几里得距离测度,因此意味着惩罚项中的2度。在套索概化的情况下,我们将应用次数1,并得出完全不同的估计量。

我们可以用矩阵符号重写该标准,然后进一步分解:

CriterionRidge=(yXβ)T(yXβ)+λβTβ

=yTyβTXTyyTXβ+βTxTXβ+λβTβ

=yTyβTXTyβTXTy+βTXTXβ+βTλIβ 其中为单位矩阵I

=yTy2βTXTy+βT(XTX+λI)β

现在,我们搜索以最小化我们的标准。除其他我们利用矩阵分化规则的,我们可以在此处应用为: βxTAxx=(A+AT)x=A symmetric2Ax(XTX+λI)Rn×n

CriterionRidgeβ=2XTy+2(XTX+λI)β=!0

(XTX+λI)β=XTy

et voilàβ^=(XTX+λI)1XTy


@Jahn,您能解释一下变成吗?我想您刚刚在它上面应用了移调,对。但是,不能只对一个项应用转置而不对所有等式应用。我在这里想念什么?
yTXβ
βTXTy
戏剧家

1
@theateist转置标量是相同的标量。
康斯坦丁

2

给出的答案中缺少一些重要的东西。

  1. 的解决方案是从一阶必要条件得出的:得出。但这足够了吗?也就是说,仅当严格凸时,解决方案才是全局最小值。这可以证明是正确的。βfridge(β,λ)β=0β=(XTX+λI)1XTYfridge(β,λ)

  2. 解决问题的另一种方法是查看与限制为。OLS代表普通最小二乘。从这个角度来看,只是拉格朗日函数,用于查找受凸函数约束的凸目标函数的全局最小值。fridge(β,λ)fOLS(β)=(YβTX)T(YβTX)||β||22tfridge(β,λ)fOLS(β)||β||22

在这些精美的讲义中可以找到关于这些观点和派生的一个很好的解释:http : //math.bu.edu/people/cgineste/classes/ma575/p/w14_1.pdfβ

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.