Mengapa regresi ridge tidak menyusutkan beberapa koefisien menjadi nol seperti laso?


16

Saat menjelaskan regresi LASSO, diagram berlian dan lingkaran sering digunakan. Dikatakan bahwa karena bentuk kendala dalam LASSO adalah berlian, solusi kuadrat terkecil yang diperoleh mungkin menyentuh sudut berlian sedemikian rupa sehingga menyebabkan penyusutan beberapa variabel. Namun, dalam regresi ridge, karena itu adalah sebuah lingkaran, seringkali tidak akan menyentuh sumbu. Saya tidak bisa mengerti mengapa itu tidak bisa menyentuh sumbu atau mungkin memiliki probabilitas lebih rendah daripada LASSO untuk mengecilkan parameter tertentu. Selain itu, mengapa LASSO dan ridge memiliki varian yang lebih rendah daripada kuadrat terkecil biasa? Di atas adalah pemahaman saya tentang punggungan dan LASSO dan saya mungkin salah. Dapatkah seseorang membantu saya memahami mengapa kedua metode regresi ini memiliki varian yang lebih rendah?



1
Oke, bagian varians dalam huruf tebal bukan duplikat, setidaknya dari pertanyaan ini; jadi mungkin pertanyaan ini bisa diedit untuk fokus pada itu.
Juho Kokkala

Ini dijelaskan dengan baik pada gambar 3.11 dari web.stanford.edu/~hastie/local.ftp/Springer/OLD/…

@ fcop saya membaca buku tetapi saya tidak mengerti matematika
user10024395

Tetapi untuk memahami gambar Anda tidak perlu matematika?

Jawaban:


25

Ini tentang varians

OLS menyediakan apa yang disebut Penaksir Tidak Cocok Linier Terbaik (BIRU) . Itu berarti bahwa jika Anda mengambil penaksir tidak bias lainnya, itu pasti memiliki varians yang lebih tinggi daripada solusi OLS. Jadi mengapa kita harus mempertimbangkan hal lain selain itu?

Sekarang trik dengan regularisasi, seperti laso atau ridge, adalah dengan menambahkan beberapa bias pada gilirannya untuk mencoba mengurangi varians. Karena ketika Anda memperkirakan kesalahan prediksi Anda, itu adalah kombinasi dari tiga hal :

E[(y-f^(x))2]=Bias[f^(x))]2+Var[f^(x))]+σ2
Bagian terakhir adalah kesalahan yang tidak dapat direduksi, jadi kami tidak memiliki kendali atas hal itu. Menggunakan solusi OLS istilah biasnya adalah nol. Tapi mungkin istilah kedua itu besar. Mungkin ide yang bagus, ( jika kita ingin prediksi yang baik ), untuk menambahkan beberapa bias dan semoga mengurangi varians.

Jadi apa ini ? Ini adalah varian yang diperkenalkan dalam taksiran untuk parameter dalam model Anda. Model linier memiliki bentuk y = X β + ϵ ,Var[f^(x))] Untuk mendapatkan solusi OLS kami menyelesaikan masalah minimisasi arg min β | | y - X β | | 2 ini memberikan solusi β OLS = ( X T X ) - 1 X T y Masalah minimalisasi untuk regresi ridge mirip: arg min β | | y - X β | |

y=Xβ+ϵ,ϵN(0,σ2saya)
argminβ||y-Xβ||2
β^OLS=(XTX)-1XTy
Sekarang solusi menjadi β Ridge = ( X T X + λ I ) - 1 X T y Jadi kita menambahkan ini λ I (disebut punggung bukit) pada diagonal dari matriks yang kita invert. Efeknya pada matriks X T X adalah bahwa ia "menarik" penentu matriks dari nol. Jadi ketika Anda membalikkannya, Anda tidak mendapatkan nilai eigen yang besar. Tapi itu mengarah pada fakta menarik lainnya, yaitu bahwa varians dari estimasi parameter menjadi lebih rendah.
argminβ||y-Xβ||2+λ||β||2λ>0
β^Punggung bukit=(XTX+λsaya)-1XTy
λsayaXTX

Saya tidak yakin apakah saya bisa memberikan jawaban yang lebih jelas dari ini. Semua ini intinya adalah matriks kovarians untuk parameter dalam model dan besarnya nilai-nilai dalam matriks kovarians tersebut.

Saya mengambil regresi ridge sebagai contoh, karena itu jauh lebih mudah untuk diobati. Lasso jauh lebih sulit dan masih ada penelitian aktif yang sedang berlangsung tentang topik itu.

Slide ini memberikan beberapa informasi lebih lanjut dan blog ini juga memiliki beberapa informasi yang relevan.

EDIT: Apa maksud saya bahwa dengan menambahkan punggungan, penentu " ditarik " dari nol?

