Perhatikan itu
∥y−Xβ∥22+λ∥β∥1=∥y−β1x1−β2x2∥22+λ(|β1|+|β2|)=∥y−(β1+2β2)x1∥22+λ(|β1|+|β2|).
Untuk nilai tetap dari koefisien , penaltidiminimalkan ketika . Hal ini karena hukuman pada adalah dua kali sebagai tertimbang! Untuk memasukkan ini ke dalam notasi,memenuhi untuk setiap . Oleh karena itu, estimator laso
β1+2β2|β1|+|β2|β1=0β1
β~=argminβ:β1+2β2=K|β1|+|β2|
β~1=0Kβ^=argminβ∈Rp∥y−Xβ∥22+λ∥β∥1=argminβ∈Rp∥y−(β1+2β2)x1∥22+λ(|β1|+|β2|)=argβminK∈Rminβ∈Rp:β1+2β2=K∥y−Kx1∥22+λ(|β1|+|β2|)=argβminK∈R{∥y−Kx1∥22+λminβ∈Rp:β1+2β2=K{(|β1|+|β2|)}}
memuaskan . Alasan mengapa komentar untuk pertanyaan OP menyesatkan adalah karena ada penalti pada model: mereka
β^1=0(0,50)dan koefisien memberikan kesalahan yang sama, tetapi norma berbeda ! Lebih jauh, tidak perlu melihat sesuatu seperti LAR: hasil ini segera mengikuti dari prinsip pertama.
(100,0)ℓ1
Seperti yang ditunjukkan oleh Firebug, alasan mengapa simulasi Anda menunjukkan hasil yang kontradiktif adalah bahwa glmnet
secara otomatis skala untuk menyamakan varian fitur. Artinya, karena penggunaan glmnet
, kami efektif dalam hal . Di sana, penaksir tidak lagi unik: dan keduanya dalam arg min. Memang, ada di untuk sehingga .x1=x2(100,0)(0,100)(a,b)argmina,b≥0a+b=100
Dalam hal ini fitur yang sama, glmnet
akan konvergen persis dalam satu iterasi: itu soft-threshold koefisien pertama, dan kemudian koefisien kedua soft-threshold menjadi nol.
Ini menjelaskan mengapa simulasi ditemukan khususnya . Memang, koefisien kedua akan selalu nol, terlepas dari urutan fitur-fiturnya.β^2=0
Bukti: Asumsikan WLOG bahwa fitur memenuhi . Keturunan koordinat (algoritma yang digunakan oleh ) menghitung untuk iterasi pertama: diikuti oleh
mana . Kemudian, karenax∈Rn∥x∥2=1glmnet
β^(1)1=Sλ(xTy)
β^(1)2=Sλ[xT(y−xSλ(xTy))]=Sλ[xTy−xTx(xTy+T)]=Sλ[−T]=0,
T=⎧⎩⎨−λλ0 if xTy>λ if xTy<−λ otherwiseβ^(1)2=0, iterasi kedua penurunan koordinat akan mengulangi perhitungan di atas. Secara induktif, kita melihat bahwa untuk semua iterasi dan . Karena itu akan melaporkan dan karena kriteria penghentian segera tercapai.
β^(i)j=β^(i)jij∈{1,2}glmnet
β^1=β^(1)1β^2=β^(1)2