Singkatnya: dengan memvalidasi model Anda. Alasan utama validasi adalah untuk menegaskan tidak ada overfit terjadi dan untuk memperkirakan kinerja model umum.
Pakaian
Pertama mari kita lihat apa overfitting sebenarnya. Model biasanya dilatih agar sesuai dengan dataset dengan meminimalkan beberapa fungsi kerugian pada set pelatihan. Namun ada batas di mana meminimalkan kesalahan pelatihan ini tidak akan lagi menguntungkan kinerja sebenarnya model, tetapi hanya meminimalkan kesalahan pada set data tertentu. Ini pada dasarnya berarti bahwa model telah dipasang terlalu ketat ke titik data spesifik dalam set pelatihan, mencoba memodelkan pola dalam data yang berasal dari kebisingan. Konsep ini disebut pakaian berlebihan . Contoh pakaian berlebihan ditampilkan di bawah ini di mana Anda melihat pelatihan diatur dalam warna hitam dan satu set lebih besar dari populasi aktual di latar belakang. Pada gambar ini Anda dapat melihat bahwa model biru terlalu pas untuk set pelatihan, memodelkan suara yang mendasarinya.
Untuk menilai apakah suatu model dilengkapi atau tidak, kita perlu memperkirakan kesalahan umum (atau kinerja) yang akan dimiliki model pada data masa depan dan membandingkannya dengan kinerja kita pada set pelatihan. Memperkirakan kesalahan ini dapat dilakukan dengan beberapa cara berbeda.
Dataset terbelah
Pendekatan yang paling mudah untuk memperkirakan kinerja umum adalah dengan mempartisi dataset menjadi tiga bagian, satu set pelatihan, satu set validasi dan satu set tes. Set pelatihan digunakan untuk melatih model agar sesuai dengan data, set validasi digunakan untuk mengukur perbedaan kinerja antara model untuk memilih yang terbaik dan set tes untuk menyatakan bahwa proses pemilihan model tidak sesuai dengan yang pertama. dua set.
Untuk memperkirakan jumlah pakaian berlebih, cukup evaluasi metrik minat Anda pada set tes sebagai langkah terakhir dan bandingkan dengan kinerja Anda pada set pelatihan. Anda menyebut ROC tetapi menurut saya Anda juga harus melihat metrik lain seperti misalnya skor brier atau plot kalibrasi untuk memastikan kinerja model. Ini tentu saja tergantung pada masalah Anda. Ada banyak metrik tetapi ini selain itu intinya di sini.
Metode ini sangat umum dan dihormati tetapi menempatkan permintaan besar pada ketersediaan data. Jika dataset Anda terlalu kecil, kemungkinan besar Anda akan kehilangan banyak kinerja dan hasil Anda akan menjadi bias pada split.
Validasi silang
Salah satu cara untuk menyiasati pemborosan sebagian besar data untuk validasi dan pengujian adalah dengan menggunakan cross-validation (CV) yang memperkirakan kinerja umum menggunakan data yang sama seperti yang digunakan untuk melatih model. Gagasan di balik cross-validation adalah untuk membagi dataset menjadi sejumlah himpunan bagian tertentu, dan kemudian menggunakan masing-masing himpunan bagian sebagai set uji yang dikerahkan secara bergantian saat menggunakan sisa data untuk melatih model. Rata-rata metrik pada semua lipatan akan memberi Anda perkiraan kinerja model. Model akhir kemudian secara umum dilatih menggunakan semua data.
Namun, estimasi CV tidak bias. Tetapi semakin banyak lipatan yang Anda gunakan, semakin kecil biasnya, tetapi sebaliknya Anda mendapatkan varians yang lebih besar.
Seperti dalam pemisahan dataset kami mendapatkan perkiraan kinerja model dan untuk memperkirakan pakaian berlebih Anda cukup membandingkan metrik dari CV Anda dengan yang diperoleh dari mengevaluasi metrik pada set pelatihan Anda.
Bootstrap
Gagasan di balik bootstrap mirip dengan CV tetapi alih-alih memisahkan dataset menjadi bagian-bagian yang kami perkenalkan secara acak dalam pelatihan dengan menggambar set pelatihan dari seluruh dataset berulang kali dengan penggantian dan melakukan fase pelatihan penuh pada masing-masing sampel bootstrap ini.
Bentuk paling sederhana dari validasi bootstrap hanya mengevaluasi metrik pada sampel yang tidak ditemukan dalam set pelatihan (yaitu yang ditinggalkan) dan rata-rata atas semua pengulangan.
Metode ini akan memberi Anda perkiraan kinerja model yang dalam banyak kasus kurang bias dibandingkan CV. Sekali lagi, membandingkannya dengan kinerja latihan yang Anda setel dan Anda mendapatkan pakaian yang sesuai.
Ada beberapa cara untuk meningkatkan validasi bootstrap. Metode .632+ dikenal untuk memberikan perkiraan yang lebih baik, lebih kuat dari kinerja model umum, dengan mempertimbangkan overfit. (Jika Anda tertarik, artikel asli adalah bacaan yang bagus: Perbaikan Cross-Validation: The 632+ Metode Bootstrap )
Saya harap ini menjawab pertanyaan Anda. Jika Anda tertarik dengan validasi model, saya sarankan untuk membaca bagian validasi dalam buku . Elemen pembelajaran statistik: penggalian data, inferensi, dan prediksi yang tersedia secara online secara gratis.
Inilah cara Anda dapat memperkirakan tingkat overfitting:
Berikut ini sebuah contoh:
Trefferrate = hit rate (% benar diklasifikasikan), Variablenzahl = jumlah variabel (= kompleksitas model)
Simbol:. resubstitusi, + estimasi internal-satu-keluar pengoptimal hyperparameter, o validasi lintas luar independen pada tingkat pasien
Ini berfungsi dengan ROC, atau ukuran kinerja seperti skor Brier, sensitivitas, spesifisitas, ...
* Saya tidak merekomendasikan bootstrap .632 atau .632+ di sini: mereka telah tercampur dalam kesalahan penggantian: Anda dapat menghitungnya nanti dari perkiraan penggantian dan keluar dari bootstap.
sumber
Overfitting hanyalah konsekuensi langsung dari mempertimbangkan parameter statistik, dan karena itu hasil yang diperoleh, sebagai informasi yang berguna tanpa memeriksa bahwa mereka tidak diperoleh secara acak. Oleh karena itu, untuk memperkirakan keberadaan overfitting kita harus menggunakan algoritma pada database yang setara dengan yang asli tetapi dengan nilai-nilai yang dihasilkan secara acak, mengulangi operasi ini berkali-kali kita dapat memperkirakan probabilitas untuk mendapatkan hasil yang sama atau lebih baik secara acak . Jika probabilitas ini tinggi, kami kemungkinan besar dalam situasi overfitting. Sebagai contoh, probabilitas bahwa polinomial tingkat empat memiliki korelasi 1 dengan 5 titik acak di pesawat adalah 100%, jadi korelasi ini tidak berguna dan kita berada dalam situasi overfitting.
sumber