Apa itu regularisasi dalam bahasa Inggris biasa?

74

Tidak seperti artikel lain, saya menemukan entri wikipedia untuk subjek ini tidak dapat dibaca oleh orang yang bukan ahli matematika (seperti saya).

Saya mengerti ide dasar, bahwa Anda menyukai model dengan aturan yang lebih sedikit. Apa yang tidak saya dapatkan adalah bagaimana Anda mendapatkan dari seperangkat aturan ke 'skor regularisasi' yang dapat Anda gunakan untuk mengurutkan model dari yang paling sedikit ke yang paling sesuai.

Bisakah Anda menggambarkan metode regularisasi sederhana?

Saya tertarik dengan konteks analisis sistem perdagangan statistik. Alangkah baiknya jika Anda bisa menggambarkan jika / bagaimana saya bisa menerapkan regularisasi untuk menganalisis dua model prediksi berikut:

Model 1 - harga naik ketika:

  • exp_moving_avg (harga, periode = 50)> exp_moving_avg (harga, periode = 200)

Model 2 - harga naik ketika:

  • harga [n] <harga [n-1] 10 kali berturut-turut
  • exp_moving_avg (harga, periode = 200) naik

Tapi saya lebih tertarik untuk merasakan bagaimana Anda melakukan regularisasi. Jadi, jika Anda tahu model yang lebih baik untuk menjelaskannya silakan lakukan.

Ah
sumber
7
Contohnya adalah regresi ridge, yang OLS dengan terikat pada jumlah koefisien kuadrat. Ini akan memperkenalkan bias ke dalam model, tetapi akan mengurangi varians dari koefisien, kadang-kadang secara substansial. LASSO adalah metode terkait lainnya, tetapi menempatkan batasan L1 pada ukuran koefisien. Ini memiliki keuntungan dari menjatuhkan koefisien. Ini berguna untuk situasi p >> n Mengatur, dengan cara tertentu, berarti "menyusut" model untuk menghindari pemasangan yang berlebihan (dan untuk mengurangi varians koefisien), yang biasanya meningkatkan kinerja prediksi model.
HairyBeast
2
@HairyBeast Anda harus memberikan komentar yang bagus sebagai jawaban. Jika memungkinkan, cobalah untuk menambahkan contoh ilustratif sehingga OP dapat mengetahui bagaimana itu diterjemahkan ke masalah yang dihadapi.
chl
1
@HairyBeast, jadi bisakah saya mengatakan bahwa regularisasi hanyalah sebuah metode untuk mengimplementasikan gagasan pengorbanan bias-varians ?
alpukat
Saya menemukan video ini sangat membantu, terutama dalam memvisualisasikan berbagai bentuk regularisasi Lp: youtube.com/watch?v=sO4ZirJh9ds
Anm
Regularisasi adalah untuk mengatasi pakaian dalam model yang dipelajari. Mencoba menjelaskan dalam bahasa Inggris yang sederhana dan visual. Berikut ini adalah tautan ke artikel medium.com/@vamsi149/…
solver149

Jawaban:

57

Dalam istilah yang sederhana, regularisasi adalah mengatur atau memilih tingkat kompleksitas model yang disukai sehingga model Anda lebih baik dalam memprediksi (generalisasi). Jika Anda tidak melakukan ini, model Anda mungkin terlalu rumit dan terlalu banyak pakaian atau terlalu sederhana dan kurang bagus, baik memberikan prediksi yang buruk.

Jika Anda kuadrat-pas cocok dengan model yang kompleks untuk satu set kecil data pelatihan Anda mungkin akan mengenakan, ini adalah situasi yang paling umum. Kompleksitas optimal dari model tergantung pada jenis proses yang Anda pemodelan dan kualitas data, sehingga tidak ada a-priori yang benar kompleksitas model.

Untuk mengatur Anda perlu 2 hal:

  1. Cara menguji seberapa baik model Anda pada prediksi, misalnya menggunakan validasi silang atau sekumpulan data validasi (Anda tidak dapat menggunakan kesalahan pemasangan untuk ini).
  2. Parameter penyetelan yang memungkinkan Anda mengubah kompleksitas atau kehalusan model, atau pilihan model dengan kompleksitas / kelancaran yang berbeda.
Pada dasarnya Anda menyesuaikan parameter kompleksitas (atau mengubah model) dan menemukan nilai yang memberikan prediksi model terbaik.

Perhatikan bahwa kesalahan regularisasi yang dioptimalkan tidak akan menjadi perkiraan yang akurat dari kesalahan prediksi keseluruhan sehingga setelah regularisasi Anda akhirnya harus menggunakan dataset validasi tambahan atau melakukan beberapa analisis statistik tambahan untuk mendapatkan kesalahan prediksi yang tidak bias.

Alternatif untuk menggunakan pengujian validasi (lintas) adalah dengan menggunakan Bayesian Priors atau metode lain untuk menghukum kompleksitas atau ketidak-kelancaran, tetapi ini membutuhkan kecanggihan statistik yang lebih dan pengetahuan tentang masalah dan fitur model.

