Saya bertanya-tanya apakah menggunakan cross-validation untuk menemukan parameter tuning terbaik untuk berbagai teknik pembelajaran mesin berbeda dari pengintaian data?
Kekhawatiran Anda tepat, dan ada banyak literatur tentang topik ini, misalnya
- Cawley, GC & Talbot, NLC: On Over-fitting dalam Seleksi Model dan Seleksi Selanjutnya Bias dalam Evaluasi Kinerja, Jurnal Penelitian Mesin Pembelajaran, 11, 2079-2107 (2010).
- Boulesteix, A.-L .: Over-optimisme dalam penelitian bioinformatika., Bioinformatika, 26, 437-439 (2010). DOI: 10.1093 / bioinformatika / btp648
- Jelizarow, M .; Guillemot, V .; Tenenhaus, A .; Strimmer, K. & Boulesteix, A.-L .: Over-optimisme dalam bioinformatika: sebuah ilustrasi., Bioinformatika, 26, 1990-1998 (2010). DOI: 10.1093 / bioinformatika / btq323
Masalahnya adalah bahwa penyetelan hyperparameter dengan validasi silang adalah proses optimasi yang digerakkan oleh data, dan masih akan cenderung untuk menyesuaikan dengan set data (kurang dari penyetelan oleh kesalahan penggantian, tetapi masih). Mencoba menggunakan hasil validasi tala lintas sebagai ukuran kinerja "independen" adalah dengan cara seperti memakan pai (= penyetelan) dan menjaga (= mengukur kinerja model akhir) itu.
Ini tidak berarti bahwa Anda tidak harus menggunakan validasi silang untuk penyetelan hyperparameter. Itu hanya berarti bahwa Anda dapat menggunakannya hanya untuk satu tujuan. Mengoptimalkan atau mengukur kinerja model untuk keperluan validasi.
Solusinya adalah Anda perlu melakukan validasi independen untuk mengukur kualitas model yang diperoleh dengan hiperparameter yang disetel. Ini disebut validasi bertingkat atau ganda. Anda akan menemukan sejumlah pertanyaan dan jawaban di sini tentang topik-topik ini
Secara konseptual, saya suka mengatakan bahwa pelatihan mencakup semua jenis langkah-langkah mewah agar tidak hanya sesuai dengan parameter model "biasa" tetapi juga agar sesuai (auto-tune) dengan hyperparameter. Jadi optimasi data-driven λ jelas merupakan bagian dari pelatihan model.
Sebagai pedoman praktis, Anda juga dapat mengatakan bahwa pelatihan model adalah segalanya yang perlu dilakukan sebelum Anda memiliki fungsi kotak hitam final yang siap digunakan yang dapat menghasilkan prediksi untuk kasus baru.
PS: Saya menemukan terminologi pengujian vs validasi sangat membingungkan karena dalam bidang saya "validasi" berarti membuktikan bahwa model akhir cocok untuk tujuan, dan oleh karena itu apa yang orang lain sebut pengujian daripada validasi. Saya lebih suka menyebut set uji dalam "set uji tuning" dan set "tes validasi akhir" luar atau sejenisnya.
Memperbarui:
Jadi jika model saya (yaitu parameter tuning saya dalam kasus ini) gagal validasi luar, apa yang harus saya lakukan?
Biasanya, ini bukan apa-apa yang terjadi begitu saja: ada situasi khas yang dapat menyebabkan kegagalan seperti itu. Dan semua situasi yang saya sadari adalah situasi overfitting. Anda perlu menyadari bahwa walaupun regularisasi membantu mengurangi jumlah kasus pelatihan yang diperlukan, pengoptimalan berbasis data membutuhkan data dalam jumlah besar.
Rekomendasi saya:
Biasanya, Anda (harus) sudah memiliki ekspektasi kasar, mis. Kinerja apa yang harus dicapai, kinerja apa yang Anda anggap tampan dan mencurigakan. Atau miliki spesifikasi kinerja apa yang perlu Anda capai dan kinerja dasar. Dari itu dan jumlah kasus pelatihan yang tersedia (untuk skema pemisahan yang Anda putuskan), hitung ketidakpastian yang diharapkan untuk tes dalam (penyetelan). Jika ketidakpastian itu menunjukkan bahwa Anda tidak akan bisa mendapatkan perbandingan yang berarti, jangan lakukan optimasi yang didorong data.
Anda harus memeriksa seberapa stabil prediksi yang diperoleh dengan λ yang dipilih dan λ optimal yang ditemukan oleh prosedur pencarian otomatis. Jika λ tidak cukup stabil sehubungan dengan perbedaan data Anda, pengoptimalan tidak berfungsi.
Jika ternyata Anda tidak dapat melakukan optimasi berdasarkan data atau tidak berhasil, Anda dapat memilih λ berdasarkan pengetahuan ahli Anda, misalnya dari pengalaman dengan data yang serupa. Atau dengan pengetahuan bahwa jika Anda menemukan bahwa optimasi gagal, Anda akan membutuhkan regularisasi yang lebih kuat: overfitting yang mengarah pada kegagalan bekerja menuju model yang terlalu kompleks.