βlasso=argminβ∥y−Xβ∥22+α∥β∥1
βlassoj=sgn(βLSj)(|βLSj|−α)+
X
Tuttavia non capisco perché non esiste una soluzione a forma chiusa in generale. Usando le sottodifferenziali ho ottenuto quanto segue.
( X è una matrice n×p )
f(β)=∥y−Xβ∥22+α∥β∥1
=∑i=1n(yi−Xiβ)2+α∑j=1p|βj|
(
Xi è la riga I di
X )
⇒ ∂ f=∑i=1ny2i−2∑i=1nyiXiβ+∑i=1nβTXTiXiβ+α∑j=1p|βj|
⇒ ∂f∂βj= - 2 ∑i = 1nyioXio j+ 2 ∑i = 1nX2io jβ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
Con
∂f∂βj=0 otteniamo
βj=⎧⎩⎨⎪⎪(2(∑ni=1yiXij)−α)/2∑ni=1X2ij(2(∑ni=1yiXij)+α)/2∑ni=1X2ij0for ∑ni=1yiXij>αfor ∑ni=1yiXij<−α for ∑ni=1yiXij∈[−α,α]
Qualcuno vede dove ho sbagliato?
Risposta:
Se scriviamo il problema in termini di matrici, possiamo vedere facilmente perché una soluzione in forma chiusa esiste solo nel caso ortonormale con XTX=I :
f(β)=∥y−Xβ∥22+α∥β∥1
=yTy−2βTXTy+βTXTXβ+α∥β∥1
⇒∇f(β)=−2XTy+2XTXβ+∇(α|β∥1)
(Ho fatto molti passi contemporaneamente qui. Tuttavia, fino a questo punto questo è completamente analogo alla derivazione della soluzione dei minimi quadrati, quindi dovresti essere in grado di trovare i passaggi mancanti lì.)
⇒∂f∂βj=−2XTjy+2(XTX)jβ+∂∂βj(α|βj|)
Con ∂f∂βj=0 otteniamo
2(XTX)jβ=2XTjy−∂∂βj(α|βj|)
⇔2(XTX)jjβj=2XTjy−∂∂βj(α|βj|)−2∑i=1,i≠jp(XTX)jiβi
Ora possiamo vedere che la nostra soluzione per uno dipende da tutti gli altri quindi non è chiaro come procedere da qui. Se è ortonormale abbiamo quindi esiste sicuramente una soluzione a forma chiusa in questo caso.βjβi≠jX2(XTX)jβ=2(I)jβ=2βj
Grazie a Guðmundur Einarsson per la sua risposta, su cui ho elaborato qui. Spero che questa volta sia corretto :-)