Le problème du lasso a la solution de forme fermée: \ beta_j ^ {\ text {lasso}} = \ mathrm {sgn} (\ beta ^ {\ text {LS}} _ j) (| \ beta_j ^ {\ text {LS }} | - \ alpha) ^ +
si X a des colonnes orthonormées. Cela a été montré dans ce fil: Dérivation de la solution de lasso de forme fermée .
βlasso=argminβ∥y−Xβ∥22+α∥β∥1
βlassoj=sgn(βLSj)(|βLSj|−α)+
X
Cependant, je ne comprends pas pourquoi il n'y a pas de solution sous forme fermée en général. En utilisant des sous-différentiels, j'ai obtenu ce qui suit.
( X est une matrice n×p )
f(β)=∥y−Xβ∥22+α∥β∥1
=∑i=1n(yi−Xiβ)2+α∑j=1p|βj|
(
Xi est la i-ème ligne de
X )
=∑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
Avec
∂f∂βj=0 nous obtenons
βj=⎧⎩⎨⎪⎪(2(∑ni=1yiXij)−α)/2∑ni=1X2ij(2(∑ni=1yiXij)+α)/2∑ni=1X2ij0for ∑ni=1yiXij>αfor ∑ni=1yiXij<−α for ∑ni=1yiXij∈[−α,α]
Est-ce que quelqu'un voit où je me suis trompé?
Répondre:
Si nous écrivons le problème en termes de matrices, nous pouvons voir très facilement pourquoi une solution de forme fermée n'existe que dans le cas orthonormé avec XTX=I :
f(β)=∥y−Xβ∥22+α∥β∥1
=yTy−2βTXTy+βTXTXβ+α∥β∥1
⇒∇f(β)=−2XTy+2XTXβ+∇(α|β∥1)
(J'ai pris plusieurs mesures à la fois ici. Cependant, jusqu'à présent, ceci est complètement analogue à la dérivation de la solution des moindres carrés. Vous devriez donc pouvoir y trouver les étapes manquantes.)
⇒∂f∂βj=−2XTjy+2(XTX)jβ+∂∂βj(α|βj|)
Avec ∂f∂βj=0 nous obtenons
2(XTX)jβ=2XTjy−∂∂βj(α|βj|)
⇔2(XTX)jjβj=2XTjy−∂∂βj(α|βj|)−2∑i=1,i≠jp(XTX)jiβi
Nous pouvons voir maintenant que notre solution pour l'un dépend de tous les autres donc il n'est pas clair comment procéder à partir d'ici. Si est orthonormé, nous avons donc il existe certainement une solution de forme fermée dans ce cas.βjβi≠jX2(XTX)jβ=2(I)jβ=2βj
Merci à Guðmundur Einarsson pour sa réponse, sur laquelle j'ai développé ici. J'espère que cette fois c'est correct :-)