10 kali lipat Cross-validation vs valid-one-out cross-validation

25

Saya sedang melakukan validasi silang bersarang. Saya telah membaca bahwa validasi silang tinggalkan satu dapat bias (tidak ingat mengapa).

Apakah lebih baik menggunakan 10 kali lipat cross-validasi atau cuti-satu-out cross-validasi terpisah dari runtime lebih lama untuk cuti-satu-out cross-validasi?

mesin
sumber
1
Apakah Anda ingat di mana Anda membacanya?
Richard Hardy
5
Pernahkah Anda melihat posting ini tentang bias? Juga, jawaban ini memiliki kutipan dari buku yang sangat bagus yang merekomendasikan validasi silang 5 kali lipat atau 10 kali lipat.
Eric Farng
1
Posting ini sedikit terkait.
Richard Hardy
1
Terima kasih. Jadi secara keseluruhan dapat dikatakan bahwa saya harus menggunakan CV 10 kali lipat dan bukannya CV satu kali keluar? Apakah ini juga berlaku untuk dataset kecil?
permesinan
1
@Thomas, ketika dataset Anda terlalu kecil Anda berakhir hampir melakukan LOO-CV sehingga kepentingan berkurang CV 10 kali lipat ukuran dataset Anda menurun.
cdeterman

Jawaban:

27

Hanya dengan menambahkan sedikit ke jawaban @SubravetiSuraj (+1)

Validasi silang memberikan perkiraan kinerja yang pesimistis bias karena sebagian besar model statistik akan meningkat jika set pelatihan dibuat lebih besar. Ini berarti bahwa validasi silang k-fold memperkirakan kinerja model yang dilatih pada dataset 100 * (k-1) / k% dari data yang tersedia, bukan pada 100% dari itu. Jadi, jika Anda melakukan validasi silang untuk memperkirakan kinerja, dan kemudian menggunakan model yang dilatih pada semua data untuk penggunaan operasional, itu akan melakukan sedikit lebih baik daripada perkiraan estimasi validasi silang.

Validasi silang Leave-one-out sekitar tidak bias , karena perbedaan ukuran antara set pelatihan yang digunakan di setiap lipatan dan seluruh dataset hanya satu pola tunggal. Ada makalah tentang ini oleh Luntz dan Brailovsky (dalam bahasa Rusia).

Luntz, Aleksandr, dan Viktor Brailovsky. "Pada estimasi karakter yang diperoleh dalam prosedur statistik pengakuan." Technicheskaya Kibernetica 3.6 (1969): 6-12.

Lihat juga

Estimasi Tingkat Kesalahan dalam Analisis Diskriminan Peter A. Lachenbruch dan M. Ray Mickey Technometrics Vol. 10, Iss. 1,1968

Namun, sementara validasi silang cuti-keluar-keluar kira-kira tidak bias, cenderung memiliki varians tinggi (sehingga Anda akan mendapatkan perkiraan yang sangat berbeda jika Anda mengulangi perkiraan dengan sampel data awal yang berbeda dari distribusi yang sama). Karena kesalahan estimator adalah kombinasi antara bias dan varians, apakah validasi silang meninggalkan-satu-keluar lebih baik daripada cross-validasi 10 kali lipat tergantung pada kedua kuantitas.

Sekarang varians dalam pas model cenderung lebih tinggi jika dipasang ke dataset kecil (karena lebih sensitif terhadap suara apapun / sampel artefak dalam sampel pelatihan tertentu yang digunakan). Ini berarti bahwa 10 kali lipat cross-validasi cenderung memiliki varians tinggi (serta bias lebih tinggi) jika Anda hanya memiliki jumlah terbatas data, sebagai ukuran training set akan lebih kecil daripada LOOCV. Jadi k-fold cross-validation dapat memiliki masalah varians juga, tetapi untuk alasan yang berbeda. Inilah sebabnya mengapa LOOCV seringkali lebih baik ketika ukuran dataset kecil.

Namun, alasan utama untuk menggunakan LOOCV menurut saya adalah karena secara komputasi murah untuk beberapa model (seperti regresi linier, sebagian besar metode kernel, pengklasifikasi tetangga terdekat, dll.), Dan kecuali dataset sangat kecil, saya akan menggunakan 10 kali lipat validasi silang jika sesuai dengan anggaran komputasi saya, atau lebih baik lagi, estimasi bootstrap dan bagging.

Dikran Marsupial
sumber
2
+1 untuk referensi Rusia 1969 yang tidak jelas! Apakah Anda memiliki referensi yang baik untuk LOOCV yang memiliki varian tinggi? Hal ini dinyatakan dalam Hastie et al tapi saya tidak yakin saya 100% yakin dengan argumen dan saya belum melihat demonstrasi empiris (simulasi).
Amoeba berkata Reinstate Monica
3
ya, saya tidak berpikir saya setuju dengan itu, karena mengasumsikan bahwa model stabil di bawah gangguan yang disebabkan oleh menghapus sampel uji, yang hanya mungkin mendekati kenyataan jika Anda memiliki dataset yang sangat besar (yaitu hanya asimptotik yang benar, tetapi jika Anda memiliki data sebanyak itu, hampir semua skema evaluasi kinerja yang masuk akal akan memberi Anda hasil yang sama).
Dikran Marsupial
2
+1 (baik pos maupun komentar terbaru - makalah bagus tapi tidak boleh diikuti (seperti makalah lain)).
usεr11852 mengatakan Reinstate Monic
2
@Dikran Topik ini (dari LOOCV memiliki varian terbesar) muncul lagi dalam pertanyaan yang terpisah dan cukup menarik: stats.stackexchange.com/questions/280665 , Anda mungkin ingin melihatnya.
Amoeba berkata Reinstate Monica
2
k
20

Menurut pendapat saya, tinggalkan satu validasi silang lebih baik ketika Anda memiliki satu set kecil data pelatihan. Dalam hal ini, Anda tidak dapat membuat 10 lipatan untuk membuat prediksi tentang penggunaan sisa data Anda untuk melatih model.

Jika Anda memiliki sejumlah besar data pelatihan di sisi lain, validasi silang 10 kali lipat akan menjadi taruhan yang lebih baik, karena akan ada terlalu banyak iterasi untuk meninggalkan satu validasi silang, dan mempertimbangkan banyak hasil ini untuk menyetel hyperparameter Anda mungkin bukan ide yang bagus.

Menurut ISL, selalu ada trade-off bias-varians antara melakukan validasi cuti satu dan k lipat lintas. Di LOOCV (biarkan satu CV keluar), Anda mendapatkan perkiraan kesalahan tes dengan bias lebih rendah, dan varians yang lebih tinggi karena setiap set pelatihan berisi n-1 contoh, yang berarti bahwa Anda menggunakan hampir seluruh set pelatihan di setiap iterasi. Ini mengarah ke varians yang lebih tinggi juga, karena ada banyak tumpang tindih antara set pelatihan, dan dengan demikian estimasi kesalahan tes sangat berkorelasi, yang berarti bahwa nilai rata-rata estimasi kesalahan tes akan memiliki varian yang lebih tinggi.

Kebalikannya benar dengan CV k-fold, karena ada relatif kurang tumpang tindih antara set pelatihan, sehingga estimasi kesalahan tes kurang berkorelasi, sebagai akibatnya nilai kesalahan tes rata-rata tidak akan memiliki varian sebanyak LOOCV.

Subraveti Suraj
sumber