Kapan validasi silang bersarang benar-benar diperlukan dan dapat membuat perbedaan praktis?

36

Ketika menggunakan validasi silang untuk melakukan pemilihan model (seperti misalnya penyetelan hyperparameter) dan untuk menilai kinerja model terbaik, seseorang harus menggunakan validasi silang bersarang . Loop luar adalah untuk menilai kinerja model, dan loop dalam adalah untuk memilih model terbaik; model dipilih pada setiap set latihan luar (menggunakan loop CV dalam) dan kinerjanya diukur pada set pengujian luar yang sesuai.

Ini telah dibahas dan dijelaskan dalam banyak utas (seperti misalnya Pelatihan di sini dengan set data lengkap setelah lintas-validasi ? , lihat jawabannya oleh @DikranMarsupial) dan sepenuhnya jelas bagi saya. Melakukan hanya validasi silang (tidak bersarang) sederhana untuk pemilihan model & estimasi kinerja dapat menghasilkan estimasi kinerja yang bias positif. @DikranMarsupial memiliki makalah 2010 tentang topik ini ( Mengenai Over-fitting dalam Pemilihan Model dan Bias Seleksi Selanjutnya dalam Evaluasi Kinerja ) dengan Bagian 4.3 disebut Apakah Over-fitting dalam Pemilihan Model Benarkah Kepedulian yang Asli dalam Praktek? - dan kertas menunjukkan bahwa jawabannya adalah Ya.

Semua itu dikatakan, saya sekarang bekerja dengan multivariate multiple ridge regression dan saya tidak melihat perbedaan antara CV sederhana dan bersarang, dan CV bersarang dalam kasus khusus ini terlihat seperti beban komputasi yang tidak perlu. Pertanyaan saya adalah: dalam kondisi apa CV sederhana akan menghasilkan bias nyata yang dihindari dengan CV bersarang? Kapan CV bersarang penting dalam praktik, dan kapan tidak penting? Apakah ada aturan praktis?

Berikut ini adalah ilustrasi menggunakan dataset saya yang sebenarnya. Sumbu horizontal adalah untuk regresi ridge. Sumbu vertikal adalah kesalahan validasi silang. Garis biru sesuai dengan validasi silang sederhana (tidak bersarang), dengan 50/90 pemisahan pelatihan / uji acak. Garis merah sesuai dengan validasi silang bersarang dengan 50 split pelatihan / tes 90:10 acak, di mana λ dipilih dengan loop validasi silang dalam (juga 50 pemisahan acak 90:10). Garis adalah rata-rata lebih dari 50 pemisahan acak, bayangan menunjukkan ± 1 standar deviasi.log(λ)λ±1

Cross-validasi sederhana vs bersarang

λλ

Memperbarui

Sebenarnya ini masalahnya :-) Hanya saja perbedaannya kecil. Ini adalah zoom-in:

Validasi silang sederhana vs bertingkat, zoom-in

λ=0,00250

Cross-validasi sederhana vs bersarang, perbedaan

λ=0,002

(Saya menjalankan seluruh prosedur beberapa kali, dan itu terjadi setiap saat.)

Pertanyaan saya adalah, dalam kondisi apa kita dapat mengharapkan bias ini sangat kecil, dan dalam kondisi apa kita seharusnya tidak?

amuba kata Reinstate Monica
sumber
Saya tidak terlalu yakin saya memahami diagram, dapatkah Anda menghasilkan sebar plot yang menunjukkan perkiraan kesalahan dari validasi silang bersarang dan tidak bersarang pada setiap sumbu (dengan anggapan 50 perpecahan pelatihan-pelatihan adalah sama setiap kali)? Seberapa besar dataset yang Anda gunakan?
Dikran Marsupial
1
Saya menghasilkan plot pencar, tetapi semua titik sangat dekat dengan diagonal dan sulit untuk melihat adanya penyimpangan dari itu. Jadi sebagai gantinya, saya mengurangi kesalahan CV sederhana (untuk lambda optimal) dari kesalahan CV bersarang dan merencanakan itu di semua split pelatihan-tes. Tampaknya ada bias yang sangat kecil, tetapi nyata! Saya membuat pembaruan. Beri tahu saya jika angka (atau penjelasan saya) membingungkan, saya ingin postingan ini jelas.
Amuba kata Reinstate Monica
Pada paragraf pertama, Anda memiliki model dipilih pada setiap set pelatihan luar ; haruskah itu mungkin batin ?
Richard Hardy
@ RichardHardy Tidak. Tetapi saya dapat melihat bahwa kalimat ini tidak dirumuskan dengan jelas. Model "dipilih" pada setiap set pelatihan luar. Model yang berbeda (misalnya model dengan lambda yang berbeda) cocok pada setiap set pelatihan dalam, diuji pada set tes dalam, dan kemudian salah satu model dipilih , berdasarkan pada seluruh set pelatihan luar. Performanya kemudian dinilai menggunakan set pengujian luar. Apakah masuk akal?
Amuba mengatakan Reinstate Monica

