Das Lasso-Problem hat die geschlossene Form Lösung: \ beta_j ^ {\ text {lasso}} = \ mathrm {sgn} (\ beta ^ {\ text {LS}} _ j) (| \ beta_j ^ {\ text {LS }} | - \ alpha) ^ +
wenn X orthonormale Spalten hat. Dies wurde in diesem Thread gezeigt: Herleitung einer Lasso-Lösung in geschlossener Form .
βlasso=argminβ∥y−Xβ∥22+α∥β∥1
βlassoj=sgn(βLSj)(|βLSj|−α)+
X
Ich verstehe jedoch nicht, warum es überhaupt keine geschlossene Lösung gibt. Unter Verwendung von Subdifferenzen erhielt ich das Folgende.
( X ist eine n×p Matrix)
f(β)=∥y−Xβ∥22+α∥β∥1
=∑i=1n(yi−Xiβ)2+α∑j=1p|βj|
( ist die i-te Reihe von )
XiX=∑i=1ny2i−2∑i=1nyiXiβ+∑i=1nβTXTiXiβ+α∑j=1p|βj|
⇒∂f∂βj=−2∑i=1nyiXij+2∑i=1nX2ijβj+∂∂βj(α|βj|)
=⎧⎩⎨⎪⎪−2∑ni=1yiXij+2∑ni=1X2ijβj+α for βj>0−2∑ni=1yiXij+2∑ni=1X2ijβj−α for βj<0[−2∑ni=1yiXij−α,−2∑ni=1yiXij+α] for βj=0
Mit wir
∂f∂βj=0
βj=⎧⎩⎨⎪⎪(2(∑ni=1yiXij)−α)/2∑ni=1X2ij(2(∑ni=1yiXij)+α)/2∑ni=1X2ij0for ∑ni=1yiXij>αfor ∑ni=1yiXij<−α for ∑ni=1yiXij∈[−α,α]
Weiß jemand, wo ich falsch liege?
Antworten:
Wenn wir das Problem in Matrizen schreiben, können wir sehr leicht erkennen, warum eine geschlossene Lösung nur im orthonormalen Fall mit XTX=I :
f(β)=∥y−Xβ∥22+α∥β∥1
=yTy−2βTXTy+βTXTXβ+α∥β∥1
⇒∇f(β)=−2XTy+2XTXβ+∇(α|β∥1)
(Ich habe hier jedoch viele Schritte auf einmal unternommen.) Bis zu diesem Punkt ist dies völlig analog zur Herleitung der Lösung der kleinsten Quadrate. Sie sollten also in der Lage sein, die fehlenden Schritte dort zu finden.)
⇒∂f∂βj=−2XTjy+2(XTX)jβ+∂∂βj(α|βj|)
Mit ∂f∂βj=0 wir
2(XTX)jβ=2XTjy−∂∂βj(α|βj|)
⇔2(XTX)jjβj=2XTjy−∂∂βj(α|βj|)−2∑i=1,i≠jp(XTX)jiβi
Wir können jetzt sehen, dass unsere Lösung für ein von allen anderen abhängt, und es ist daher nicht klar, wie wir von hier aus vorgehen sollen. Wenn orthonormal ist, haben wir so dass es in diesem Fall sicherlich eine geschlossene Form gibt.βjβi≠jX2(XTX)jβ=2(I)jβ=2βj
Vielen Dank an Guðmundur Einarsson für seine Antwort, auf die ich hier näher eingegangen bin. Ich hoffe diesmal ist es richtig :-)