Apakah 'adil' untuk menetapkan benih dalam regresi hutan acak untuk menghasilkan akurasi tertinggi?


10

Saya memiliki regresi hutan acak yang dibangun menggunakan skl dan saya perhatikan bahwa saya menghasilkan hasil yang berbeda berdasarkan pengaturan benih acak untuk nilai yang berbeda.

Jika saya menggunakan LOOCV untuk menetapkan seed mana yang paling berhasil, apakah ini metode yang valid?


1
Orang-orang melakukannya dalam kompetisi. Padahal untuk akademisi itu akan sulit dibenarkan.
Firebug

2
Pikirkan skenario kasus ekstrem: Kami memainkan permainan: kami melempar dua dadu dan orang-orang dari kita yang mendapatkan jumlah kemenangan yang lebih tinggi. Tapi sebenarnya saya diizinkan melempar dadu dua kali. Apakah itu adil? Izinkan saya menunjukkan bahwa pengaturan benih acak adalah bagian integral dari penelitian yang dapat direproduksi dan harus selalu dilakukan. Namun itu tidak berarti bahwa kita harus mencoba banyak benih yang berbeda sampai kita menemukan "benih yang menguntungkan".
usεr11852

@ usεr11852 apa pendapat Anda tentang komentar saya tentang jawaban yang saat ini diterima? Saya tidak yakin apakah ini berbeda dari restart acak seperti dengan kmeans. Tidak ada yang berpikir kita harus dipaksa untuk menerima menjalankan pertama dari yang kita lakukan, ke titik bahwa restart secara acak dibangun ke fungsi standar di R. Kecuali jika Anda menganggap model berjalan kmeans 100 kali daripada model menjadi satu-satunya pengelompokan terbaik
1818

Tidak — sepertinya definisi overfitting pada keacakan yang sebenarnya.
Mark White

@ Chaconne: Saya sepenuhnya mendukung poin Anda tentang perlunya validasi yang tepat. Yang mengatakan saya pikir ada perbedaan inti dalam dua kasus penggunaan: Dalam kasus k-means (atau optimasi stokastik secara umum) kami mencari "set optimal" parameter sedangkan untuk CV kami peduli untuk "set representatif ". Pada kasus awal kita berusaha untuk menunjukkan "seberapa baik kita bisa" sementara dalam kasus berikutnya "seberapa baik kita akan".
usεr11852

Jawaban:


10

Jawabannya adalah tidak .

Model Anda memberikan hasil yang berbeda untuk setiap benih yang Anda gunakan. Ini adalah hasil dari sifat non-deterministik model. Dengan memilih seed tertentu yang memaksimalkan kinerja pada set validasi berarti Anda memilih "pengaturan" yang paling cocok dengan set ini. Namun, ini tidak menjamin bahwa model dengan seed ini akan tampil lebih baik pada set tes terpisah . Ini berarti bahwa Anda memiliki pakaian berlebih pada set validasi .

Efek ini adalah alasan Anda melihat banyak orang yang berperingkat tinggi dalam kompetisi (misalnya kaggle) pada set ujian publik, jatuh jauh pada set tes tersembunyi. Pendekatan ini tidak dianggap sebagai pendekatan yang benar.


4
Ya, inilah mengapa validasi silang adalah teknik yang sangat kuat dan juga mengapa orang menggunakan validasi dan set tes (satu untuk mendasarkan pemilihan model dan satu untuk mendapatkan evaluasi yang tidak bias).
Djib2011

1
Saya tidak yakin. Dengan optimasi nonconvex itu rutin untuk melakukan restart secara acak karena benih yang berbeda dapat menyebabkan estimasi parameter model yang sangat berbeda dan hanya karena nasib buruk Anda bisa mendapatkan konvergensi buruk. Misal dengan kmeans ini sudah terkenal. Dengan hutan acak hanya kebetulan mungkin model Anda akhirnya membuat terlalu banyak pemisahan di bawah standar. Saya tidak berpikir itu sepatutnya noise untuk mengenali bahwa menjalankan yang berbeda menyebabkan perkiraan parameter model yang berbeda dan beberapa mungkin benar-benar menggeneralisasi lebih baik daripada yang lain. Ini semua dikondisikan pada penilaian yang benar dari kinerja sampel, tentu saja.
jld

5
@ user2723494 Ini valid untuk hiper-parameter dengan harapan meningkatkan kinerja tanpa biaya generalisasi. Namun fine-tuning parameter lagi dan lagi pada set validasi akan menghasilkan efek yang sama seperti yang saya jelaskan (overfitting pada set validasi). Karena pembenihan acak pada dasarnya bersifat stokastik, maka jauh lebih mungkin untuk meningkatkan kinerja karena overfitting daripada benar-benar menghasilkan model yang lebih baik.
Djib2011

4
@ Chaconne Saya tidak mengatakan itu tidak mungkin. Namun dengan prosedur ini, jauh lebih mungkin untuk memilih benih yang cocok daripada yang benar-benar menghasilkan model yang lebih baik ...
Djib2011

4
Sejujurnya, saya tidak pernah menganggap seeding algoritma ML (dan menghilangkan mereka dari sifat stokastik mereka) praktik yang baik. OP menciptakan pertanyaan baru yang menanyakan hal ini. Saya akan tertarik membaca tanggapan Anda!
Djib2011
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.