Memilih angka K terlipat dengan mempertimbangkan kurva belajar
Saya ingin berdebat bahwa memilih jumlah lipatan tepat sangat tergantung pada bentuk dan posisi kurva pembelajaran, sebagian besar karena dampaknya pada bias . Argumen ini, yang meluas hingga meninggalkan-keluar-CV, sebagian besar diambil dari buku "Elemen Pembelajaran Statistik" bab 7.10, halaman 243.K
Untuk diskusi tentang dampak pada varian lihat di siniK
Singkatnya, jika kurva pembelajaran memiliki kemiringan yang cukup besar pada ukuran set pelatihan yang diberikan, validasi silang lima atau sepuluh kali lipat akan melebih-lebihkan kesalahan prediksi sebenarnya. Apakah bias ini merupakan kelemahan dalam praktik tergantung pada tujuannya. Di sisi lain, validasi silang leave-one-out memiliki bias yang rendah tetapi dapat memiliki varian yang tinggi.
Visualisasi intuitif menggunakan contoh mainan
Untuk memahami argumen ini secara visual, pertimbangkan contoh mainan berikut ini di mana kami memasang polinomial derajat 4 dengan kurva sinus berisik:
Secara intuitif dan visual, kami berharap model ini tidak sesuai untuk dataset kecil karena overfitting. Perilaku ini tercermin dalam kurva belajar di mana kami merencanakan Mean Square Error vs Ukuran pelatihan bersama dengan 1 standar deviasi. Perhatikan bahwa saya memilih untuk merencanakan 1 - MSE di sini untuk mereproduksi ilustrasi yang digunakan dalam ESL halaman 2431−±
Membahas argumennya
Kinerja model meningkat secara signifikan karena ukuran pelatihan meningkat menjadi 50 pengamatan. Meningkatkan jumlah lebih lanjut menjadi 200 misalnya hanya membawa manfaat kecil. Pertimbangkan dua kasus berikut:
Jika rangkaian pelatihan kami memiliki 200 pengamatan, validasi silang kali lipat akan memperkirakan kinerja di atas ukuran pelatihan 160 yang hampir sama dengan kinerja untuk pelatihan yang ditetapkan ukuran 200. Dengan demikian, validasi silang tidak akan mengalami banyak bias dan meningkatkan ke. nilai yang lebih besar tidak akan membawa banyak manfaat ( plot sebelah kiri )5K
Namun jika set pelatihan memiliki pengamatan, validasi silang kali lipat akan memperkirakan kinerja model dibandingkan set pelatihan ukuran 40, dan dari kurva pembelajaran ini akan mengarah pada hasil yang bias. Karenanya peningkatan dalam hal ini akan cenderung mengurangi bias. ( plot kanan ).505K
[Perbarui] - Komentar pada metodologi
Anda dapat menemukan kode untuk simulasi ini di sini . Pendekatannya adalah sebagai berikut:
- Hasilkan 50.000 poin dari distribusi mana varian sebenarnya dari dikenalsin(x)+ϵϵ
- Iterasi kali (mis. 100 atau 200 kali). Pada setiap iterasi, ubah dataset dengan resampling poin dari distribusi asliiN
- Untuk setiap set data :
i
- Lakukan validasi silang K-fold untuk satu nilaiK
- Menyimpan rata-rata Mean Square Error (MSE) di seluruh lipatan K
- Setelah loop over selesai, hitung mean dan standar deviasi MSE di seluruh dataset untuk nilaiiiK
- Ulangi langkah-langkah di atas untuk semua dalam rentang hingga LOOCVK{5,...,N}
Pendekatan alternatif adalah dengan tidak mengubah sampel set data baru di setiap iterasi dan sebagai gantinya perombakan set data yang sama setiap kali. Ini sepertinya memberikan hasil yang serupa.