Melatih vs Kesenjangan Kesalahan Tes dan hubungannya dengan Overfitting: Merekonsiliasi saran yang bertentangan

14

Tampaknya ada saran yang bertentangan di luar sana tentang bagaimana menangani membandingkan kesalahan kereta vs tes, terutama ketika ada kesenjangan antara keduanya. Tampaknya ada dua aliran pemikiran yang bagi saya, tampaknya bertentangan. Saya ingin memahami cara mendamaikan keduanya (atau memahami apa yang saya lewatkan di sini).

Pemikiran # 1: Kesenjangan antara kereta dan kinerja set tes saja tidak menunjukkan overfitting

Pertama, (juga dibahas di sini: Bagaimana pelatihan dan pengujian perbandingan kesalahan bisa menjadi indikasi overfitting? ), Gagasan bahwa perbedaan antara kereta dan set tes saja tidak dapat menunjukkan overfitting. Ini sesuai dengan pengalaman praktis saya dengan, misalnya, metode ensemble tree, di mana bahkan setelah penyetelan parameter hyper-validation lintas, kesenjangan antara kereta dan kesalahan pengujian dapat tetap agak besar. Tapi (terlepas dari tipe model) selama kesalahan validasi Anda tidak kembali, Anda baik. Setidaknya, itulah pemikirannya.

Pemikiran # 2: Ketika Anda melihat celah antara kereta dan kinerja tes: Lakukan hal-hal yang akan memerangi overfitting

Namun, kemudian ada saran yang Anda lihat, dari sumber yang sangat baik yang menunjukkan bahwa kesenjangan antara kereta dan kesalahan tes merupakan indikasi overfitting. Berikut ini contohnya: Pembicaraan "Mur dan Baut Pembelajaran Dalam" oleh Andrew Ng (obrolan fantastis) https://www.youtube.com/watch?v=F1ka6a13S9I di mana sekitar pukul 48.00 ia menggambar bagan alur yang mengatakan "jika kesalahan set kereta Anda rendah dan set kesalahan kereta-dev Anda tinggi, Anda harus menambahkan regularisasi, mendapatkan lebih banyak data, atau mengubah arsitektur model" ... yang merupakan tindakan yang mungkin Anda ambil untuk memerangi overfitting.

Yang membawa saya ke ... : Apakah saya kehilangan sesuatu di sini? Apakah ini model aturan praktis yang spesifik (umumnya model yang lebih sederhana tampaknya memiliki sedikit kesenjangan antara kereta dan tes)? Atau apakah hanya ada dua aliran pemikiran yang berbeda?

ednaMode
sumber

Jawaban:

4

Saya kira ini bukan saran yang saling bertentangan. Apa yang kami benar-benar tertarik adalah kinerja out-of-sample yang baik, bukan dalam mengurangi kesenjangan antara pelatihan dan kinerja test set. Jika kinerja set uji mewakili kinerja out-of-sample (yaitu set tes cukup besar, tidak terkontaminasi dan merupakan sampel representatif dari data yang akan diterapkan oleh model kami), maka selama kami mendapatkan kinerja yang baik pada set tes kami tidak overfitting, terlepas dari celahnya.

Namun, sering kali, jika ada kesenjangan yang besar, itu mungkin menunjukkan bahwa kita bisa mendapatkan kinerja set tes yang lebih baik dengan lebih banyak regularisasi / memperkenalkan lebih banyak bias pada model. Tetapi itu tidak berarti bahwa kesenjangan yang lebih kecil berarti model yang lebih baik; hanya saja jika kita memiliki kesenjangan kecil atau tidak sama sekali antara pelatihan dan kinerja set tes, kita tahu kita pasti tidak overfitting sehingga menambahkan regularisasi / memperkenalkan lebih banyak bias pada model tidak akan membantu.

rinspy
sumber
Poin yang menarik. Untuk meringkas "tidak ada jarak antara kereta dan tes" berarti sama sekali tidak ada overfitting, tetapi "beberapa kesenjangan antara kereta dan tes" mungkin atau mungkin tidak berarti overfitting. Jika kita menggunakan logika itu, diagram alur dalam pembicaraan Andrew Ng tampaknya sedikit menyesatkan: itu tidak sebanting slam seperti yang ditunjukkan oleh slide yaitu jika Anda memiliki celah, Anda dapat mencoba regularisasi atau mendapatkan lebih banyak data, tetapi mungkin tidak membantu. Apakah kamu setuju?
ednaMode
1
Dari pengalaman saya, ya, saya setuju.
rinspy
"Untuk meringkas tidak ada kesenjangan antara kereta dan tes berarti pasti tidak ada overfitting" mungkin belum tentu berlaku. Ketika Anda memiliki jumlah data yang tak terbatas, Anda akan mendapatkan jarak nol antara kereta dan tes meskipun modelnya sesuai. Jadi saya pikir pernyataan itu valid, Anda perlu beberapa asumsi lagi.
LKS
@LKS Saya tidak yakin apa yang Anda maksud dengan overfitting di sini. Kinerja out-of-sample akan selalu kurang dari atau sama dengan kinerja in-sample, dengan asumsi bahwa distribusi data tetap konstan. Jadi zero gap adalah skenario kasus terbaik kami. Bagaimana bisa ada overfitting dengan zero gap?
rinspy
@rinspy jika Anda mendefinisikan overfitting sebagai kesenjangan numerik antara data pelatihan dan pengujian, maka pernyataan Anda benar. Tapi saya ingin lebih banyak alasan tentang apa yang model lakukan. Sebagai contoh, kami memiliki fungsi polinomial derajat 3 dan hasilnya akan mencakup noise Gaussian kecil. Jika kita memiliki sampel hingga dan menggunakan polinomial derajat 5 agar sesuai, ada kinerja yang besar antara masuk dan keluar dari sampel (prediksi). Tetapi jika kita bisa menggambar sampel yang hampir tak terbatas, model yang menghafal murni akan memiliki nol dalam / keluar dari kesalahan sampel.
LKS