Mengapa bobot yang lebih kecil menghasilkan model yang lebih sederhana dalam regularisasi?

27

Saya menyelesaikan kursus Pembelajaran Mesin Andrew Ng sekitar setahun yang lalu, dan sekarang saya sedang menulis penjelajahan Matematika SMA saya tentang cara kerja Regresi Logistik dan teknik untuk mengoptimalkan kinerja. Salah satu teknik ini, tentu saja, regularisasi.

Tujuan dari regularisasi adalah untuk mencegah overfitting dengan memperluas fungsi biaya untuk memasukkan tujuan kesederhanaan model. Kita dapat mencapai ini dengan menghukum ukuran bobot dengan menambahkan fungsi biaya masing-masing bobot kuadrat, dikalikan dengan beberapa paramater regularisasi.

Sekarang, algoritma Machine Learning akan bertujuan untuk mengurangi ukuran bobot sambil mempertahankan akurasi pada set pelatihan. Idenya adalah bahwa kita akan mencapai beberapa titik di tengah di mana kita dapat menghasilkan model yang menggeneralisasi data dan tidak mencoba menyesuaikan semua kebisingan stokastik dengan menjadi kurang kompleks.

Kebingungan saya adalah mengapa kita menghukum ukuran bobotnya? Mengapa bobot yang lebih besar membuat model yang lebih kompleks, dan bobot yang lebih kecil membuat model yang lebih sederhana / lebih halus? Andrew Ng mengklaim dalam ceramahnya bahwa penjelasannya sulit untuk diajarkan, tetapi saya kira saya sedang mencari penjelasan ini sekarang.

Prof. Ng memang memberikan contoh bagaimana fungsi biaya baru dapat menyebabkan bobot fitur (mis. X ^ 3 dan x ^ 4) cenderung ke arah nol sehingga derajat model berkurang, tetapi ini tidak membuat lengkap penjelasan.

Intuisi saya adalah bahwa bobot yang lebih kecil akan cenderung lebih "dapat diterima" pada fitur dengan eksponen yang lebih besar daripada yang dengan eksponen lebih kecil (karena fitur dengan bobot kecil seperti dasar fungsi). Bobot yang lebih kecil menyiratkan "kontribusi" yang lebih kecil untuk fitur dengan urutan tinggi. Tetapi intuisi ini tidak terlalu konkret.

MCKapur
sumber
2
ini terdengar seperti pertanyaan yang membutuhkan jawaban "jadi nenek saya akan memahaminya".
EngrStudent
2
@EngrStudent Karena itulah tepatnya saya perlu menyajikannya di Matematika IA saya untuk dibaca oleh guru matematika SMA dan penguji matematika SMA.
MCKapur

Jawaban:

4

Jika Anda menggunakan regularisasi, Anda tidak hanya meminimalkan kesalahan dalam-sampel tetapi juga .HAIkamutHAIfSSebuahmhalleErrHairsayanSSebuahmhalleErrHair+M.HaidelCHaimhallexsayatyPenSebuahlty

Lebih tepatnya, untuk hipotesis , di mana adalah beberapa parameter, biasanya , adalah jumlah contoh dalam dataset Anda, dan adalah beberapa penalti yang bergantung pada bobot , . Ini dikenal sebagai kesalahan augmented . Sekarang, Anda hanya dapat meminimalkan fungsi di atas jika bobotnya agak kecil.hHλλ(0,1)mΩwΩ=wTwJSebuahkamug(h(x),y,λ,Ω)=J(h(x),y)+λ2mΩhHλλ(0,1)mΩwΩ=wTw

Berikut adalah beberapa kode R untuk dipermainkan

w <- c(0.1,0.2,0.3)
out <- t(w) %*% w
print(out)

Jadi, bukannya menghukum seluruh ruang hipotesis , kami menghukum setiap hipotesis individual. Kami terkadang merujuk pada hipotesis dengan vektor bobotnya .h h wHhhw

Mengenai mengapa bobot kecil sejalan dengan kompleksitas model rendah, mari kita lihat hipotesis berikut: . Secara total kami mendapat tiga parameter bobot aktif . Sekarang, mari kita atur ke nilai yang sangat kecil, . Ini mengurangi kompleksitas model menjadi: . Alih-alih tiga parameter berat aktif, kami hanya punya dua yang tersisa.w 1 , , w 3 w 3 w 3 = 0 h 1 ( x ) = x 1 × w 1 + x 2 × w 2h1(x)=x1×w1+x2×w2+x3×w3w1,...,w3w3w3=0h1(x)=x1×w1+x2×w2

