Regularisasi dalam regresi (linier, logistik ...) adalah cara paling populer untuk mengurangi pemasangan berlebihan.
Ketika tujuannya adalah akurasi prediksi (tidak menjelaskan), apakah ada alternatif yang baik untuk regularisasi, terutama cocok untuk kumpulan data besar (mil / pengamatan pengamatan dan jutaan fitur)?
regression
regularization
overfitting
Benoit Sanchez
sumber
sumber
Jawaban:
Dua poin penting yang tidak terkait langsung dengan pertanyaan Anda:
Pertama, meskipun tujuannya adalah akurasi daripada interpretasi, regularisasi masih diperlukan dalam banyak kasus, karena, itu akan memastikan "akurasi tinggi" pada set data pengujian / produksi nyata, bukan data yang digunakan untuk pemodelan.
Kedua, jika ada miliar baris dan juta kolom, mungkin tidak diperlukan regularisasi. Ini karena datanya sangat besar, dan banyak model komputasi memiliki "kekuatan terbatas", yaitu, hampir mustahil untuk overfit. Inilah sebabnya mengapa beberapa jaringan saraf yang dalam memiliki milyaran parameter.
Sekarang, tentang pertanyaan Anda. Seperti yang disebutkan oleh Ben dan Andrey, ada beberapa opsi sebagai alternatif untuk regularisasi. Saya ingin menambahkan lebih banyak contoh.
Gunakan model yang lebih sederhana (Misalnya, kurangi jumlah unit tersembunyi di jaringan saraf. Gunakan kernel polinomial orde rendah dalam SVM. Kurangi jumlah Gauss dalam campuran Gauss. Dll.)
Berhentilah lebih awal dalam pengoptimalan. (Misalnya, kurangi zaman dalam pelatihan jaringan saraf, kurangi jumlah iterasi dalam optimasi (CG, BFGS, dll.)
Rata-rata pada banyak model (Misalnya, hutan acak, dll.)
sumber
Dua alternatif untuk regularisasi:
Geoff Hinton (co-inventor dari back propogation) pernah menceritakan sebuah kisah tentang para insinyur yang memberitahunya (mengutip dengan keras), "Geoff, kita tidak perlu putus sekolah di jaring kita yang dalam karena kita memiliki begitu banyak data." Dan jawabannya, adalah, "Nah, maka Anda harus membangun jaring lebih dalam, sampai Anda sedang overfitting, dan kemudian menggunakan putus sekolah." Selain saran yang bagus, Anda dapat menghindari regularisasi bahkan dengan jaring yang dalam, asalkan ada cukup data.
Dengan jumlah pengamatan tetap, Anda juga dapat memilih model yang lebih sederhana. Anda mungkin tidak perlu regularisasi untuk memperkirakan intersep, kemiringan, dan varian kesalahan dalam regresi linier sederhana.
sumber
Beberapa kemungkinan tambahan untuk menghindari overfitting
Pengurangan dimensi
Pemilihan fitur (juga pengurangan dimensi)
Anda dapat melakukan putaran pemilihan fitur (mis. Menggunakan LASSO) untuk mendapatkan ruang fitur dimensi yang lebih rendah. Sesuatu seperti pemilihan fitur menggunakan LASSO dapat berguna jika beberapa bagian besar tapi fitur yang tidak diketahui tidak relevan.
Gunakan algoritma yang kurang rentan terhadap overfitting seperti hutan acak. (Tergantung pada pengaturan, jumlah fitur dll ..., ini bisa lebih mahal secara komputasi daripada kuadrat terkecil biasa.)
Beberapa jawaban lain juga menyebutkan kelebihan teknik dan algoritma peningkatan dan pengemasan.
Metode Bayesian
Menambahkan sebelumnya pada vektor koefisien mengurangi overfitting. Ini secara konseptual terkait dengan regularisasi: misalnya. regresi ridge adalah kasus khusus dari estimasi posteriori maksimum.
sumber
Jika Anda menggunakan model dengan solver, di mana Anda dapat menentukan jumlah iterasi / zaman, Anda dapat melacak kesalahan validasi dan menerapkan penghentian dini: hentikan algoritme, ketika kesalahan validasi mulai meningkat.
sumber
Dua pemikiran:
Saya kedua strategi "gunakan model yang lebih sederhana" yang diusulkan oleh Ben Ogorek .
Saya bekerja pada model klasifikasi linier yang benar-benar jarang dengan koefisien integer kecil (misalnya, maks. 5 variabel dengan koefisien integer antara -5 dan 5). Model tersebut menggeneralisasi dengan baik dalam hal akurasi dan metrik kinerja yang lebih rumit (mis. Kalibrasi).
Jika Anda dapat menentukan batasan tambahan untuk model Anda (misalnya kendala monotonisitas, informasi sampingan), maka ini juga dapat membantu dengan generalisasi dengan mengurangi ruang hipotesis (lihat misalnya makalah ini ).
Ini perlu dilakukan dengan hati-hati (misalnya Anda mungkin ingin membandingkan model Anda dengan data dasar tanpa kendala, dan merancang proses pelatihan Anda dengan cara yang memastikan Anda tidak mengalami kendala memetik ceri).
sumber