Meskipun pertanyaan ini agak lama, saya ingin menambahkan jawaban tambahan karena saya pikir lebih baik untuk mengklarifikasi ini.
Pertanyaan saya sebagian dimotivasi oleh utas ini: Jumlah lipatan yang optimal dalam validasi silang K-fold: apakah CV cuti satu kali selalu merupakan pilihan terbaik? . Jawaban di sana menunjukkan bahwa model yang dipelajari dengan validasi silang leave-one-out memiliki varian yang lebih tinggi daripada yang dipelajari dengan validasi silang K-fold reguler, membuat CV leave-one-out menjadi pilihan yang lebih buruk.
Jawaban itu tidak menyarankan itu, dan seharusnya tidak. Mari kita tinjau jawaban yang disediakan di sana:
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 berbicara tentang kinerja . Di sini kinerja harus dipahami sebagai kinerja penduga kesalahan model . Apa yang Anda perkirakan dengan k-fold atau LOOCV adalah kinerja model, baik saat menggunakan teknik-teknik ini untuk memilih model dan untuk menyediakan estimasi kesalahan itu sendiri. Ini BUKAN varians model, ini adalah varians dari estimator kesalahan (model). Lihat contoh (*) di bawah ini.
Namun, intuisi saya memberi tahu saya bahwa dalam CV cuti-keluar satu orang akan melihat varians yang relatif lebih rendah di antara model-model daripada di K-fold CV, karena kita hanya menggeser satu titik data melintasi lipatan dan oleh karena itu pelatihan mengatur antara lipatan tumpang tindih secara substansial.
Memang, ada varian yang lebih rendah antara model, Mereka dilatih dengan dataset yang memiliki pengamatan ! Ketika meningkat, mereka menjadi model yang hampir sama (Dengan asumsi tidak ada stokastik).n−2n
Justru varians yang lebih rendah ini dan korelasi yang lebih tinggi antara model yang membuat estimator yang saya bicarakan di atas memiliki lebih banyak varians, karena estimator itu adalah rata-rata dari jumlah-jumlah yang berkorelasi ini, dan varians dari rata-rata data berkorelasi lebih tinggi daripada data tidak berkorelasi . Di sini ditunjukkan alasannya: varians dari rata-rata data yang berkorelasi dan tidak berkorelasi .
Atau pergi ke arah lain, jika K rendah di K-fold CV, set pelatihan akan sangat berbeda di seluruh lipatan, dan model yang dihasilkan lebih mungkin berbeda (maka varians yang lebih tinggi).
Memang.
Jika argumen di atas benar, mengapa model yang dipelajari dengan CV cuti-out memiliki varian yang lebih tinggi?
Argumen di atas benar. Sekarang, pertanyaannya salah. Varian model adalah topik yang sama sekali berbeda. Ada varian di mana ada variabel acak. Dalam pembelajaran mesin Anda berurusan dengan banyak variabel acak, khususnya dan tidak terbatas pada: setiap pengamatan adalah variabel acak; sampel adalah variabel acak; model, karena dilatih dari variabel acak, adalah variabel acak; penaksir kesalahan yang akan dihasilkan model Anda ketika dihadapkan pada populasi adalah variabel acak; dan last but not least, kesalahan model adalah variabel acak, karena ada kemungkinan kebisingan dalam populasi (ini disebut kesalahan tak tereduksi). Akan ada lebih banyak keacakan jika ada stokastik yang terlibat dalam proses pembelajaran model. Sangat penting untuk membedakan antara semua variabel ini.
(*) Contoh : Misalkan Anda memiliki model dengan kesalahan nyata , di mana Anda harus memahami sebagai kesalahan yang dihasilkan oleh model atas seluruh populasi. Karena Anda memiliki sampel yang diambil dari populasi ini, Anda menggunakan teknik validasi silang atas sampel tersebut untuk menghitung estimasi , yang dapat kami nama . Seperti setiap penaksir, adalah variabel acak, artinya ia memiliki variansnya sendiri, , dan biasnya sendiri, . adalah persis apa yang lebih tinggi ketika menggunakan LOOCV. Sementara LOOCV adalah estimator yang kurang bias dibandingkan dengan witherrerrEerr~err~var(err~)E(err~−err)var(err~)k−foldk<n , ia memiliki lebih banyak varian. Untuk lebih memahami mengapa kompromi antara bias dan varians diinginkan , misalkan , dan Anda memiliki dua penduga: dan . Yang pertama menghasilkan output inierr=10err~1err~2
err~1=0,5,10,20,15,5,20,0,10,15...
sedangkan yang kedua menghasilkan
err~2=8.5,9.5,8.5,9.5,8.75,9.25,8.8,9.2...
Yang terakhir, meskipun memiliki lebih banyak bias, harus lebih disukai, karena memiliki varians jauh lebih sedikit dan bias yang dapat diterima , yaitu kompromi ( trade-off bias-varians ). Harap dicatat bahwa Anda tidak ingin varians sangat rendah jika itu memerlukan bias tinggi!
Catatan tambahan : Dalam jawaban ini saya mencoba untuk mengklarifikasi (apa yang saya pikir) kesalahpahaman yang mengelilingi topik ini dan, khususnya, mencoba untuk menjawab poin demi poin dan tepatnya keraguan yang dimiliki si penanya. Secara khusus, saya mencoba memperjelas perbedaan yang sedang kita bicarakan , yang pada dasarnya ditanyakan di sini. Yaitu saya jelaskan jawaban yang dihubungkan oleh OP.
Walaupun begitu, sementara saya memberikan alasan teoretis di balik klaim tersebut, kami belum menemukan bukti empiris konklusif yang mendukungnya. Jadi tolong berhati-hatilah.
Idealnya, Anda harus membaca posting ini terlebih dahulu dan kemudian merujuk ke jawaban oleh Xavier Bourret Sicotte, yang menyediakan diskusi mendalam tentang aspek empiris.
Last but not least, sesuatu yang lain harus dipertimbangkan: Bahkan jika varians ketika Anda meningkatkan tetap datar (karena kami belum membuktikan secara empiris sebaliknya), dengan cukup kecil memungkinkan untuk pengulangan ( k-lipat berulang ), yang pasti harus dilakukan, misalnya . Ini secara efektif mengurangi varians, dan bukan pilihan ketika melakukan LOOCV.kk−foldk10 × 10 - f o l d10 × 10−fold