Pertama, permintaan maaf karena memposting pertanyaan yang telah dibahas panjang lebar di sini , di sini , di sini , di sini , di sini, dan untuk memanaskan kembali topik lama. Saya tahu @DikranMarsupial telah menulis tentang topik ini secara panjang lebar di posting dan makalah jurnal, tapi saya masih bingung, dan menilai dari jumlah posting serupa di sini, itu masih sesuatu yang sulit dipahami orang lain. Saya juga harus menyatakan bahwa saya telah menerima kontradiksi tentang topik ini yang telah menambah kebingungan saya. Anda juga harus tahu bahwa saya awalnya seorang ahli fisika dan bukan ahli statistik, jadi keahlian domain saya di sini agak terbatas. Saya sedang menulis makalah jurnal di mana saya ingin menggunakan CV bersarang untuk memperkirakan kinerja yang dapat saya harapkan dari model terakhir saya. Di domain saya, ini yang pertama. (Kami hampir tidak pernah menggunakan apa sajabentuk CV yang kuat di bidang saya tetapi dengan gembira memompa kertas dengan hasil dari penelitian menggunakan jaring saraf dan meningkatkan pohon keputusan!) Oleh karena itu, sangat penting bahwa saya memiliki pemahaman yang sangat menyeluruh dan jelas sehingga saya tidak mengacaukan dan menyebarkan prosedur yang salah bagi komunitas saya yang dapat bertahun-tahun untuk dihapus! Terima kasih! Dengan pertanyaan ...
Bagaimana cara membuat model akhir setelah validasi silang bersarang?
Saya melatih model glmnet sederhana dengan regularisasi L1 dan L2. Cepat, sederhana, dan bisa ditafsirkan. Saya melakukan pemusatan fitur, penskalaan, dan transformasi Box-Cox ke distribusi fitur yang berpusat pada rata-rata, terstandarisasi dan agak mirip Gaussian. Saya melakukan langkah ini dalam validasi silang, untuk mencegah kebocoran informasi. Murni karena perangkat keras saya sangat lambat dan saya tidak memiliki akses ke lebih banyak otot CPU, saya juga melakukan pemilihan fitur berbasis filter cepat dalam CV setelah preprocessing fitur. Saya menggunakan pencarian grid acak untuk memilih hyperparameters alpha dan lambda. Saya mengerti bahwa saya tidak bolehCV loop untuk mendapatkan estimasi ini. Saya mengerti bahwa loop CV dalam digunakan untuk pemilihan model (dalam hal ini, hiperparameter optimal) dan bahwa loop luar digunakan untuk evaluasi model , yaitu, CV dalam dan luar melayani dua tujuan yang berbeda yang sering kali disatukan secara keliru. (Bagaimana yang saya lakukan sejauh ini?)
Sekarang, tautan yang saya posting menyarankan bahwa "cara untuk memikirkan cross-validasi adalah dengan memperkirakan kinerja yang diperoleh dengan menggunakan metode untuk membangun model, daripada untuk memperkirakan kinerja model". Mengingat itu, bagaimana saya harus menginterpretasikan hasil prosedur CV bersarang?
Saran yang saya baca tampaknya mengindikasikan yang berikut --- tolong perbaiki saya jika ini salah: CV bagian dalam adalah mekanisme yang memungkinkan saya memilih hyperparameter alpha dan lambda optimal dari model glmnet saya. CV luar memberi tahu perkiraan yang bisa saya dapatkan dari model akhir jika saya menerapkan prosedur persis seperti yang digunakan dalam CV batin termasuk penyetelan hyperparameter dan menggunakan seluruh dataset untuk membangun model akhir. Artinya, penyetelan hyperparameter adalah bagian dari "metode untuk membangun model". Apakah ini benar atau tidak? Karena inilah yang membingungkan saya. Di tempat lain saya telah melihat bahwa prosedur untuk membangun model akhir yang akan digunakan melibatkan pelatihan pada seluruh dataset menggunakan nilai-nilai tetapdari hiperparameter yang telah dipilih menggunakan CV. Di sini, "metode untuk membangun model" tidak termasuk penyetelan. Jadi, mana yang benar? Pada titik tertentu, hiperparameter optimal dipilih dan diperbaiki untuk membangun model akhir! Dimana? Bagaimana? Jika loop dalam saya adalah CV 5 kali lipat, dan loop luar saya adalah CV 5 kali lipat, dan saya pilih, katakanlah, 100 poin untuk pengujian sebagai bagian dari pencarian grid acak di CV dalam, berapa kali saya benar-benar melatih glmnet model? (100 * 5 * 5) +1 untuk bangunan final, atau ada langkah-langkah lain yang saya tidak sadari?
Pada dasarnya, saya memerlukan deskripsi yang sangat jelas tentang bagaimana menafsirkan estimasi kinerja dari CV bersarang dan bagaimana membangun model akhir.
Saya juga ingin mengetahui prosedur yang tepat untuk memilih ambang probabilitas untuk mengubah skor probabilitas dari model glmnet akhir saya menjadi label kelas (biner) --- diperlukan loop CV lagi?
sumber