Selain pertimbangan daya komputasi, adakah alasan untuk meyakini bahwa meningkatkan jumlah lipatan dalam validasi silang mengarah pada pemilihan model yang lebih baik / validasi (yaitu bahwa semakin tinggi jumlah lipatan semakin baik)?
Mengambil argumen ke ekstrem, apakah validasi silang meninggalkan-satu-keluar harus mengarah ke model yang lebih baik daripada lipat lintas-validasi?
Beberapa latar belakang pada pertanyaan ini: Saya sedang mengerjakan masalah dengan sangat sedikit contoh (misalnya 10 positif dan 10 negatif), dan saya khawatir bahwa model saya mungkin tidak menggeneralisasi dengan baik / akan memakai terlalu sedikit data.
cross-validation
bias-variance-tradeoff
Amelio Vazquez-Reina
sumber
sumber
Jawaban:
Validasi silang Leave-one-out umumnya tidak mengarah pada kinerja yang lebih baik daripada K-fold, dan lebih cenderung menjadi lebih buruk , karena memiliki varians yang relatif tinggi (yaitu nilainya berubah lebih banyak untuk sampel data yang berbeda daripada nilai untuk k-fold cross-validation). Ini buruk dalam kriteria pemilihan model karena itu berarti kriteria pemilihan model dapat dioptimalkan dengan cara-cara yang hanya mengeksploitasi variasi acak dalam sampel data tertentu, daripada membuat peningkatan kinerja yang murni, yaitu Anda lebih cenderung over-fit kriteria pemilihan model. Alasan validasi silang keluar satu kali digunakan dalam praktik adalah bahwa untuk banyak model dapat dievaluasi dengan sangat murah sebagai produk sampingan dari pemasangan model.
Jika biaya komputasi bukan merupakan masalah utama, pendekatan yang lebih baik adalah melakukan validasi silang k-fold berulang, di mana prosedur validasi silang k-fold diulangi dengan partisi acak yang berbeda ke dalam himpunan bagian yang terpisah setiap kali. Ini mengurangi varians.
Jika Anda hanya memiliki 20 pola, kemungkinan besar Anda akan mengalami over-fitting kriteria pemilihan model, yang merupakan perangkap yang banyak diabaikan dalam statistik dan pembelajaran mesin (plug shameless: lihat makalah saya tentang topik). Anda mungkin lebih baik memilih model yang relatif sederhana dan mencoba untuk tidak mengoptimalkannya dengan sangat agresif, atau mengadopsi pendekatan Bayesian dan rata-rata atas semua pilihan model, tertimbang oleh masuk akal mereka. Optimalisasi IMHO adalah akar dari semua kejahatan dalam statistik, jadi lebih baik tidak mengoptimalkan jika Anda tidak perlu, dan mengoptimalkan dengan hati-hati setiap kali Anda melakukannya.
Perhatikan juga jika Anda akan melakukan pemilihan model, Anda perlu menggunakan sesuatu seperti validasi silang bersarang jika Anda juga memerlukan perkiraan kinerja (yaitu, Anda perlu mempertimbangkan pemilihan model sebagai bagian integral dari prosedur pemasangan model dan melakukan validasi silang yang demikian juga).
sumber
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
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 )5 K
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 ).50 5 K
[Perbarui] - Komentar pada metodologi
Anda dapat menemukan kode untuk simulasi ini di sini . Pendekatannya adalah sebagai berikut:
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.
sumber