Toby Kelsey
sumber
2
+1 dari saya. Saya suka bahwa jawaban ini mulai dari awal dan sangat mudah dimengerti ...
Andrew
2
Apakah regularisasi benar-benar digunakan untuk mengurangi kekurangan gizi? Dalam pengalaman saya, regularisasi diterapkan pada model yang kompleks / sensitif untuk mengurangi kompleksitas / sensitivitas, tetapi tidak pernah pada model sederhana / tidak sensitif untuk meningkatkan kompleksitas / sensitivitas.
Richard Hardy
Jawaban ini sekarang sudah cukup lama, tetapi saya berasumsi apa yang dirujuk oleh Toby adalah bahwa regularisasi adalah cara berprinsip untuk menyesuaikan model kompleksitas yang sesuai dengan jumlah data; ini merupakan alternatif baik untuk memilih model apriori dengan parameter terlalu sedikit (atau yang salah), dan juga untuk memilih model yang terlalu rumit dan overfits.
Bryan Krause
26

Misalkan Anda melakukan pembelajaran melalui minimalisasi risiko empiris.

Lebih tepatnya:

  • Anda telah mendapatkan fungsi kerugian non-negatif Anda yang mencirikan seberapa buruk prediksi AndaL(actual value, predicted value)
  • Anda ingin menyesuaikan model Anda sedemikian rupa sehingga prediksinya meminimalkan rata-rata fungsi kerugian, dihitung hanya pada data pelatihan (satu-satunya data yang Anda miliki)

Maka tujuan dari proses pembelajaran adalah untuk menemukan (metode ini disebut risiko empiris minimalisasi).Model=argminL(actual,predicted(Model))

Tetapi jika Anda tidak memiliki cukup data dan ada sejumlah besar variabel dalam model Anda, sangat mungkin untuk menemukan model seperti itu yang tidak hanya menjelaskan pola tetapi juga menjelaskan noise acak dalam data Anda. Efek ini disebut overfitting dan mengarah pada penurunan kemampuan generalisasi model Anda.

Untuk menghindari overfitting, istilah regularisasi dimasukkan ke dalam fungsi target: Model=argminL(actual,predicted(Model))+λR(Model)

Biasanya, istilah memberikan penalti khusus pada model yang kompleks. Sebagai contoh, pada model dengan koefisien besar (regularisasi L2, = jumlah kuadrat koefisien) atau dengan banyak jika koefisien bukan nol (regularisasi L1, = jumlah nilai absolut koefisien). Jika kita melatih pohon keputusan, dapat menjadi kedalamannya.R(Model)RRR

Pandangan lain adalah bahwa memperkenalkan pengetahuan kami sebelumnya tentang bentuk model terbaik ("tidak memiliki koefisien terlalu besar", "hampir ortogonal untuk ")Ra¯

bijey
sumber
12

Sederhananya, regularisasi adalah tentang manfaat solusi yang Anda harapkan. Seperti yang Anda sebutkan, misalnya Anda dapat memanfaatkan solusi "sederhana", untuk beberapa definisi kesederhanaan. Jika masalah Anda memiliki aturan, satu definisi bisa lebih sedikit aturan. Tapi ini tergantung masalah.

Namun, Anda mengajukan pertanyaan yang tepat. Misalnya dalam Dukungan Mesin Vektor "kesederhanaan" ini berasal dari memutuskan hubungan ke arah "margin maksimum". Margin ini adalah sesuatu yang dapat didefinisikan dengan jelas dalam hal masalah. Ada derivasi geometris yang sangat baik dalam artikel SVM di Wikipedia . Ternyata istilah regularisasi, setidaknya bisa dibilang, adalah "saus rahasia" SVM.

Bagaimana Anda melakukan regularisasi? Secara umum yang datang dengan metode yang Anda gunakan, jika Anda menggunakan SVM Anda melakukan regularisasi L2, jika Anda menggunakan LASSO Anda sedang melakukan regularisasi L1 (lihat apa yang dikatakan hairybeast). Namun, jika Anda mengembangkan metode Anda sendiri, Anda perlu tahu cara memberi tahu solusi yang diinginkan dari yang tidak diinginkan, dan memiliki fungsi yang menghitung ini. Pada akhirnya Anda akan memiliki istilah biaya dan ketentuan regularisasi, dan Anda ingin mengoptimalkan jumlah keduanya.

carlosdc
sumber
1

Teknik regularisasi adalah teknik yang diterapkan pada model pembelajaran mesin yang membuat batas keputusan / model pas lebih lancar. Teknik-teknik itu membantu mencegah overfitting.

Contoh: L1, L2, Putus Sekolah, Penurunan Berat Badan di Jaringan Saraf Tiruan. Parameter dalam SVM.C

Martin Thoma
sumber
0

Dalam istilah sederhana, Regularisasi adalah teknik untuk menghindari kecocokan saat melatih algoritma pembelajaran mesin. Jika Anda memiliki algoritme dengan parameter gratis yang cukup, Anda dapat melakukan interpolasi dengan sangat detail pada sampel Anda, tetapi contoh yang datang di luar sampel mungkin tidak mengikuti interpolasi detail ini karena hanya menangkap derau atau penyimpangan acak dalam sampel alih-alih tren yang sebenarnya.

Over-fitting dihindari dengan membatasi nilai absolut dari parameter dalam model. Hal ini dapat dilakukan dengan menambahkan istilah pada fungsi biaya yang memberikan penalti berdasarkan besarnya parameter model. Jika besarnya diukur dalam norma L1 ini disebut "regularisasi L1" (dan biasanya menghasilkan model jarang), jika diukur dalam norma L2 ini disebut "regularisasi L2", dan seterusnya.

sandip44
sumber