XTX

det(XTX-tsaya)=0
t
det(XTX+λsaya-tsaya)=0
det(XTX-(t-λ)saya)=0
(t-λ)tsayatsaya+λλ

Berikut ini beberapa kode R untuk menggambarkan hal ini:

# Create random matrix
A <- matrix(sample(10,9,T),nrow=3,ncol=3)

# Make a symmetric matrix
B <- A+t(A)

# Calculate eigenvalues
eigen(B)

# Calculate eigenvalues of B with ridge
eigen(B+3*diag(3))

Yang memberikan hasil:

> eigen(B)
$values
[1] 37.368634  6.952718 -8.321352

> eigen(B+3*diag(3))
$values
[1] 40.368634  9.952718 -5.321352

Jadi semua nilai eigen digeser ke atas dengan tepat 3.

Anda juga dapat membuktikan ini secara umum dengan menggunakan teorema lingkaran Gershgorin . Di sana pusat lingkaran yang berisi nilai eigen adalah elemen diagonal. Anda selalu dapat menambahkan "cukup" ke elemen diagonal untuk membuat semua lingkaran dalam setengah bidang nyata positif. Hasil itu lebih umum dan tidak diperlukan untuk ini.


Bisakah Anda menjelaskan bagaimana "menarik" determinan dari nol (secara matematis)? Terima kasih
user10024395

@ user2675516 Saya telah mengedit jawaban saya.
Gumeo

"Itu berarti bahwa jika Anda mengambil penaksir tidak bias lainnya, itu pasti memiliki varians yang lebih tinggi maka solusi OLS". Maksud Anda bias lebih tinggi dari OLS? Saya pikir OLS memiliki bias paling sedikit sehingga hal lain akan memiliki bias lebih tinggi.
Tolong

@ML_Pro OLS tidak memiliki bias, dan dari semua penaksir yang tidak memihak, ia memiliki varian terkecil. Ini adalah teorema . Jadi, jika Anda memilih yang lain, varians akan meningkat. Tetapi jika Anda mengatur, Anda memperkenalkan bias.
Gumeo

Terima kasih! Respons Anda membuat saya penasaran. Bisakah Anda menjawab pertanyaan baru yang saya buat ini? stats.stackexchange.com/questions/294926/…
GeorgeOfTheRF

2

Regresi Punggung

L2 = (y-xβ) ^ 2 + λββi ^ 2

Akan menyelesaikan persamaan ini hanya untuk satu β untuk saat ini dan yang terakhir Anda dapat menggeneralisasi ini:

Jadi, (y-xβ) ^ 2 + λβ ^ 2 ini adalah persamaan kami untuk satu β.

Tujuan kami adalah untuk meminimalkan persamaan di atas, untuk dapat melakukan ini, akan menyamakan ini menjadi nol dan mengambil turunan wrt β

Y ^ 2- 2xyβ + x ^ 2 β ^ 2 + λβ ^ 2 = 0 ------- Menggunakan (ab) ^ 2 ekspansi

Derivatif parsial wrt

-2xy + 2x ^ 2β + 2βλ = 0

2β (x ^ 2 + λ) = 2xy

β = 2xy / 2 (x ^ 2 + λ)

Akhirnya

β = xy / (x ^ 2 + λ)

Jika Anda mengamati penyebutnya, itu tidak akan pernah menjadi nol, karena kami menambahkan beberapa nilai λ (yaitu parameter hiper). Dan karena itu nilai β akan serendah mungkin tetapi tidak akan menjadi nol.

Regresi LASSO:

L1 = (y-xβ) ^ 2 + λ | | β |

Akan menyelesaikan persamaan ini hanya untuk satu β untuk saat ini dan yang terakhir Anda dapat menggeneralisasi ini menjadi lebih banyak β:

Jadi, (y-xβ) ^ 2 + λβ ini adalah persamaan kami untuk satu β, Di sini saya telah mempertimbangkan + ve nilai β.

Tujuan kami adalah untuk meminimalkan persamaan di atas, untuk dapat melakukan ini, akan menyamakan ini menjadi nol dan mengambil turunan wrt β

Y ^ 2- 2xyβ + x ^ 2 β ^ 2 + λβ = 0 ------- Menggunakan (ab) ^ 2 ekspansi

Derivatif parsial wrt

-2xy + 2x ^ 2β + λ = 0

2x ^ 2β + λ = 2xy

2x ^ 2β = 2xy-λ

Akhirnya

β = (2xy-λ) / (2X ^ 2)

Jika Anda mengamati pembilang, itu akan menjadi nol, karena kita mengurangi beberapa nilai λ (yaitu parameter hiper). Dan karenanya nilai β akan ditetapkan sebagai nol.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.