Mengapa glmnet menggunakan jaring elastis “naif” dari kertas asli Zou & Hastie?

27

Kertas jaring elastis asli Zou & Hastie (2005) Regularisasi dan pemilihan variabel melalui jaring elastis memperkenalkan fungsi kerugian bersih elastis untuk regresi linier (di sini saya berasumsi semua variabel berpusat dan diskalakan ke varian unit): tetapi menyebutnya "jaring elastis naif". Mereka berpendapat bahwa itu melakukan penyusutan ganda (laso dan punggungan), cenderung menyusut berlebihan, dan dapat ditingkatkan dengan mengubah skala solusi yang dihasilkan sebagai berikut: \ hat \ beta ^ * = (1+ \ lambda_2) \ hat \ beta. Mereka memberikan beberapa argumen teoretis dan bukti eksperimental bahwa ini mengarah pada kinerja yang lebih baik.

L=1nyXβ2+λ1β1+λ2β22,
β^=(1+λ2)β^.

Namun, glmnetmakalah selanjutnya Friedman, Hastie, & Tibshirani (2010) Jalur pengaturan untuk model linier umum melalui keturunan koordinat tidak menggunakan penyelamatan ini dan hanya memiliki catatan kaki singkat yang mengatakan

Zou dan Hastie (2005) menyebut penalti ini sebagai jaring elastis naif , dan lebih suka versi yang dinaikkan ulang yang mereka sebut jaring elastis. Kami menghilangkan perbedaan ini di sini.

Tidak ada penjelasan lebih lanjut yang diberikan di sana (atau dalam buku teks Hastie et al.) Saya merasa agak membingungkan. Apakah penulis meninggalkan penyingkiran karena mereka menganggapnya terlalu ad hoc ? karena kinerjanya lebih buruk dalam beberapa percobaan lebih lanjut? karena tidak jelas bagaimana cara menggeneralisasikannya ke kasus GLM? Saya tidak punya ide. Tapi bagaimanapun glmnetpaket itu menjadi sangat populer sejak saat itu dan kesan saya adalah bahwa saat ini tidak ada yang menggunakan penyalinan ulang dari Zou & Hastie, dan kebanyakan orang mungkin bahkan tidak menyadari tentang kemungkinan ini.

Pertanyaan: lagipula, apakah ini menaikan ide yang baik atau ide yang buruk?

Dengan glmnetparametrization, Zou & Hastie rescaling harus

β^=(1+λ(1α))β^.
amuba kata Reinstate Monica
sumber
1
Karena dalam makalah ini, tujuannya adalah untuk menyesuaikan seluruh jalur regularisasi, mungkin idenya adalah bahwa rescaling hanya akan menjadi transformasi jalur monoton?
Matthew Drury
1
@MatthewDrury Itu benar tetapi tetap jika Friedman et al. percaya bahwa menyelamatkan adalah ide yang baik, mereka tidak akan meninggalkannya dari kertas dan khususnya di luar glmnetkode. Ini tidak tersedia di sana bahkan sebagai fitur opsional (kode mereka sebelumnya yang menyertai makalah 2005 tentu saja mendukung penyelamatan).
Amoeba berkata Reinstate Monica
4
Sayangnya, kode glmnet publik benar-benar tidak dapat dibaca ...
Matthew Drury

Jawaban:

25

Saya mengirim email pertanyaan ini ke Zou dan ke Hastie dan mendapat balasan berikut dari Hastie (saya harap dia tidak keberatan saya mengutipnya di sini):

Saya pikir dalam Zou et al, kami khawatir tentang bias tambahan, tetapi tentu saja penskalaan meningkatkan varians. Jadi itu hanya menggeser satu sepanjang kurva tradeoff varians-varians. Kami akan segera memasukkan versi laso santai yang merupakan bentuk penyelamatan yang lebih baik.

Saya menafsirkan kata-kata ini sebagai dukungan dari beberapa bentuk "penyelamatan" dari solusi jaring elastis vanili, tetapi Hastie tampaknya tidak lagi berdiri dengan pendekatan khusus yang diajukan dalam Zou & Hastie 2005.


Berikut ini saya akan meninjau dan membandingkan beberapa opsi penskalaan secara singkat.

Saya akan menggunakan glmnetparametrization dari kerugian dengan solusinya dilambangkan sebagai .

L=12nyβ0Xβ2+λ(αβ1+(1α)β22/2),
β^
  1. Pendekatan Zou & Hastie adalah dengan menggunakanPerhatikan bahwa ini menghasilkan beberapa penggantian non-trivial untuk ridge murni ketika yang bisa dibilang tidak masuk akal. Di sisi lain, ini menghasilkan tidak ada penyetelan ulang untuk laso murni ketika , meskipun berbagai klaim dalam literatur bahwa estimator laso bisa mendapatkan keuntungan dari beberapa penyelamatan (lihat di bawah).

    β^rescaled=(1+λ(1α))β^.
    α=0α=1
  2. Untuk laso murni, Tibshirani menyarankan untuk menggunakan lasso-OLS hybrid, yaitu menggunakan estimator OLS menggunakan subset prediktor yang dipilih oleh laso. Ini membuat estimator konsisten (tetapi membatalkan penyusutan, yang dapat meningkatkan kesalahan yang diharapkan). Seseorang dapat menggunakan pendekatan yang sama untuk jaring elastis tetapi potensi masalahnya adalah jaring elastis dapat memilih lebih dari prediktor dan OLS akan rusak (sebaliknya, laso murni tidak pernah memilih lebih dari prediktor).

    β^elastic-OLS-hybrid=OLS(Xiβ^i0)
    nn
  3. Laso santai yang disebutkan dalam email Hastie yang dikutip di atas adalah saran untuk menjalankan laso lain pada subset prediktor yang dipilih oleh laso pertama. Idenya adalah untuk menggunakan dua hukuman yang berbeda dan untuk memilih keduanya melalui validasi silang. Orang bisa menerapkan ide yang sama ke jaring elastis, tetapi ini tampaknya membutuhkan empat parameter regularisasi berbeda dan menyetelnya adalah mimpi buruk.

    Saya menyarankan skema jaring elastis santai yang lebih sederhana : setelah mendapatkan , lakukan regresi ridge dengan dan yang sama pada subset prediktor yang dipilih:Ini (a) tidak memerlukan parameter regularisasi tambahan, (b) bekerja untuk sejumlah prediktor yang dipilih, dan (c) tidak melakukan apa pun jika seseorang memulai dengan punggungan murni. Terdengar bagus untukku.β^α=0λ

    β^relaxed-elastic-net=Ridge(Xiβ^i0).

Saat ini saya bekerja dengan kecil dataset dengan dan , di mana baik diprediksi oleh PC terkemuka beberapa . Saya akan membandingkan kinerja estimator di atas menggunakan 100x pengulangan validasi silang 11 kali lipat. Sebagai metrik kinerja, saya menggunakan kesalahan pengujian, dinormalisasi untuk menghasilkan sesuatu seperti R-squared:Pada gambar di bawah ini, garis putus-putus sesuai dengan estimator net vanilla elastis dan tiga subplot sesuai dengan tiga pendekatan penskalaan:npn=44p=3000yX

Rtest2=1ytestβ^0Xtestβ^2ytestβ^02.
β^

masukkan deskripsi gambar di sini

Jadi, setidaknya dalam data ini, ketiga pendekatan mengungguli penaksir jaring elastis vanili, dan "jaring elastis santai" melakukan yang terbaik.

amuba kata Reinstate Monica
sumber