Bagaimana jembatan regresi dan jaring elastis berbeda adalah pertanyaan yang menarik, mengingat hukuman yang tampak sama. Inilah satu pendekatan yang mungkin. Misalkan kita menyelesaikan masalah regresi jembatan. Kami kemudian dapat bertanya bagaimana solusi jaring elastis akan berbeda. Melihat gradien dari dua fungsi kerugian dapat memberi tahu kita sesuatu tentang ini.
Regresi jembatan
Say adalah matriks yang berisi nilai-nilai variabel independen ( dimensi poin x ), adalah vektor yang berisi nilai-nilai variabel dependen, dan adalah vektor bobot.n d y wXndyw
Fungsi kerugian menghukum norma dari bobot, dengan magnitude :λ bℓqλb
L.b( w ) = ∥ y- Xw ∥22+ λb∥ w ∥qq
Gradien dari fungsi kerugian adalah:
∇wL.b( w ) = - 2 XT( y- Xw ) + λbq| w |∘ ( q- 1 )sgn ( w )
i v c i sgn ( w ) w qv∘ c menunjukkan kekuatan Hadamard (yaitu elemen-bijaksana), yang memberikan vektor dengan elemen ke- adalah . adalah fungsi tanda (diterapkan pada setiap elemen ). Gradien mungkin tidak terdefinisi pada nol untuk beberapa nilai .sayavcsayasgn ( w )wq
Jaring elastis
Fungsi kerugian adalah:
L.e( w ) = ∥ y- Xw ∥22+ λ1∥ w ∥1+ λ2∥ w ∥22
Ini menghukum norma bobot dengan magnitude dan norma dengan magnitude . Kertas jaring elastis panggilan meminimalkan fungsi kerugian ini 'jaring elastis naif' karena dua kali lipat bobot. Mereka menggambarkan prosedur yang ditingkatkan di mana bobot kemudian diubah untuk mengkompensasi penyusutan ganda, tapi saya hanya akan menganalisis versi naif. Itu peringatan yang harus diingat.λ 1 ℓ 2 λ 2ℓ1λ1ℓ2λ2
Gradien dari fungsi kerugian adalah:
∇wL.e( w ) = - 2 XT( y- Xw ) + λ1sgn ( w ) + 2 λ2w
Gradien tidak terdefinisi pada nol ketika karena nilai absolut dalam penalti tidak dapat dibedakan di sana.ℓ 1λ1> 0ℓ1
Pendekatan
Katakanlah kita memilih bobot yang memecahkan masalah regresi jembatan. Ini berarti gradien regresi jembatan adalah nol pada titik ini:w∗
∇wL.b( b∗) = - 2 XT( y- Xw∗) + λbq| w∗|∘ ( q- 1 )sgn ( w∗) = 0⃗
Karena itu:
2 XT( y- Xw∗) = λbq| w∗|∘ ( q- 1 )sgn ( w∗)
Kita dapat mensubstitusi ini ke dalam gradien jaring elastis, untuk mendapatkan ekspresi dari gradien jaring elastis di . Untungnya, itu tidak lagi tergantung langsung pada data:w∗
∇wL.e( b∗) = λ1sgn ( w∗) + 2 λ2w∗- λbq| w∗|∘ ( q- 1 )sgn ( w∗)
Melihat gradien jaring elastis di memberitahu kita: Mengingat bahwa regresi jembatan telah menyatu dengan bobot , bagaimana jaring elastis ingin mengubah bobot ini?w ∗w∗w∗
Ini memberi kita arah lokal dan besarnya perubahan yang diinginkan, karena titik-titik gradien dalam arah pendakian paling curam dan fungsi kerugian akan berkurang ketika kita bergerak ke arah yang berlawanan dengan gradien. Gradien mungkin tidak mengarah langsung ke solusi jaring elastis. Tetapi, karena fungsi rugi bersih elastis adalah cembung, arah / besaran lokal memberikan beberapa informasi tentang bagaimana solusi jaring elastis akan berbeda dari solusi regresi jembatan.
Kasus 1: Cek kesehatan
( ). Regresi jembatan dalam kasus ini setara dengan kuadrat terkecil biasa (OLS), karena besarnya penalti adalah nol. Jaring elastis adalah regresi ridge yang setara, karena hanya norma yang dihukum. Plot berikut menunjukkan solusi regresi jembatan yang berbeda dan bagaimana gradien jaring elastis berperilaku untuk masing-masing.ℓ 2λb= 0 , λ1= 0 , λ2= 1ℓ2
Plot kiri: Gradien jaring elastis vs bobot regresi jembatan di sepanjang setiap dimensi
Sumbu x mewakili satu komponen dari serangkaian bobot dipilih oleh regresi jembatan. Sumbu y mewakili komponen yang sesuai dari gradien jaring elastis, dievaluasi pada . Perhatikan bahwa bobotnya multidimensi, tetapi kami hanya melihat bobot / gradien sepanjang dimensi tunggal.w ∗w∗w∗
Plot kanan: Perubahan jaring elastis untuk menjembatani bobot regresi (2d)
Setiap titik mewakili satu set bobot 2d dipilih oleh regresi jembatan. Untuk setiap pilihan , sebuah vektor diplot menunjuk ke arah yang berlawanan dengan gradien jaring elastis, dengan besarnya sebanding dengan gradien. Yaitu, vektor yang diplot menunjukkan bagaimana jaring elastis ingin mengubah solusi regresi jembatan.w ∗w∗w∗
Plot ini menunjukkan bahwa, dibandingkan dengan regresi jembatan (OLS dalam kasus ini), jaring elastis (regresi ridge dalam kasus ini) ingin mengecilkan bobot ke nol. Jumlah penyusutan yang diinginkan meningkat dengan besarnya bobot. Jika bobotnya nol, solusinya sama. Interpretasinya adalah kita ingin bergerak ke arah yang berlawanan dengan gradien untuk mengurangi fungsi kerugian. Misalnya, katakanlah regresi jembatan konvergen ke nilai positif untuk salah satu bobot. Gradien jaring elastis positif pada titik ini, sehingga jaring elastis ingin menurunkan berat ini. Jika menggunakan gradient descent, kami akan mengambil langkah-langkah proporsional dalam ukuran ke gradien (tentu saja, kami tidak bisa secara teknis menggunakan gradient descent untuk menyelesaikan jaring elastis karena non-diferensiabilitas pada nol,
Kasus 2: Jembatan pencocokan & jaring elastis
( ). Saya memilih parameter penalti jembatan untuk mencocokkan contoh dari pertanyaan. Saya memilih parameter jaring elastis untuk memberikan penalti jaring elastis terbaik. Di sini, sarana yang paling cocok, dengan distribusi bobot tertentu, kami menemukan parameter penalti jaring elastis yang meminimalkan perbedaan kuadrat yang diharapkan antara jembatan dan penalti jaring elastis:q=1.4,λb=1,λ1=0.629,λ2=0.355
minλ1,λ2E[(λ1∥w∥1+λ2∥w∥22−λb∥w∥qq)2]
Di sini, saya mempertimbangkan bobot dengan semua entri yang diambil dari distribusi seragam pada (yaitu di dalam hypercube yang berpusat di titik asal). Parameter jaring elastis pencocokan terbaik adalah serupa untuk 2 hingga 1000 dimensi. Meskipun mereka tampaknya tidak peka terhadap dimensi, parameter yang paling cocok tergantung pada skala distribusi.[−2,2]
Permukaan hukuman
Berikut adalah plot kontur dari total penalti yang dikenakan oleh regresi jembatan ( ) dan jaring elastis yang paling cocok ( ) sebagai fungsi dari bobot (untuk kasus 2d ):q=1.4,λb=100λ1=0.629,λ2=0.355
Perilaku gradien
Kita bisa melihat yang berikut ini:
- Biarkan menjadi bobot regresi jembatan yang dipilih sepanjang dimensi .w∗jj
- Jika , jaring elastis ingin mengecilkan bobot ke nol.|w∗j|<0.25
- Jika , regresi jembatan dan solusi jaring elastis adalah sama. Tapi, jaring elastis ingin menjauh jika beratnya sedikit berbeda.|w∗j|≈0.25
- Jika , jaring elastis ingin menambah bobot.0.25<|w∗j|<1.31
- Jika , regresi jembatan dan solusi jaring elastis adalah sama. Jaring elastis ingin bergerak menuju titik ini dari bobot terdekat.|w∗j|≈1.31
- Jika , jaring elastis ingin mengecilkan berat.|w∗j|>1.31
Hasilnya serupa secara kualitatif jika kita mengubah nilai dan / atau dan menemukan yang terbaik . Titik-titik di mana solusi jembatan dan jaring elastis bertepatan sedikit berubah, tetapi perilaku gradien sebaliknya sama.qλbλ1,λ2
Kasus 3: Jembatan yang tidak cocok & jaring elastis
λ 1 , λ 2 ℓ 1 ℓ 2(q=1.8,λb=1,λ1=0.765,λ2=0.225) . Dalam rezim ini, regresi jembatan berperilaku mirip dengan regresi ridge. Saya menemukan paling cocok , tetapi kemudian menukarnya sehingga jaring elastis berperilaku lebih seperti laso ( penalti lebih besar dari penalti ).λ1,λ2ℓ1ℓ2
Relatif untuk menjembatani regresi, jaring elastis ingin mengecilkan bobot kecil menuju nol dan menambah bobot lebih besar. Ada satu set bobot di setiap kuadran di mana regresi jembatan dan solusi jaring elastis bertepatan, tetapi jaring elastis ingin menjauh dari titik ini jika bobotnya bahkan sedikit berbeda.
ℓ 1 q > 1 λ 1 , λ 2 ℓ 2 ℓ 1(q=1.2,λb=1,λ1=173,λ2=0.816) . Dalam rezim ini, penalti jembatan lebih mirip dengan penalti (meskipun regresi jembatan mungkin tidak menghasilkan solusi jarang dengan , seperti yang disebutkan dalam kertas bersih elastis). Saya menemukan , tetapi kemudian menukarnya sehingga jaring elastis berperilaku lebih seperti regresi ridge ( penalti lebih besar dari penalti ).ℓ1q>1λ1,λ2ℓ2ℓ1
Relatif untuk menjembatani regresi, jaring elastis ingin menumbuhkan bobot kecil dan mengecilkan bobot lebih besar. Ada titik di setiap kuadran di mana solusi jembatan regresi dan jaring elastis bertepatan, dan jaring elastis ingin bergerak menuju bobot ini dari titik-titik tetangga.