Pertanyaan saya adalah tentang Hutan Acak. Konsep dari pengelompokan yang indah ini jelas bagi saya, tetapi masih ada banyak pertanyaan penggunaan praktis. Sayangnya, saya gagal menemukan panduan praktis untuk RF (saya telah mencari sesuatu seperti "Panduan Praktis untuk Pelatihan Mesin Boltzman Terbatas" oleh Geoffrey Hinton, tetapi untuk Hutan Acak!
Bagaimana seseorang bisa menyetel RF dalam praktik?
Benarkah jumlah pohon yang lebih besar selalu lebih baik? Apakah ada batasan yang masuk akal (kecuali tentu saja kapasitas comp) pada peningkatan jumlah pohon dan bagaimana memperkirakannya untuk dataset yang diberikan?
Bagaimana dengan kedalaman pepohonan? Bagaimana cara memilih yang masuk akal? Adakah perasaan bereksperimen dengan pohon-pohon dengan panjang yang berbeda di satu hutan dan apa pedoman untuk itu?
Apakah ada parameter lain yang layak dilihat saat melatih RF? Algos untuk membangun pohon individu mungkin?
Ketika mereka mengatakan RF tahan terhadap overfitting, seberapa benar itu?
Saya akan menghargai segala jawaban dan / atau tautan ke panduan atau artikel yang mungkin saya lewatkan saat mencari.
sumber
Jawaban:
Saya bukan sosok yang berwibawa, jadi perhatikan catatan singkat praktisi ini:
Semakin banyak pohon selalu lebih baik dengan hasil yang semakin berkurang. Pohon yang lebih dalam hampir selalu lebih baik jika membutuhkan lebih banyak pohon untuk kinerja yang sama.
Dua poin di atas secara langsung merupakan hasil dari tradeoff bias-varians. Pohon yang lebih dalam mengurangi bias; lebih banyak pohon mengurangi varians.
Parameter-hiper yang paling penting adalah berapa banyak fitur yang akan diuji untuk setiap pemisahan. Semakin banyak fitur yang tidak berguna, semakin banyak fitur yang harus Anda coba. Ini perlu disetel. Anda dapat mengurutkannya melalui perkiraan OOB jika Anda hanya ingin mengetahui kinerja Anda pada data pelatihan Anda dan tidak ada kembaran (~ tindakan berulang). Meskipun ini adalah parameter yang paling penting, itu optimal masih biasanya cukup dekat dengan standar yang disarankan asli (sqrt (p) atau (p / 3) untuk klasifikasi / regresi).
Penelitian yang cukup baru menunjukkan Anda bahkan tidak perlu melakukan pencarian split lengkap di dalam fitur untuk mendapatkan kinerja yang baik. Coba saja beberapa titik potong untuk setiap fitur yang dipilih dan lanjutkan. Ini membuat pelatihan lebih cepat. (~ Hutan / Pohon Yang Sangat Acak).
sumber
mtry
lebih baik, tidak ada bukti atau bukti empiris yang diperlukan untuk melihat ini.Jumlah pohon : semakin besar semakin baik: ya. Salah satu cara untuk mengevaluasi dan mengetahui kapan harus berhenti adalah dengan memantau tingkat kesalahan Anda saat membangun hutan Anda (atau kriteria evaluasi lain yang dapat Anda gunakan) dan mendeteksi kapan itu menyatu. Anda bisa melakukannya pada set pembelajaran itu sendiri atau, jika tersedia, pada set tes independen. Juga, harus dicatat bahwa jumlah node uji di pohon Anda dibatasi oleh jumlah objek, jadi jika Anda memiliki banyak variabel dan tidak begitu banyak objek pelatihan, hutan yang lebih besar akan sangat direkomendasikan untuk meningkatkan kemungkinan mengevaluasi semua deskriptor setidaknya sekali di hutan Anda.
Kedalaman Pohon : ada beberapa cara untuk mengontrol seberapa dalam pohon Anda (membatasi kedalaman maksimum, membatasi jumlah node, membatasi jumlah objek yang diperlukan untuk membelah, berhenti membelah jika perpecahan tidak cukup meningkatkan ... ). Sebagian besar waktu, disarankan untuk memangkas (membatasi kedalaman) pohon jika Anda berurusan dengan data berisik. Akhirnya, Anda dapat menggunakan pohon Anda yang sudah berkembang sepenuhnya untuk menghitung kinerja pohon yang lebih pendek karena ini adalah "subset" dari pohon yang sudah berkembang sepenuhnya.
Berapa banyak fitur untuk diuji pada setiap node : memvalidasi silang pengalaman Anda dengan berbagai nilai (termasuk yang direkomendasikan), Anda harus memperoleh kurva kinerja dan dapat mengidentifikasi titik maksimum yang menunjukkan nilai terbaik untuk parameter ini + Shea Parkes menjawab.
Shea Parkes menyebutkan Extra-Trees, ini adalah makalah asli yang menjelaskan secara rinci metode ini: http://orbi.ulg.ac.be/bitstream/2268/9357/1/geurts-mlj-advance.pdf
sumber