JimBoy
sumber
1
Jelas jika berat berkurang menjadi nol maka kompleksitas model berkurang karena Anda dapat menghapus istilah dan karenanya operasi komputasi. Tapi ini tidak membantu menjelaskan mengapa kompleksitas model berkurang karena nilai bobot mendekati nol. Adakah yang bisa menjelaskannya dengan kata-kata bukan formula?
greg7gkb
6

Saya tidak yakin apakah saya benar-benar tahu apa yang saya bicarakan tetapi saya akan mencobanya. Ini tidak banyak memiliki bobot kecil yang mencegah overfitting (saya pikir), itu lebih merupakan fakta bahwa regularisasi lebih kuat mengurangi ruang model. Bahkan Anda dapat mengatur sekitar 10.000000 jika Anda ingin dengan mengambil norma L2 dari nilai X Anda dikurangi vektor 10000000s. Ini juga akan mengurangi overfitting (tentu saja Anda juga harus memiliki alasan di balik melakukan hal itu (yaitu mungkin nilai Y Anda 10.000.000 kali lebih besar dari jumlah nilai X Anda, tetapi tidak ada yang benar-benar melakukannya karena Anda hanya dapat menskala ulang data).

Bias dan varians keduanya merupakan fungsi dari kompleksitas model. Ini terkait dengan teori VC jadi lihatlah itu. Semakin besar ruang model yang mungkin (yaitu nilai semua parameter Anda dapat mengambil pada dasarnya) semakin besar kemungkinan model akan sesuai. Jika model Anda dapat melakukan semuanya mulai dari garis lurus hingga bergoyang di setiap arah seperti gelombang sinus yang juga bisa naik turun, jauh lebih mungkin untuk mengambil dan memodelkan gangguan acak dalam data Anda yang bukan merupakan hasil dari sinyal yang mendasarinya tetapi hasil dari keberuntungan hanya dalam set data (inilah sebabnya mendapatkan lebih banyak data membantu overfitting tetapi tidak underfitting).

Ketika Anda mengatur, pada dasarnya Anda mengurangi ruang model. Ini tidak berarti bahwa fungsi yang lebih halus / lebih rata memiliki bias lebih tinggi dan lebih sedikit varians. Pikirkan model linier yang dilapisi dengan gelombang sinus yang dibatasi untuk memiliki osilasi amplitudo sangat kecil yang pada dasarnya tidak melakukan apa-apa (pada dasarnya merupakan garis fuzzy). Dalam arti tertentu fungsi ini sangat mudah berubah tetapi hanya sedikit lebih cocok daripada regresi linier. Alasan mengapa fungsi yang lebih halus / lebih rata cenderung memiliki bias yang lebih tinggi dan varians yang lebih sedikit adalah karena kita sebagai ilmuwan data berasumsi bahwa jika kita memiliki ruang sampel yang berkurang, kita lebih suka dengan pisau cukur tetap menggunakan model yang lebih halus dan sederhana serta membuang model. yang bergetar dan berosilasi di semua tempat. Masuk akal untuk membuang model wiggly pertama,

Regularisasi seperti regresi ridge, mengurangi ruang model karena membuatnya lebih mahal untuk menjauh dari nol (atau angka apa pun). Jadi ketika model dihadapkan dengan pilihan dengan mempertimbangkan gangguan kecil dalam data Anda, itu akan lebih cenderung keliru di sisi tidak, karena itu akan (umumnya) meningkatkan nilai parameter Anda. Jika gangguan itu disebabkan oleh peluang acak (yaitu salah satu variabel x Anda hanya memiliki sedikit korelasi acak dengan variabel y Anda) model tidak akan memperhitungkannya dibandingkan dengan regresi yang tidak diatur karena regresi yang tidak teratur tidak memiliki biaya yang terkait dengan meningkatkan ukuran beta. Namun, jika gangguan itu disebabkan oleh sinyal nyata, regresi Anda yang terregulasi akan lebih cenderung melewatinya sehingga itu memiliki bias yang lebih tinggi (dan mengapa ada tradeoff varians bias).

www3
sumber
Terima kasih atas jawaban bijaksana Anda! Jadi ya, dalam paragraf keempat Anda menyatakan "Jadi ketika model dihadapkan dengan pilihan dengan mempertimbangkan gangguan kecil dalam data Anda, itu akan lebih cenderung keliru di sisi tidak, karena itu akan (umumnya) meningkatkan parameter Anda nilai.". Inilah yang saya tanyakan secara spesifik mengapa demikian? Terima kasih!
MCKapur
Dengan menambahkan faktor penalti, Anda membuatnya lebih kecil kemungkinannya bahwa model tersebut akan memiliki beta lebih tinggi, oleh karena itu ruang model Anda lebih kecil. Hal lain yang perlu diingat adalah bahwa jika model Anda semua kebisingan, kemungkinan akan memiliki kemiringan nol karena tidak ada korelasi (ini adalah satu hal yang saya tidak pikirkan ketika membuat argumen wiggly / datar saya tapi saya pikir argumennya masih umumnya benar). Jadi jika ada perterbasi / hubungan, kemungkinan akan meningkatkan beta. Dengan demikian, regularisasi menghukum fakta ini dan menghentikan regresi agar tidak sesuai dengan gangguan-gangguan itu, baik itu sinyal maupun kebisingan.
www3
@ ww3 saya mengerti. Tetapi mengapa beta yang lebih besar menghasilkan ruang model yang lebih tinggi?
MCKapur
Saya tidak yakin apakah Anda membutuhkan ini lagi tetapi saya pikir saya akan menjawab. Ini bukan masalah besar. Misalnya Anda dapat melakukan regresi dengan Y atau 1000 * Y masing-masing akan memiliki kompleksitas yang sama tetapi beta akan 1000 lebih tinggi dalam kasus kedua. Regulatorisasi tipikal membuat pencapaian kombinasi beta tertentu lebih sulit, seperti memiliki satu koefisien menjadi 1000 dan -1000 lainnya, dan lainnya yang lebih datar / sederhana seperti semua 0s lebih mudah. Ini berarti jika model Anda memiliki kebiasaan berisik tertentu dari data, model yang diregulasi lebih kecil kemungkinannya untuk mengambilnya.
www3
Untuk melanjutkan, model tidak akan mengabaikan semua quirks berisik, itu hanya akan mengabaikan quirks yang meningkatkan nilai absolut dari beta. Ini berarti bahwa kebiasaan yang mengurangi nilai-nilai beta akan lebih ditekankan. Ini tidak apa-apa karena ada garis-garis yang jauh lebih dapat Anda gambar daripada garis lurus (yaitu membandingkan persamaan kuadrat dengan persamaan linear atau konstan). Jadi, jika ada quirks berisik yang mempengaruhi data, mereka lebih cenderung membuat model lebih cocok (dan karena itu model yang lebih kompleks) daripada model yang lebih datar / lebih lurus.
www3
3

Cerita:
Nenek saya berjalan, tetapi tidak memanjat. Beberapa nenek melakukannya. Seorang nenek terkenal karena mendaki Kilimanjaro .

Gunung berapi aktif itu besar. Ini adalah 16.000 kaki di atas pangkalannya. (Jangan benci unit kekaisaran saya.) Terkadang juga ada gletser di atasnya.

Jika Anda naik pada tahun di mana tidak ada gletser, dan Anda sampai di puncak, apakah itu sama dengan jika ada gletser? Ketinggiannya berbeda. Jalan yang harus Anda ambil berbeda. Bagaimana jika Anda pergi ke atas ketika ketebalan gletser lebih besar? Apakah itu membuatnya lebih dari sebuah pencapaian? Sekitar 35.000 orang berusaha mendaki setiap tahun, tetapi hanya sekitar 16.000 yang berhasil.

Aplikasi:
Jadi saya akan menjelaskan kontrol bobot (alias meminimalkan kompleksitas model) kepada nenek saya, sebagai berikut:

Nenek, otak Anda adalah pemikir yang luar biasa, baik Anda mengetahuinya atau tidak. Jika saya bertanya kepada Anda berapa banyak dari 16.000 yang berpikir bahwa mereka mencapai puncak benar-benar melakukannya, Anda akan mengatakan "mereka semua".

Jika saya menempatkan sensor pada sepatu dari semua 30.000 pendaki, dan mengukur ketinggian di atas permukaan laut, maka beberapa dari orang-orang itu tidak setinggi yang lain, dan mungkin tidak memenuhi syarat. Ketika saya melakukan itu saya akan ke model konstan - saya katakan jika tinggi tidak sama dengan beberapa persentil dari ketinggian max yang diukur maka itu bukan bagian atas. Beberapa orang melompat di atas. Beberapa orang hanya melewati batas dan duduk.

Saya bisa menambahkan garis lintang dan bujur ke sensor, dan cocok dengan beberapa persamaan urutan yang lebih tinggi dan mungkin saya bisa mendapatkan yang lebih baik, dan memiliki lebih banyak orang, bahkan mungkin persis 45% dari total orang yang mencobanya.

Jadi katakanlah tahun depan adalah tahun "gletser besar" atau tahun "tidak gletser" karena beberapa gunung berapi benar-benar mengubah albedo bumi. Jika saya mengambil model saya yang rumit dan rumit dari tahun ini dan menerapkannya pada orang-orang yang naik tahun depan, model ini akan memiliki hasil yang aneh. Mungkin semua orang akan "lulus" atau bahkan terlalu tinggi untuk lulus. Mungkin tidak ada yang akan lulus, dan akan berpikir tidak ada yang benar-benar menyelesaikan pendakian. Terutama ketika modelnya kompleks, ia cenderung tidak menggeneralisasi dengan baik. Ini mungkin cocok dengan data "pelatihan" tahun ini, tetapi ketika data baru datang itu berperilaku buruk.

Diskusi:
Ketika Anda membatasi kompleksitas model, maka Anda biasanya dapat memiliki generalisasi yang lebih baik tanpa pemasangan berlebihan. Menggunakan model-model yang lebih sederhana, model yang lebih dibangun untuk mengakomodasi variasi dunia nyata, cenderung memberikan hasil yang lebih baik, semuanya setara.

Sekarang Anda memiliki topologi jaringan tetap, jadi Anda mengatakan "jumlah parameter saya sudah diperbaiki" - Saya tidak dapat memiliki variasi dalam kompleksitas model. Omong kosong. Ukur entropi dalam bobot. Ketika entropi lebih tinggi, itu berarti beberapa koefisien membawa lebih banyak "keinformatifan" daripada yang lain. Jika Anda memiliki entropi yang sangat rendah, itu berarti bahwa secara umum koefisien memiliki tingkat "keinformatifan" yang serupa. Informativeness tidak selalu merupakan hal yang baik. Dalam demokrasi Anda ingin semua orang sama, dan hal-hal seperti George Orwell "lebih setara daripada yang lain" adalah ukuran kegagalan sistem. Jika Anda tidak memiliki alasan yang bagus untuk itu, Anda ingin beban cukup mirip satu sama lain.

Pada catatan pribadi: daripada menggunakan voodoo atau heuristik, saya lebih suka hal-hal seperti "kriteria informasi" karena mereka memungkinkan saya untuk mendapatkan hasil yang dapat diandalkan dan konsisten. AIC , AICc , dan BIC adalah beberapa titik awal yang umum dan bermanfaat. Mengulangi analisis untuk menentukan stabilitas solusi, atau rentang hasil kriteria informasi adalah pendekatan umum. Orang mungkin melihat meletakkan langit-langit di entropi di beban.

EngrStudent - Pasang kembali Monica
sumber
2
Sangat berbeda. Sudut Pedant: Anda menulis "Orson Wells". ejaannya adalah Welles. Saya menduga Anda maksud George Orwell ( Peternakan Hewan ) selama ini.
Nick Cox
@NickCox - Saya sangat sakit. Otak saya tidak berfungsi sebaik yang saya harapkan. Orwell itu.
EngrStudent
Saya ingin memahami mengapa kompleksitas model dapat bervariasi dengan jumlah parameter yang tetap (gagasan paragraf kedua hingga terakhir), dan saya tidak memiliki keberuntungan googling "parameter entropi" atau "ols parameter entropy". Apakah Anda menggunakan konsep entropi karena hanya cocok atau apakah ini nama sebenarnya yang dikenal luas dari properti parameter model? Terima kasih sebelumnya.
Alvaro Fuentes
1
@AlvaroFuentes - Entropi, dalam hal ini, berasal dari Teori Informasi. Ini artikel wikipedia. Pikirkan bobot sebagai daftar, dan Anda dapat menghitung entropi sistem dari semua bobot, menggunakan metode kernel untuk memperkirakan kepadatan probabilitas. Anda bisa melihat entropi rata-rata per neuron untuk membandingkan seluruh neuron pada skala yang lebih tinggi.
EngrStudent
0

Intuisi sederhana adalah sebagai berikut. Ingatlah bahwa untuk regularisasi fitur harus distandarisasi agar memiliki kira-kira. skala yang sama.

Katakanlah fungsi minimalisasi hanya jumlah kesalahan kuadrat:

SSE

SSESSE

Sekarang pertimbangkan regularisasi, LASSO dalam kasus ini. Fungsi yang akan diminimalkan adalah

SSE+λΣ|β|

Menambahkan fitur tambahan sekarang menghasilkan penalti tambahan: jumlah koefisien absolut semakin besar! Pengurangan SSE harus lebih besar daripada hukuman tambahan yang ditambahkan. Tidak mungkin lagi menambahkan fitur tambahan tanpa biaya.

Kombinasi standardisasi fitur dan menghukum jumlah dari koefisien absolut membatasi ruang pencarian, yang mengarah ke kurang overfitting.

Sekarang LASSO:

SSE+λΣ|β|

cenderung menempatkan koefisien ke nol, sedangkan regresi ridge:

SSE+λΣβ2

cenderung menyusut koefisien secara proporsional. Ini dapat dilihat sebagai efek samping dari jenis fungsi menghukum. Gambar di bawah ini membantu dengan ini:

masukkan deskripsi gambar di sini

Fungsi penalti regularisasi dalam praktiknya memberikan 'anggaran' untuk parameter, seperti yang digambarkan di atas oleh area cyan.

SSE

Gambar diambil dari https://onlinecourses.science.psu.edu/stat857/node/158

Meringkas: regularisasi menghukum menambahkan parameter ekstra, dan tergantung pada jenis regularisasi akan menyusutkan semua koefisien (ridge), atau akan menetapkan sejumlah koefisien ke 0 sambil mempertahankan koefisien lainnya sejauh anggaran memungkinkan (laso)

spdrnl
sumber
1
Anda hanya menjelaskan perbedaan antara laso dan regresi ridge tetapi pertanyaannya adalah menanyakan alasan mengapa regularisasi mengarah pada kompleksitas yang lebih rendah.
Sobi
Silakan baca bagian ini: "Menambahkan fitur tambahan sekarang menghasilkan penalti tambahan: jumlah koefisien absolut menjadi lebih besar! Pengurangan SSE akan lebih besar daripada penalti tambahan yang ditambahkan. Tidak mungkin lagi untuk menambahkan fitur tambahan tanpa biaya."
spdrnl
L.1λλL.2
Intinya adalah bahwa jenis penalti untuk menambahkan parameter akan mempengaruhi parameter dengan berbagai cara. Dalam praktiknya Anda mendapatkan model dengan parameter yang sesuai dengan data pelatihan kurang akurat: itu adalah semacam tujuan.
spdrnl
0

Dengan menambahkan noise Guassian ke input, model pembelajaran akan berperilaku seperti regulator L2-penalti.

Untuk mengetahui alasannya, pertimbangkan regresi linier di mana noise ditambahkan ke fitur. Kehilangan sekarang akan menjadi fungsi dari kesalahan + kontribusi norma bobot.

lihat derivasi: https://www.youtube.com/watch?v=qw4vtBYhLp0

Hanan Shteingart
sumber
0

Saya ingat di kelas universitas, guru saya mengatakan menghukum parameter besar dapat mengurangi overfitting karena mencegah model dari memberikan terlalu banyak bobot pada fitur spesifik dalam data, yang menyebabkan overfitting karena model hanya mengingat beberapa karakteristik spesifik dari data dan menghubungkannya dengan label alih-alih mencoba mempelajari aturan umum.

rongzzz
sumber