Karena OP telah memberikan hadiah pada pertanyaan ini, ia harus menarik perhatian, dan karenanya merupakan tempat yang tepat untuk membahas beberapa ide umum, bahkan jika ia tidak menjawab OP secara langsung.
Nama pertama:
a) validasi silang adalah nama umum untuk semua teknik estimasi / pengukuran yang menggunakan set tes berbeda dari set kereta. Sinonim: estimasi out-of-sample atau extra-sample. Antonim: estimasi dalam sampel.
Estimasi sampel adalah teknik yang menggunakan beberapa informasi pada set pelatihan untuk memperkirakan kualitas model (tidak harus kesalahan). Ini sangat umum jika model memiliki bias tinggi - yaitu - membuat asumsi yang kuat tentang data. Dalam model linier (model bias tinggi), seperti pada contoh pertanyaan, seseorang menggunakan R-squared, AIC, BIC, deviance, sebagai ukuran kualitas model - semua ini adalah penduga dalam sampel. Dalam SVM, misalnya, data rasio dalam vektor dukungan terhadap jumlah data adalah estimasi kesalahan sampel model.
Ada banyak teknik validasi silang:
b) bertahan adalah metode # 1 di atas. Bagi set menjadi pelatihan dan satu tes. Ada sejarah panjang diskusi dan praktik tentang ukuran relatif pelatihan dan set tes.
c) k -fold - metode # 2 di atas. Cukup standar.
d) Tinggalkan satu - keluar - metode # 3 di atas.
e) bootstrap : jika set Anda memiliki data N , pilih secara acak sampel N DENGAN PENGGANTIAN dari set dan gunakan sebagai pelatihan. Data dari set asli yang belum menjadi sampel setiap saat digunakan sebagai set uji. Ada berbagai cara untuk menghitung estimasi akhir dari kesalahan model yang menggunakan kesalahan untuk set tes (di luar sampel) dan kesalahan untuk set kereta (dalam-sampel). Lihat misalnya, .632 bootstrap. Saya pikir ada juga rumus .632+ - mereka adalah rumus yang memperkirakan kesalahan sebenarnya dari model menggunakan kesalahan di luar sampel dan di dalam sampel.
f) Orthogonal untuk pemilihan metode di atas adalah masalah pengulangan. Kecuali untuk cuti satu, semua metode di atas dapat diulang beberapa kali. Bahkan seseorang dapat berbicara tentang hold-out REPEATED, atau REPEATED k -fold. Agar adil, hampir selalu metode bootstrap digunakan secara berulang.
Pertanyaan selanjutnya adalah, metode mana yang "lebih baik". Masalahnya adalah apa artinya "lebih baik".
1) Jawaban pertama adalah apakah masing-masing metode ini bias untuk estimasi kesalahan model (untuk jumlah data masa depan yang tak terbatas).
2) Alternatif kedua adalah seberapa cepat atau seberapa baik masing-masing metode ini bertemu dengan kesalahan model yang sebenarnya (jika mereka tidak bias). Saya percaya ini masih menjadi topik penelitian. Izinkan saya menunjukkan dua makalah ini (di balik dinding berbayar) tetapi abstraknya memberi kita pemahaman tentang apa yang ingin mereka capai. Perhatikan juga bahwa sangat umum untuk memanggil k -fold sebagai "cross-validation" dengan sendirinya.
Mungkin ada banyak makalah lain tentang topik ini. Itu hanya beberapa contoh.
3) Aspek lain dari "lebih baik" adalah: diberikan ukuran tertentu dari kesalahan model menggunakan salah satu teknik di atas, seberapa yakin Anda bahwa kesalahan model yang benar sudah dekat.
Secara umum, dalam hal ini Anda ingin mengambil banyak ukuran kesalahan dan menghitung interval kepercayaan (atau interval yang kredibel jika Anda mengikuti pendekatan Bayesian). Dalam hal ini, masalahnya adalah seberapa banyak Anda bisa mempercayai varians dari serangkaian tindakan kesalahan. Perhatikan bahwa kecuali untuk cuti satu, semua teknik di atas akan memberi Anda banyak ukuran berbeda (pengukuran k untuk lipatan k , n pengukuran untuk penahan berulang n ) dan dengan demikian Anda dapat mengukur varians (atau standar deviasi) ) dari set ini dan menghitung interval kepercayaan untuk ukuran kesalahan.
Di sini segalanya menjadi agak rumit. Dari apa yang saya pahami dari makalah. Tidak ada penaksir yang tidak bias dari varian k -fold cross-validation (bukan di belakang paywall), orang tidak bisa mempercayai varian yang Anda dapatkan dari k -fold - jadi orang tidak dapat membangun interval kepercayaan yang baik dari k - lipatan. Juga dari apa yang saya mengerti dari kertas Tes statistik Perkiraan untuk Membandingkan Diawasi Klasifikasi Belajar Algoritma (tidak di belakang paywall), teknik yang menggunakan tindakan berulang (diulang k-lipat, tahan terus-menerus - tidak yakin tentang bootstrap) akan men-sub-estimasi varians sebenarnya dari ukuran kesalahan (agak mudah untuk melihatnya - karena Anda mengambil sampel dari himpunan terbatas jika Anda mengulangi pengukuran dengan jumlah yang sangat besar) Terkadang, nilai yang sama akan terus berulang, yang berarti tetap sama, tetapi mengurangi varians). Dengan demikian teknik pengukuran yang diulang akan terlalu optimis pada interval kepercayaan.
Makalah terakhir ini menyarankan untuk melakukan 5 kali lipat 2 kali lipat - yang dia sebut 5 × 2 CV - sebagai keseimbangan yang baik dari banyak tindakan (10) tetapi tidak terlalu banyak pengulangan.
EDIT:
Tentu saja ada jawaban yang bagus di Cross yang divalidasi untuk beberapa pertanyaan ini (meskipun kadang-kadang mereka tidak setuju di antara mereka sendiri). Inilah beberapa:
Validasi silang atau bootstrap untuk mengevaluasi kinerja klasifikasi?
Perbedaan antara validasi silang dan bootstrap untuk memperkirakan kesalahan prediksi
Validasi silang atau bootstrap untuk mengevaluasi kinerja klasifikasi?
Memahami bootstrap untuk validasi dan pemilihan model
Secara umum, validasi silang tag adalah teman Anda di sini.
Jadi apa solusi terbaik? Saya tidak tahu Saya telah menggunakan CV 5 × 2 ketika saya harus sangat teliti, ketika saya perlu memastikan bahwa satu teknik lebih baik daripada yang lain, terutama di publikasi. Dan saya menggunakan penahan jika saya tidak berencana untuk mengukur varians atau standar deviasi, atau jika saya memiliki batasan waktu - hanya ada satu model yang belajar dalam penunda .