Catatan: Kasing adalah n >> p
Saya membaca Elemen Pembelajaran Statistik dan ada berbagai menyebutkan tentang cara "benar" untuk melakukan validasi silang (misalnya halaman 60, halaman 245). Secara khusus, pertanyaan saya adalah bagaimana mengevaluasi model akhir (tanpa set tes terpisah) menggunakan k-fold CV atau bootstrap ketika telah ada pencarian model? Tampaknya dalam sebagian besar kasus (algoritme ML tanpa pemilihan fitur yang disematkan) akan ada
- Langkah pemilihan fitur
- Langkah pemilihan parameter meta (misalnya parameter biaya dalam SVM).
Pertanyaan saya:
- Saya telah melihat bahwa langkah pemilihan fitur dapat dilakukan di mana pemilihan fitur dilakukan pada seluruh pelatihan dan disisihkan. Kemudian, menggunakan k-fold CV, algoritma pemilihan fitur digunakan di setiap flip (mendapatkan fitur yang berbeda mungkin dipilih setiap kali) dan kesalahan rata-rata. Kemudian, Anda akan menggunakan fitur yang dipilih menggunakan semua data (yang disisihkan) untuk melatih mode terakhir, tetapi gunakan kesalahan dari validasi silang sebagai perkiraan kinerja model di masa mendatang. APAKAH INI BENAR?
- Ketika Anda menggunakan validasi silang untuk memilih parameter model, lalu bagaimana cara memperkirakan kinerja model sesudahnya? APAKAH PROSES YANG SAMA SESUAI DENGAN # 1 DI ATAS ATAU HARUS ANDA MENGGUNAKAN CV YANG SESUAI TAMPILKAN PADA HALAMAN 54 ( pdf ) ATAU SESUATU YANG LAIN?
- Ketika Anda melakukan kedua langkah (pengaturan fitur dan parameter) ..... lalu apa yang Anda lakukan? loop bersarang kompleks?
- Jika Anda memiliki sampel penahan terpisah, apakah masalah itu hilang dan Anda dapat menggunakan validasi silang untuk memilih fitur dan parameter (tanpa khawatir karena perkiraan kinerja Anda akan berasal dari set penahan)?
Jawaban:
Hal utama yang perlu diingat adalah bahwa untuk validasi silang untuk memberikan (hampir) estimasi kinerja yang tidak bias setiap langkah yang terlibat dalam pemasangan model juga harus dilakukan secara independen di setiap lipatan prosedur validasi silang. Hal terbaik untuk dilakukan adalah melihat pemilihan fitur, pengaturan meta / hyper-parameter dan mengoptimalkan parameter sebagai bagian integral dari pemasangan model dan tidak pernah melakukan salah satu dari langkah-langkah ini tanpa melakukan dua lainnya.
Bias optimis yang dapat diperkenalkan dengan keluar dari resep itu bisa sangat besar, seperti yang ditunjukkan oleh Cawley dan Talbot , di mana bias yang diperkenalkan oleh keberangkatan yang tampaknya jinak lebih besar daripada perbedaan kinerja antara pengklasifikasi yang bersaing. Protokol yang lebih buruk masih lebih menyukai model buruk, karena mereka lebih sensitif terhadap penyetelan parameter-hiper dan karenanya lebih rentan terhadap kriteria pemilihan model yang terlalu pas!
Jawaban untuk pertanyaan spesifik:
Prosedur dalam langkah 1 ini valid karena pemilihan fitur dilakukan secara terpisah di setiap lipatan, jadi yang Anda validasi silang adalah seluruh prosedur yang digunakan agar sesuai dengan model akhir. Perkiraan cross-validasi akan memiliki sedikit bias pesimis karena dataset untuk setiap flip sedikit lebih kecil dari seluruh dataset yang digunakan untuk model akhir.
Untuk 2, karena validasi silang digunakan untuk memilih parameter model maka Anda perlu mengulangi prosedur itu secara independen di setiap lipatan validasi silang yang digunakan untuk estimasi kinerja, Anda berakhir dengan validasi silang bersarang.
Untuk 3, pada dasarnya, ya Anda perlu melakukan validasi silang bersarang-bersarang. Pada dasarnya Anda perlu mengulangi di setiap lipatan validasi silang terluar (digunakan untuk estimasi kinerja) semua yang ingin Anda lakukan agar sesuai dengan model akhir.
Untuk 4 - ya, jika Anda memiliki set hold-out yang terpisah, maka itu akan memberikan estimasi kinerja yang tidak bias tanpa perlu validasi silang tambahan.
sumber
Saya telah melakukan analisis validasi silang yang luas pada set data yang membutuhkan biaya jutaan, dan tidak ada set validasi eksternal yang tersedia. Dalam hal ini, saya melakukan validasi silang bersarang yang luas untuk memastikan validitas. Saya memilih fitur dan parameter yang dioptimalkan hanya dari set pelatihan masing-masing. Ini mahal secara komputasi untuk set data besar, tetapi itulah yang harus saya lakukan untuk mempertahankan validitas. Namun, ada komplikasi yang menyertainya ... misalnya, fitur yang berbeda dipilih di setiap set pelatihan.
Jadi jawaban saya adalah bahwa dalam kasus di mana Anda tidak memiliki akses yang layak ke set data eksternal, ini adalah cara yang masuk akal untuk pergi. Ketika Anda memang memiliki set data eksternal, Anda dapat pergi ke kota dengan cara yang Anda inginkan pada set data utama dan kemudian menguji sekali pada set data eksternal.
sumber