Saya telah melakukan penelitian tentang overfitting dan underfitting, dan saya telah mengerti apa itu sebenarnya, tetapi saya tidak dapat menemukan alasannya.
Apa alasan utama untuk overfitting dan underfitting?
Mengapa kita menghadapi dua masalah ini dalam melatih model?
machine-learning
dataset
overfitting
Goktug
sumber
sumber
Jawaban:
Saya akan mencoba menjawab dengan cara paling sederhana. Masing-masing masalah tersebut memiliki asal utama masing-masing:
Overfitting: Data berisik, artinya ada beberapa penyimpangan dari kenyataan (karena kesalahan pengukuran, faktor acak yang berpengaruh, variabel yang tidak teramati, dan korelasi sampah) yang membuat kita lebih sulit untuk melihat hubungan mereka yang sebenarnya dengan faktor yang menjelaskan kita. Selain itu, biasanya tidak lengkap (kami tidak memiliki contoh semuanya).
Sebagai contoh, katakanlah saya mencoba untuk mengklasifikasikan anak laki-laki dan perempuan berdasarkan tinggi badan mereka, hanya karena itulah satu-satunya informasi yang saya miliki tentang mereka. Kita semua tahu bahwa meskipun rata-rata anak laki-laki lebih tinggi daripada anak perempuan, ada daerah yang tumpang tindih yang besar, sehingga mustahil untuk memisahkan mereka secara sempurna hanya dengan sedikit informasi. Bergantung pada kepadatan data, model yang cukup kompleks mungkin dapat mencapai tingkat keberhasilan yang lebih baik pada tugas ini daripada yang secara teori dimungkinkan pada pelatihandataset karena dapat menggambar batas yang memungkinkan beberapa titik berdiri sendiri. Jadi, jika kita hanya memiliki seseorang yang tingginya 2,04 meter dan dia seorang wanita, maka modelnya dapat menggambar lingkaran kecil di sekitar area itu yang berarti bahwa orang yang memiliki tinggi 2,04 meter kemungkinan besar adalah seorang wanita.
Alasan yang mendasari itu semua adalah terlalu percaya pada data pelatihan (dan dalam contoh, model mengatakan bahwa karena tidak ada pria dengan tinggi 2,04, maka itu hanya mungkin bagi wanita).
Underfitting adalah masalah yang berlawanan, di mana model gagal mengenali kompleksitas nyata dalam data kami (yaitu perubahan non-acak dalam data kami). Model ini mengasumsikan bahwa noise lebih besar daripada yang sebenarnya dan dengan demikian menggunakan bentuk yang terlalu sederhana. Jadi, jika dataset memiliki lebih banyak anak perempuan daripada anak laki-laki untuk alasan apa pun, maka model tersebut dapat mengklasifikasikan mereka semua seperti anak perempuan.
Dalam hal ini, model tidak cukup percaya pada data dan hanya mengasumsikan bahwa semua penyimpangan kebisingan (dan dalam contoh, model mengasumsikan bahwa anak laki-laki sama sekali tidak ada).
Intinya adalah bahwa kita menghadapi masalah ini karena:
sumber
Overfitting adalah ketika sebuah model memperkirakan variabel yang Anda modelkan dengan sangat baik pada data asli, tetapi tidak memperkirakan dengan baik pada kumpulan data baru (bertahan, validasi silang, perkiraan, dll.). Anda memiliki terlalu banyak variabel atau penaksir dalam model Anda (variabel dummy, dll.) Dan ini menyebabkan model Anda menjadi terlalu sensitif terhadap kebisingan di data asli Anda. Akibat overfitting pada derau dalam data asli Anda, model memprediksi dengan buruk.
Underfitting adalah ketika model tidak memperkirakan variabel dengan baik dalam data asli atau data baru. Model Anda kehilangan beberapa variabel yang diperlukan untuk memperkirakan dan memprediksi perilaku variabel dependen Anda dengan lebih baik.
Tindakan menyeimbangkan antara kelebihan dan kekurangan adalah tantangan dan kadang-kadang tanpa garis finish yang jelas. Dalam memodelkan deret waktu ekonometrik, masalah ini diselesaikan dengan cukup baik dengan model regularisasi (LASSO, Regresi Ridge, Elastic-Net) yang secara khusus ditujukan untuk mengurangi overfitting dengan masing-masing mengurangi jumlah variabel dalam model Anda, mengurangi sensitivitas koefisien untuk data Anda, atau kombinasi keduanya.
sumber
Mungkin selama penelitian Anda, Anda menemukan persamaan berikut:
Error = IrreducibleError + Bias² + Variance
.Masalah belajar itu sendiri pada dasarnya adalah pertukaran antara bias dan varians .
Pendek: Kebisingan.
Panjang: Kesalahan yang tidak dapat direduksi : Kesalahan pengukuran / fluktuasi dalam data serta bagian dari fungsi target yang tidak dapat diwakili oleh model. Mengukur variabel target atau mengubah ruang hipotesis (yaitu memilih model yang berbeda) mengubah komponen ini.
Sunting (untuk menautkan ke jawaban lain): Kinerja model karena kompleksitas bervariasi:
di mana errorD adalah kesalahan pada seluruh distribusi D (dalam praktik diperkirakan dengan set tes).
sumber
Hampir semua masalah statistik dapat dinyatakan dalam bentuk berikut:
Jika Anda melihat masalah statistik dengan cara ini, pemasangan model selalu merupakan keseimbangan antara kekurangan dan kelebihan dan setiap solusi selalu merupakan kompromi. Kami menghadapi masalah ini karena data kami acak dan berisik.
sumber
Untuk overfitting, modelnya terlalu kompleks untuk dapat disesuaikan dengan data pelatihan. Untuk underfitting, modelnya terlalu sederhana.
Sulit untuk memilih model dan parameter "tepat" untuk data.
sumber
Overfitting dan underfitting pada dasarnya adalah penjelasan data yang tidak memadai oleh model hipotesis dan dapat dilihat sebagai model yang terlalu menjelaskan atau kurang menjelaskan data. Ini dibuat oleh hubungan antara model yang digunakan untuk menjelaskan data dan model yang menghasilkan data. Dalam upaya kami untuk menjelaskan kami tidak dapat mengakses model yang mendasarinya sehingga penilaian kami dipandu oleh faktor lain: ketidakpastian atau bilah kesalahan.
Ketika, dalam upaya untuk menyesuaikan semua varian, kami menggunakan model yang terlalu rumit, kami terlalu cocok. Ini dibuat oleh kami memiliki pemerintahan bebas dalam pilihan model dan menurut terlalu penting ke bar kesalahan (atau mencoba menjelaskan semua variabilitas, yang sama). Ketika membatasi diri kita pada model yang terlalu sederhana untuk menggambarkan data, dan tidak menetapkan cukup penting untuk bar kesalahan (atau tidak menjelaskan variabilitas), kita kekurangan.
Bagaimana kita bisa menghindari keduanya? Model yang didukung informasi (bukan berasal dari data tetapi dari pengetahuan sebelumnya tentang masalah) dan ketidakpastian yang bermakna.
sumber
Singkatnya, overfiitting muncul sebagai konsekuensi dari pola yang muncul dalam dataset pelatihan Anda tetapi tidak ada pada seluruh populasi (mereka tampak kurang beruntung) Jika Anda menggunakan model sederhana (misalnya untuk regresi linier misalnya), risiko overfitting rendah, karena jumlah pola yang mungkin dapat dideteksi kecil dan oleh karena itu kemungkinan salah satu dari yang ditunjukkan secara acak dalam sampel tidak terlalu besar. Contoh dari hal ini dapat terjadi jika Anda mencoba mempelajari korelasi 1.000.000 variabel pada populasi yang mengambil sampel 100 individu. Beberapa fitur dapat secara acak menghadirkan korelasi sampel yang besar meskipun sepenuhnya independen satu sama lain
Alasan lain untuk overfitting adalah sampling bias ("contoh pola palsu" ada di sana karena sampel tidak benar-benar acak) Misalnya, jika Anda ingin mempelajari ukuran rata-rata jenis jamur tertentu dengan pergi ke sana dan menemukannya di alam. , Anda cenderung melebih-lebihkannya (jamur yang lebih besar lebih mudah ditemukan)
Underfitting adalah, di sisi lain, fenomena yang cukup sederhana. Ini dapat berarti dua hal yang sangat mendasar: A) Kami tidak memiliki cukup data untuk model untuk mempelajari pola populasi atau B) Model kami tidak cukup kuat untuk mencerminkannya.
sumber
Jawaban singkat:
Alasan utama overfitting adalah menggunakan model yang kompleks ketika Anda memiliki satu set pelatihan kecil.
Alasan utama underfitting adalah menggunakan model yang terlalu sederhana dan tidak dapat bekerja dengan baik pada set pelatihan.
Alasan utama overfitting?
Tujuan dari pembelajaran mesin adalah untuk melatih model pada pelatihan yang ditetapkan dengan harapan bahwa itu akan bekerja dengan baik pada data pengujian. Tetapi apakah mendapatkan kinerja yang baik pada set pelatihan selalu diterjemahkan menjadi kinerja yang baik pada set pengujian? Tidak akan, karena data pelatihan Anda terbatas . Jika Anda memiliki data terbatas, model Anda mungkin menemukan beberapa pola yang berfungsi untuk rangkaian pelatihan terbatas itu, tetapi pola-pola itu tidak digeneralisasikan ke kasus-kasus lain (yaitu rangkaian uji). Ini dapat diselesaikan dengan:
A- Menyediakan set pelatihan yang lebih besar untuk model untuk mengurangi kemungkinan memiliki pola sewenang-wenang dalam set pelatihan.
B- Menggunakan model yang lebih sederhana sehingga model tidak akan dapat menemukan pola-pola sewenang-wenang dalam set pelatihan. Model yang lebih kompleks akan dapat menemukan pola yang lebih rumit, sehingga Anda membutuhkan lebih banyak data untuk memastikan set pelatihan Anda cukup besar untuk tidak mengandung pola yang sewenang-wenang.
(mis. Bayangkan Anda ingin mengajarkan model untuk mendeteksi kapal dari truk dan Anda memiliki 10 gambar masing-masing. Jika sebagian besar kapal di gambar Anda berada di dalam air, model Anda mungkin belajar untuk mengklasifikasikan gambar dengan latar belakang biru sebagai kapal. daripada mempelajari bagaimana sebuah kapal terlihat. Sekarang, jika Anda memiliki 10.000 gambar kapal dan truk, set pelatihan Anda lebih cenderung berisi kapal dan truk di berbagai latar belakang dan model Anda tidak lagi dapat hanya mengandalkan latar belakang biru.)
Alasan utama underfitting?
Underfitting terjadi ketika model Anda tidak cukup baik untuk mempelajari set pelatihan, yang berarti model Anda terlalu sederhana. Setiap kali kita mulai memecahkan masalah, kita menginginkan model yang setidaknya bisa mendapatkan kinerja yang baik pada set pelatihan, dan kemudian kita mulai berpikir untuk mengurangi overfitting. Secara umum, solusi untuk underfitting cukup mudah: Gunakan model yang lebih kompleks.
sumber
Pertimbangkan contoh di mana kita memiliki persamaan hipotesis / model,
di mana X = daftar fitur, y = label dan q dan c adalah koefisien yang harus kita latih.
Jika kita menghasilkan nilai koefisien sedemikian sehingga cukup besar dan mulai menekan nilai fitur (yaitu X) dalam kasus seperti itu, kita selalu mendapatkan nilai konstan y, terlepas dari nilai X apa pun. Ini disebut model yang sangat bias atau pakaian dalam.
Pertimbangkan contoh hipotesis kompleks lain,
Setelah mengidentifikasi nilai koefisien terbaik, mungkin untuk data pelatihan, kita bisa mendapatkan kerugian minimum. Itu hanya karena kami membuat model kami begitu rumit dan erat sehingga berperilaku sangat baik dengan data pelatihan. Sedangkan dengan data yang tidak terlihat, kita bisa mendapatkan hasil yang sangat berlawanan. Ini disebut model yang sangat bervariasi atau pakaian berlebih.
Model bias membutuhkan lebih banyak kompleksitas dalam pemilihan Model sedangkan model yang sangat bervariasi membutuhkan penurunan kompleksitas dalam pemilihan model. Teknik pengaturan dapat membantu kita dalam mengidentifikasi tingkat kompleksitas model yang tepat dan melalui teknik ini kita dapat mengatasi kedua masalah tersebut.
sumber