O problema do laço possui a solução de formulário fechado: \ beta_j ^ {\ text {lasso}} = \ mathrm {sgn} (\ beta ^ {\ text {LS}} _j) (| \ beta_j ^ {\ text {LS }} | - \ alpha) ^ +
se X tiver colunas ortonormais. Isso foi mostrado neste tópico: Derivação da solução de laço de forma fechada .
βlasso=argminβ∥y−Xβ∥22+α∥β∥1
βlassoj=sgn(βLSj)(|βLSj|−α)+
X
No entanto, eu não entendo por que não existe uma solução de formulário fechado em geral. Usando subdiferenciais, obtive o seguinte.
( X é uma matriz n×p )
f(β)=∥y−Xβ∥22+α∥β∥1
=∑i=1n(yi−Xiβ)2+α∑j=1p|βj|
(
Xi é a i-ésima linha 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
Com
∂f∂βj=0 obtemos
βj=⎧⎩⎨⎪⎪(2(∑ni=1yiXij)−α)/2∑ni=1X2ij(2(∑ni=1yiXij)+α)/2∑ni=1X2ij0for ∑ni=1yiXij>αfor ∑ni=1yiXij<−α for ∑ni=1yiXij∈[−α,α]
Alguém vê onde eu errei?
Responda:
Se escrevermos o problema em termos de matrizes, podemos ver com muita facilidade por que uma solução de forma fechada só existe no caso ortonormal com XTX=I :
f(β)=∥y−Xβ∥22+α∥β∥1
=yTy−2βTXTy+βTXTXβ+α∥β∥1
⇒∇f(β)=−2XTy+2XTXβ+∇(α|β∥1)
(Eu tomei várias etapas ao mesmo tempo aqui. No entanto, até esse ponto, isso é completamente análogo à derivação da solução dos mínimos quadrados. Portanto, você deve encontrar as etapas ausentes lá.)
⇒∂f∂βj=−2XTjy+2(XTX)jβ+∂∂βj(α|βj|)
Com ∂f∂βj=0 obtemos
2(XTX)jβ=2XTjy−∂∂βj(α|βj|)
⇔2(XTX)jjβj=2XTjy−∂∂βj(α|βj|)−2∑i=1,i≠jp(XTX)jiβi
Agora podemos ver que nossa solução para um depende de todos os outros portanto não está claro como proceder a partir daqui. Se é ortonormal, temos portanto, certamente existe uma solução em forma fechada nesse caso.βjβi≠jX2(XTX)jβ=2(I)jβ=2βj
Agradeço a Guðmundur Einarsson por sua resposta, sobre a qual elaborei aqui. Espero que desta vez esteja correto :-)