Baru-baru ini saya membuat sedikit di aplikasi browser yang dapat Anda gunakan untuk bermain dengan ide-ide ini: Scatterplot Smoothers (*).
Berikut adalah beberapa data yang saya buat, dengan tingkat polinomial yang rendah
Jelas bahwa polinomial kuadrat tidak cukup fleksibel untuk memberikan data yang cocok. Kami memiliki daerah dengan bias sangat tinggi, antara dan semua data di bawah fit, dan setelah semua data berada di atas kurva.0,85 0,850,60,850,85
Untuk menghilangkan bias, kita dapat meningkatkan derajat kurva menjadi tiga, tetapi masalahnya tetap, kurva kubik masih terlalu kaku
Jadi kami terus meningkatkan derajat, tetapi sekarang kami mengalami masalah yang berlawanan
Kurva ini melacak data terlalu dekat, dan memiliki kecenderungan untuk terbang ke arah yang tidak begitu baik ditunjukkan oleh pola umum dalam data. Di sinilah regularisasi masuk. Dengan kurva derajat yang sama (sepuluh) dan beberapa regularisasi dipilih dengan baik
Kami mendapatkan yang sangat bagus!
Perlu sedikit fokus pada satu aspek yang dipilih dengan baik di atas. Ketika Anda menyesuaikan polinomial dengan data, Anda memiliki serangkaian pilihan untuk gelar. Jika kurva derajat tiga underfit dan kurva derajat empat overfit, Anda tidak punya tempat lain di tengah. Regularisasi menyelesaikan masalah ini, karena memberikan Anda berbagai parameter kompleksitas yang berkesinambungan untuk dimainkan.
bagaimana Anda mengklaim "Kami mendapatkan hasil yang sangat bagus!". Bagi saya mereka semua terlihat sama, yaitu tidak dapat disimpulkan. Rasional mana yang Anda gunakan untuk memutuskan mana yang bagus dan tidak pas?
Titik adil.
Asumsi yang saya buat di sini adalah bahwa model yang cocok seharusnya tidak memiliki pola yang jelas dalam residu. Sekarang, saya tidak merencanakan residu, jadi Anda harus melakukan sedikit pekerjaan saat melihat gambar, tetapi Anda harus dapat menggunakan imajinasi Anda.
Pada gambar pertama, dengan kurva kuadrat yang cocok dengan data, saya dapat melihat pola berikut dalam residual
- Dari 0,0 hingga 0,3 mereka ditempatkan secara merata di atas dan di bawah kurva.
- Dari 0,3 hingga sekitar 0,55 semua titik data berada di atas kurva.
- Dari 0,55 hingga sekitar 0,85 semua titik data berada di bawah kurva.
- Dari 0,85 dan seterusnya, mereka semua berada di atas kurva lagi.
Saya menyebut perilaku ini sebagai bias lokal , ada daerah di mana kurva tidak mendekati rata-rata kondisional data.
Bandingkan ini dengan pas terakhir, dengan spline kubik. Saya tidak dapat memilih daerah mana pun dengan mata yang cocok tidak terlihat tepat melalui pusat massa titik data. Ini umumnya (meskipun tidak tepat) yang saya maksud dengan kecocokan.
Catatan Akhir : Ambil semua ini sebagai ilustrasi. Dalam praktiknya, saya tidak merekomendasikan menggunakan ekspansi basis polinomial untuk tingkat lebih tinggi dari . Masalah mereka dibahas dengan baik di tempat lain, tetapi, misalnya:2
- Perilaku mereka di batas data Anda bisa sangat kacau, bahkan dengan regularisasi.
- Mereka bukan lokal dalam arti apa pun. Mengubah data Anda di satu tempat dapat secara signifikan memengaruhi kecocokan di tempat yang sangat berbeda.
Sebagai gantinya, saya dalam situasi seperti yang Anda gambarkan, merekomendasikan menggunakan spline kubik alami bersama dengan regularisasi, yang memberikan kompromi terbaik antara fleksibilitas dan stabilitas. Anda dapat melihatnya sendiri dengan memasang beberapa splines di aplikasi.
(*) Saya percaya ini hanya bekerja di chrome dan firefox karena saya menggunakan beberapa fitur javascript modern (dan kemalasan keseluruhan untuk memperbaikinya dalam safari dan ie). Kode sumber ada di sini , jika Anda tertarik.
Tidak, tidak sama. Bandingkan, misalnya, polinomial orde kedua tanpa regularisasi dengan polinomial orde empat dengannya. Yang terakhir dapat menempatkan koefisien besar untuk kekuatan ketiga dan keempat selama ini tampaknya meningkatkan akurasi prediksi, sesuai dengan prosedur apa pun yang digunakan untuk memilih ukuran penalti untuk prosedur regularisasi (mungkin validasi silang). Ini menunjukkan bahwa salah satu manfaat dari regularisasi adalah memungkinkan Anda untuk menyesuaikan kompleksitas model secara otomatis untuk mencapai keseimbangan antara overfitting dan underfitting.
sumber
Untuk polinomial, bahkan perubahan kecil pada koefisien dapat membuat perbedaan untuk eksponen yang lebih tinggi.
sumber
Semua jawaban sangat bagus dan saya memiliki simulasi yang sama dengan Matt untuk memberi Anda contoh lain untuk menunjukkan mengapa model kompleks dengan regularisasi biasanya lebih baik daripada model sederhana .
Saya membuat analogi untuk memiliki penjelasan intuitif.
Jika dua orang memecahkan masalah yang sama, biasanya mahasiswa pascasarjana akan bekerja solusi yang lebih baik, karena pengalaman dan wawasan tentang pengetahuan.
Gambar 1 menunjukkan 4 fitting untuk data yang sama. 4 fitting adalah line, parabola, model urutan ke-3 dan model pesanan ke-5. Anda dapat mengamati bahwa model urutan ke-5 mungkin memiliki masalah overfitting.
Di sisi lain, dalam percobaan kedua, kita akan menggunakan model orde 5 dengan tingkat regularisasi berbeda. Bandingkan yang terakhir dengan model urutan kedua. (dua model disorot) Anda akan menemukan yang terakhir mirip (kira-kira memiliki kompleksitas model yang sama) dengan parabola, tetapi sedikit lebih fleksibel untuk data dengan baik.
sumber