为什么我得出的封闭套索解决方案不正确?


28

套索问题具有封闭形式的解决方案:\ beta_j ^ {\ text {lasso}} = \ mathrm {sgn}(\ beta ^ {\ text {LS}} _ j)(| \ beta_j ^ {\ text {LS }} |-\\ alpha)^ +( 如果X具有正交列)。这在以下线程中得到了证明:封闭形式套索解决方案的派生β 套索 Ĵ = 小号Ñβ LS Ĵ| β LS Ĵ | - α + X

βlasso=argminβyXβ22+αβ1
βjlasso=sgn(βjLS)(|βjLS|α)+
X

但是,我不明白为什么通常没有封闭式解决方案。使用次微分,我得到了以下内容。

Xn×p矩阵)

= Ñ Σ= 1ÿ - X β 2 + α p Σ Ĵ = 1 |

f(β)=yXβ22+αβ1
=i=1n(yiXiβ)2+αj=1p|βj|
XiX的第i行X∂&˚F
=i=1nyi22i=1nyiXiβ+i=1nβTXiTXiβ+αj=1p|βj|
={ - 2 Σ Ñ = 1 Ÿ X Ĵ + 2 Σ Ñ = 1 X 2 Ĵ β Ĵ + α  为  β Ĵ > 0 - 2 Σ Ñ = 1 Ÿ X Ĵ + 2 Σ ñ
fβj=2i=1nyiXij+2i=1nXij2βj+βj(α|βj|)
={2i=1nyiXij+2i=1nXij2βj+α for βj>02i=1nyiXij+2i=1nXij2βjα for βj<0[2i=1nyiXijα,2i=1nyiXij+α] for βj=0
使用fβj=0我们得到

βj={(2(i=1nyiXij)α)/2i=1nXij2for i=1nyiXij>α(2(i=1nyiXij)+α)/2i=1nXij2for i=1nyiXij<α0 for i=1nyiXij[α,α]

有人看到我做错了吗?

回答:

如果我们以矩阵的形式写问题,我们可以很容易地理解为什么封闭形式的解仅存在于X ^ TX = I的正交情况下XTX=I

f(β)=yXβ22+αβ1
=yTy2βTXTy+βTXTXβ+αβ1
f(β)=2XTy+2XTXβ+(α|β1)
(我在这里一次采取了很多步骤。但是,到现在为止,这完全类似于最小二乘解的推导。因此,您应该能够找到那里缺少的步骤。)
fβj=2XjTy+2(XTX)jβ+βj(α|βj|)

随着fβj=0我们得到

2(XTX)jβ=2XjTyβj(α|βj|)
2(XTX)jjβj=2XjTyβj(α|βj|)2i=1,ijp(XTX)jiβi

现在我们可以看到,针对一个解决方案取决于所有其他因此尚不清楚如何从此处继续。如果是正交的,我们有因此在这种情况下肯定存在封闭形式的解决方案。βjβ一世ĴX2XŤXĴβ=2一世Ĵβ=2βĴ

感谢GuðmundurEinarsson的回答,我在这里详细阐述。我希望这次是正确的:-)


3
欢迎来到CrossValidated,并祝贺您发表了非常好的第一篇文章!
S. Kolassa-恢复莫妮卡2015年

Answers:


16

通常使用最小角度回归完成此操作,您可以在此处找到论文

抱歉,一开始我会感到困惑,我将对此进行另一尝试。

因此,在扩展函数您将获得Fβ

Fβ=一世=1个ñÿ一世2-2一世=1个ñÿ一世X一世β+一世=1个ñβŤX一世ŤX一世β+αĴ=1个p|βĴ|

然后,您针对计算偏导数。我担心的是您对1范数之前的最后一项的偏导数(即二次项)的计算。让我们进一步研究它。我们有:βĴ

X一世β=βŤX一世Ť=β1个X一世1个+β2X一世2++βpX一世p
因此,您基本上可以将二次项重写为: 现在,我们可以使用链式规则来计算此wrt的导数:
一世=1个ñβŤX一世ŤX一世β=一世=1个ñX一世β2
βĴ
βĴ一世=1个ñX一世β2=一世=1个ñβĴX一世β2=一世=1个ñ2X一世βX一世Ĵ

因此,现在您的问题不再那么容易简化,因为每个方程式中都存在所有系数。β

这不能回答您的问题,为什么Lasso没有封闭形式的解决方案,我可能会在后面补充说明。


1
非常感谢。现在,我实际上可以看到为什么没有封闭式解决方案(请参阅我的编辑)。
诺伯特2015年

甜!伟大的工作:)
Gumeo 2015年
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.