Jawaban:

13

Saya akan menyarankan bahwa bias tergantung pada varian kriteria pemilihan model, semakin tinggi varians, semakin besar kemungkinan biasnya. Varian dari kriteria pemilihan model memiliki dua sumber utama, ukuran dataset yang dievaluasi (jadi jika Anda memiliki dataset kecil, kemungkinan besar biasnya) dan pada stabilitas model statistik (jika parameter model diestimasi dengan baik oleh data pelatihan yang tersedia, ada lebih sedikit fleksibilitas bagi model untuk menyesuaikan kriteria pemilihan model dengan menyetel parameter-hiper). Faktor lain yang relevan adalah jumlah pilihan model yang akan dibuat dan / atau hiper-parameter yang akan disesuaikan.

Dalam penelitian saya, saya melihat model non-linear yang kuat dan dataset yang relatif kecil (biasanya digunakan dalam studi pembelajaran mesin) dan kedua faktor ini berarti bahwa validasi silang bersarang benar-benar perlu. Jika Anda menambah jumlah parameter (mungkin memiliki kernel dengan parameter penskalaan untuk setiap atribut) over-fitting dapat menjadi "bencana". Jika Anda menggunakan model linier dengan hanya satu parameter regularisasi dan jumlah case yang relatif besar (relatif terhadap jumlah parameter), maka perbedaannya mungkin jauh lebih kecil.

Saya harus menambahkan bahwa saya akan merekomendasikan selalu menggunakan validasi silang bersarang, asalkan itu layak secara komputasi, karena menghilangkan kemungkinan sumber bias sehingga kita (dan peer-pengulas; o) tidak perlu khawatir tentang apakah itu benar dapat diabaikan atau tidak.

Dikran Marsupial
sumber
2
Jika Anda menggunakan semua data, bukankah itu secara efektif merencanakan kesalahan set latihan? Cukup sering saya menggunakan model klasifikasi di mana model terbaik memiliki kesalahan set pelatihan nol tetapi kesalahan generalisasi tidak nol, meskipun parameter regularisasi dipilih dengan cermat.
Dikran Marsupial
1
Beberapa ribu pola pelatihan atau kurang. Model seperti apa yang Anda gunakan? Ketika dataset bertambah besar, masalah statistik berkurang dan masalah komputasi meningkat, sebagai aturan umum. k-fold cross-validation hanya k kali lebih lambat daripada menyesuaikan model dasar (termasuk penyetelan hyper-parameter), sehingga jarang berubah dari layak menjadi tidak layak. k-fold cross-valdiation juga mudah diparalelkan, yang biasa saya lakukan.
Dikran Marsupial
1
Itu hanya memberikan perkiraan kinerja yang tidak bias. Intinya bersarang CV memperkirakan kinerja metode pemasangan model termasuk pemilihan model melalui cross-validation. Untuk mendapatkan model operasional, kami biasanya hanya mengulangi metode menggunakan seluruh dataset, yang memberikan pilihan model yang sama dengan prosedur validasi silang "flat".
Dikran Marsupial
1
Saya juga menemukan masalah bersarang CV. Menggunakan CV bersarang tidak bias melibatkan model pas dengan data yang lebih kecil. Untuk 10 kali lipat CV, itu seperti 81% di CV bersarang vs 90% di CV tidak bersarang. Tes lipat juga menjadi 9% vs 10% di non-bersarang. Apakah itu menghasilkan varian tambahan dalam evaluasi model? Khusus untuk dataset kecil, seperti 350 sampel dalam posting ini. Apakah ini 'kerugian' menggunakan CV bersarang? Jika demikian, bagaimana sebaiknya kita memutuskan apakah akan menggunakan CV bersarang vs ukuran dataset? Sangat menghargai pendapat dari pakar seperti Anda tentang masalah ini. Apakah ada makalah yang terkait dengan masalah ini? @Dikran Marsupial
zesla
2
@zesla Ya, memang demikian halnya bahwa ada lebih sedikit data untuk validasi silang dalam, yang akan meningkatkan variansnya, namun model akhir dibuat menggunakan seluruh dataset (termasuk estimasi parameter-hiper). Selalu ada tradeoff antara bias dan varians dalam estimasi kinerja. Sangat penting untuk menggunakan validasi silang bersarang jika dataset kecil karena terlalu pas dalam pemilihan model & bias lebih merupakan masalah. Dalam aplikasi praktis, di mana ada beberapa parameter hiper, perbedaannya mungkin sedikit signifikansi praktis arxiv.org/abs/1809.09446 .
Dikran Marsupial