Metode pengaturan untuk regresi logistik

42

Regularisasi menggunakan metode seperti Ridge, Lasso, ElasticNet cukup umum untuk regresi linier. Saya ingin tahu yang berikut: Apakah metode ini berlaku untuk regresi logistik? Jika demikian, apakah ada perbedaan dalam cara mereka perlu digunakan untuk regresi logistik? Jika metode ini tidak dapat diterapkan, bagaimana seseorang mengatur regresi logistik?

TAK
sumber
Apakah Anda melihat kumpulan data tertentu, dan dengan demikian perlu mempertimbangkan membuat data yang dapat ditelusuri untuk perhitungan, misalnya memilih, menskalakan dan mengimbangi data sehingga perhitungan awal cenderung berhasil. Atau apakah ini tampilan yang lebih umum tentang bagaimana dan mengapa (tanpa data spesifik ditetapkan untuk menghitung terhadap0?
Philip Oakley
1
Ini adalah pandangan yang lebih umum tentang bagaimana dan mengapa regularisasi. Teks pengantar untuk metode regularisasi (ridge, Lasso, Elasticnet dll) yang saya temui secara spesifik disebutkan contoh regresi linier. Tidak ada satu pun yang menyebutkan logistik secara spesifik, maka pertanyaannya.
TAK
1
Regresi Logistik adalah bentuk GLM menggunakan fungsi tautan non-identitas, hampir semuanya berlaku.
Firebug
1
Apakah Anda menemukan video Andrew Ng tentang topik itu?
Antoni Parellada
Ridge, laso dan regresi jaring elastis adalah opsi yang populer, tetapi mereka bukan satu-satunya pilihan regularisasi. Misalnya, menghaluskan matriks menghukum fungsi dengan turunan kedua yang besar, sehingga parameter regularisasi memungkinkan Anda untuk "memanggil" regresi yang merupakan kompromi yang bagus antara data yang terlalu banyak dan kurang pas. Seperti halnya regresi ridge / laso / elastic net, ini juga dapat digunakan dengan regresi logistik.
Pasang kembali Monica

Jawaban:

49

Ya, Regularisasi dapat digunakan dalam semua metode linier, termasuk regresi dan klasifikasi. Saya ingin menunjukkan kepada Anda bahwa tidak ada terlalu banyak perbedaan antara regresi dan klasifikasi: satu-satunya perbedaan adalah fungsi kerugian.

Secara khusus, ada tiga komponen utama dari metode linier, Fungsi Rugi, Regularisasi, Algoritma . Di mana fungsi kerugian ditambah regularisasi adalah fungsi objektif dalam masalah dalam bentuk optimasi dan algoritma adalah cara untuk menyelesaikannya (fungsi objektif adalah cembung, kita tidak akan membahas dalam posting ini).

Dalam pengaturan fungsi kerugian, kita dapat memiliki kerugian yang berbeda dalam kasus regresi dan klasifikasi. Misalnya, kuadrat terkecil dan kehilangan deviasi absolut terkecil dapat digunakan untuk regresi. Dan representasi matematika mereka adalah dan. (Fungsi didefinisikan pada dua skalar, adalah nilai kebenaran dasar dan adalah nilai prediksi.)L(y^,y)=(y^y)2L(y^,y)=|y^y|L()yy^

Di sisi lain, kehilangan logistik dan kehilangan engsel dapat digunakan untuk klasifikasi. Representasi matematika mereka adalah dan . (Di sini, adalah label kebenaran dasar dalam dan diprediksi "skor". Definisi sedikit tidak biasa, silakan lihat bagian komentar.)L(y^,y)=log(1+exp(y^y))L(y^,y)=(1y^y)+y{1,1}y^y^

Dalam pengaturan regularisasi, Anda menyebutkan tentang regularisasi L1 dan L2, ada juga bentuk lain, yang tidak akan dibahas dalam posting ini.

Oleh karena itu, pada level tinggi metode linear adalah

minimizew   x,yL(wx,y)+λh(w)

Jika Anda mengganti fungsi Kehilangan dari pengaturan regresi ke kehilangan logistik, Anda mendapatkan regresi logistik dengan regularisasi.

Misalnya, dalam regresi ridge, masalah optimasinya adalah

minimizew   x,y(wxy)2+λww

Jika Anda mengganti fungsi kerugian dengan kehilangan logistik, masalahnya menjadi

minimizew   x,ylog(1+exp(wxy))+λww

Di sini Anda memiliki regresi logistik dengan regularisasi L2.


Begini tampilannya dalam kumpulan data biner mainan yang disintesis. Gambar kiri adalah data dengan model linier (batas keputusan). Angka yang tepat adalah kontur fungsi tujuan (sumbu x dan y mewakili nilai untuk 2 parameter.). Set data dihasilkan dari dua Gaussian, dan kami menyesuaikan model regresi logistik tanpa intersep, sehingga hanya ada dua parameter yang dapat kami visualisasikan dalam sub-gambar kanan.

Garis biru adalah regresi logistik tanpa regularisasi dan garis hitam adalah regresi logistik dengan regularisasi L2. Titik biru dan hitam dalam gambar kanan adalah parameter optimal untuk fungsi objektif.

Dalam percobaan ini, kami menetapkan , sehingga Anda dapat melihat dua koefisien mendekati . Selain itu, dari kontur, kita dapat mengamati istilah regularisasi didominasi dan seluruh fungsinya seperti mangkuk kuadratik.λ0

masukkan deskripsi gambar di sini

Berikut adalah contoh lain dengan regularisasi L1.

masukkan deskripsi gambar di sini

Perhatikan bahwa, tujuan dari percobaan ini adalah mencoba menunjukkan bagaimana regularisasi bekerja dalam regresi logistik, tetapi model yang diregulasi tidak lebih baik.


Berikut adalah beberapa animasi tentang regularisasi L1 dan L2 dan bagaimana hal itu mempengaruhi tujuan kerugian logistik. Dalam setiap frame, judulnya menyarankan tipe regularisasi dan , plot adalah kontur fungsi objektif (kehilangan logistik + regularisasi). Kami meningkatkan parameter regularisasi di setiap frame dan solusi optimal akan menyusut menjadi frame demi frame.λλ0

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini


Beberapa komentar notasi. dan adalah vektor kolom, adalah skalar. Jadi model linier . Jika kita ingin memasukkan istilah intersep, kita dapat menambahkan sebagai kolom pada data.wxyy^=f(x)=wx1

Dalam pengaturan regresi, adalah bilangan real dan dalam pengaturan klasifikasi .yy{1,1}

Perhatikan bahwa ini sedikit aneh untuk definisi dalam pengaturan klasifikasi. Karena kebanyakan orang menggunakan untuk mewakili nilai prediksi . Dalam kasus kami, adalah bilangan real, tetapi tidak dalam . Kami menggunakan definisi karena kita dapat menyederhanakan notasi pada hilangnya logistik dan kehilangan engsel.y^=wxy^yy^=wx{1,1}y^

Juga perhatikan bahwa, dalam beberapa sistem notasi lain, , bentuk fungsi kehilangan logistik akan berbeda.y{0,1}

Kode dapat ditemukan di jawaban saya yang lain di sini.

Apakah ada penjelasan intuitif mengapa regresi logistik tidak akan berfungsi untuk kasus pemisahan sempurna? Dan mengapa menambahkan regularisasi akan memperbaikinya?

Haitao Du
sumber
4
Jawaban yang bagus, tapi saya tidak melihat apa pun (kecuali notasi) dalam penjelasan yang menyarankan Anda harus dibatasi dengan metode linear. Bisakah Anda memiliki jawaban yang sama tetapi dengan w diganti dengan f, dan digantikan oleh ? Orang pasti menggunakan regularisasi untuk metode nonlinier, seperti jaringan saraf. wTxf(x)
DavidR
Terima kasih atas jawabannya @ hxd1011, dapatkah Anda jelaskan apa garis hitam solid diwakili dalam grafik kontur? Untuk lebih tepatnya, saya tahu bahwa (seperti yang Anda jelaskan) sumbu x dan y menunjukkan 2 parameter yang kami gunakan. Tapi bagaimana dengan garis padat dan angka-angka mereka seperti 8000, 10000, 12000. Terima kasih!
Jespar
12

Metode penyusutan / regularisasi yang awalnya diusulkan untuk regresi logistik berdasarkan pertimbangan asimtotik tingkat tinggi adalah regresi logistik Firth ... beberapa saat sebelum semua pembicaraan tentang laso dan apa yang tidak dimulai, meskipun setelah regresi ridge naik dan mereda dalam popularitas melalui 1970-an. Itu sama dengan menambahkan hukuman pada kemungkinan, di mana

l(β)=l(β)+12ln|i(β)|
i(β)=1nipi(1pi)xixiadalah matriks informasi dinormalisasi per observasi. Firth menunjukkan bahwa koreksi ini memiliki interpretasi Bayesian yang sesuai dengan Jeffreys sebelum menyusut ke nol. Kegembiraan yang dihasilkannya adalah karena membantu memperbaiki masalah pemisahan yang sempurna: katakanlah dataset secara nominal akan menghasilkan taksiran ML yang tak terbatas, dan di masih rentan terhadap masalah, saya percaya.{(yi,xi)={(1,1),(0,0)}glmR
Tugas
sumber
1
Ya, Anda dapat menggunakan paket R logistf atau brglm untuk ini! Mungkin perlu disebutkan ...
Tom Wenseleers
Sangat elegan, tetapi cukup lambat untuk pengoptimalan, bukan? Dalam gradien Anda mendapatkan kebalikan dari yang perlu dihitung ulang di setiap iterasi ...i(β)
appletree
Ini sangat lambat, memang, @appletree
StasK
(+1) Saya belum pernah mendengar koreksi Firth sebelumnya. Saya tidak akan mengharapkan pendekatan tersirat dalam makalah yang dikutip untuk menambah banyak waktu untuk solusi GLM? (Anda tidak perlu membalikkan matriks, hitung saja leverage. Jika menyelesaikan GLM melalui kuadrat terkecil yang berulang secara berulang, ini hanya norma-norma baris dari faktor Q. Leverage kemudian tambahkan saja ke data dan paparan, menggunakan bukannya dalam penyesuaianh/21/2
Jeffrey
6

Ya, itu berlaku untuk regresi logistik. Di R, menggunakan glmnet, Anda cukup menentukan keluarga yang sesuai yang "binomial" untuk regresi logistik. Ada beberapa yang lain (racun, multinomial, dll) yang dapat Anda tentukan tergantung pada data Anda dan masalah yang Anda tangani.

hasil positif
sumber
Kelemahan dari hanya menggunakan glmnet untuk ini adalah bahwa pendekatan itu tidak akan memberi Anda tingkat signifikansi. Jika Anda tertarik pada itu, maka paket R logistf atau brglm akan menjadi cara yang lebih baik untuk pergi ...
Tom Wenseleers
@ TomWenseleers ada juga metode untuk bootstrap glmnet untuk mendapatkan nilai-p. Namun, ini sedikit rumit karena bootstrap "biasa" tidak berfungsi untuk koefisien laso
godspeed
Terima kasih telah memberi tahu saya tentang itu, saya telah melihat orang lain menyebutkan ini juga, misalnya di sini: stats.stackexchange.com/questions/34859/… , tetapi tampaknya tidak dapat menemukan standar apa pun yang diterapkan dalam beberapa paket R. Apakah Anda punya petunjuk? Atau literatur primer yang bagus tentang ini? Kelemahan dari bootstrap juga biasanya akan sangat lambat untuk kumpulan data besar ...
Tom Wenseleers
Apakah Anda merujuk pada metode seperti yang diterapkan dalam paket R hdi, cran.r-project.org/web/packages/hdi/index.html ?
Tom Wenseleers