Hutan acak dikenal berkinerja cukup baik pada berbagai tugas dan telah disebut sebagai penyusun metode pembelajaran . Apakah ada jenis masalah atau kondisi khusus di mana seseorang harus menghindari penggunaan hutan acak?
Hutan acak dikenal berkinerja cukup baik pada berbagai tugas dan telah disebut sebagai penyusun metode pembelajaran . Apakah ada jenis masalah atau kondisi khusus di mana seseorang harus menghindari penggunaan hutan acak?
Jawaban:
Berpikir tentang bahasa tertentu dari kutipan, seorang penyamak kulit adalah multi-alat: satu perangkat keras dengan banyak alat kecil yang terselip di dalamnya. Ini adalah tang, pisau, obeng, dan lainnya! Alih-alih harus membawa masing-masing alat ini secara terpisah, leatherman adalah item tunggal yang dapat Anda klip di celana Anda sehingga selalu ada di tangan. Ini mudah , tetapi timbal baliknya adalah bahwa masing-masing alat komponen bukan yang terbaik dalam pekerjaannya. Pembuka kaleng sulit digunakan, bit obeng biasanya ukurannya salah, dan pisau bisa menghasilkan sedikit lebih banyak daripada meraut. Jika melakukan salah satu dari tugas-tugas ini sangat penting, Anda akan lebih baik dilayani dengan alat khusus: pisau yang sebenarnya, obeng yang sebenarnya, atau tang yang sebenarnya.
Hutan acak dapat dipikirkan dengan istilah yang sama. Hutan acak menghasilkan hasil yang kuat pada berbagai set data, dan tidak terlalu sensitif terhadap parameter penyetelan. Tapi itu tidak sempurna. Semakin banyak Anda tahu tentang masalah, semakin mudah untuk membangun model khusus untuk mengakomodasi masalah khusus Anda.
Ada beberapa kasus nyata dimana hutan acak akan berjuang:
Sparsity - Ketika data sangat jarang, sangat masuk akal bahwa untuk beberapa node, sampel bootstrap dan subset acak fitur akan berkolaborasi untuk menghasilkan ruang fitur yang invarian. Tidak ada pemisahan produktif yang bisa didapat, jadi tidak mungkin anak-anak simpul ini akan sangat membantu. XGBoost dapat berbuat lebih baik dalam konteks ini.
Data tidak sejajar sumbu - Misalkan ada batas keputusan diagonal dalam ruang dua fitur, dan . Bahkan jika ini adalah satu-satunya dimensi yang relevan dengan data Anda, itu akan mengambil model hutan acak biasa banyak perpecahan untuk menggambarkan batas diagonal itu. Ini karena setiap pemisahan berorientasi tegak lurus terhadap sumbu atau . (Ini harus intuitif karena model hutan acak biasa sedang membuat split dari formulir.) Hutan rotasi, yang melakukan proyeksi PCA pada subset fitur yang dipilih untuk setiap split, dapat digunakan untuk mengatasi hal ini: proyeksi menjadi basis ortogonal, pada prinsipnya, akan mengurangi pengaruh properti sejajar sumbu karena pemisahan tidak akan lagi sejajar sumbu di dasar aslinya.
Gambar ini memberikan contoh lain tentang bagaimana perpecahan sumbu mempengaruhi keputusan hutan secara acak. Batas keputusan adalah lingkaran di titik asal, tetapi perhatikan bahwa model hutan acak khusus ini menggambar kotak untuk memperkirakan lingkaran. Ada beberapa hal yang dapat dilakukan untuk meningkatkan batasan ini; yang paling sederhana termasuk mengumpulkan lebih banyak data dan membangun lebih banyak pohon.
Tikungan tajam. Ketepatan.
Mereka menggunakan metode difusi. Mereka cocok dengan hal-hal yang kental. Mereka tidak cocok dengan hal-hal rumit dan sangat rinci dengan baik ketika ukuran sampel rendah. Saya akan membayangkan bahwa mereka tidak bekerja dengan baik pada data deret waktu multivariat - ketika sesuatu di sini tergantung pada satu hal di kejauhan.
Hutan yang ditingkatkan secara gradien mungkin cocok atau terlalu pas, tetapi bisa mendapatkan kesalahan yang jauh lebih rendah untuk data yang sama.
" Leathermen " tidak ada. Tidak ada "peluru perak". Ada kotak alat. Ketahui alat-alat Anda, dan jaga baik-baik agar mereka dapat merawat Anda. Berhati-hatilah dengan "ketika Anda palu, maka setiap masalah tampak seperti paku" terutama ketika Anda tidak memiliki perpustakaan yang padat di kotak peralatan Anda.
Sampai Anda tahu masalahnya dengan baik, mudah untuk membayangkan apa pun yang bisa menyelesaikannya, atau alat favorit Anda yang bisa menyelesaikannya. Kebijaksanaan menyarankan untuk memahami masalah secara mendalam, dan menjadi sangat akrab dengan alat Anda.
Ditambahkan: Jika Anda memiliki sumber daya komputasi yang cukup atau batas waktu untuk menggunakan sesuatu yang lain. RF tidak hanya cepat untuk dilatih, tetapi juga cepat untuk dieksekusi. Struktur yang dikuatkan sangat dalam kurang dari itu. Anda harus memiliki overhead untuk mendukungnya.
Ini adalah pertama kalinya saya benar-benar menjawab pertanyaan, jadi jangan beri tahu saya .. tapi saya pikir saya bisa menjawab pertanyaan Anda:
Jika Anda memang hanya tertarik pada kinerja model dan tidak dalam hal seperti interpretability random forest memang seringkali merupakan algoritma pembelajaran yang sangat baik, tetapi berkinerja sedikit lebih buruk dalam kasus-kasus berikut:
1.) Ketika dimensi (jumlah fitur) sangat tinggi sehubungan dengan jumlah sampel pelatihan, dalam kasus-kasus tersebut, regresi linier yang teregulasi atau SVM akan lebih baik.
2.) Dalam kasus ini terdapat representasi orde tinggi / struktur konvolusional dalam data, seperti misalnya dalam masalah penglihatan komputer. Dalam kasus-kasus visi komputer jaringan saraf convolutional akan mengungguli hutan acak (Secara umum jika ada pengetahuan seseorang dapat dimasukkan ke dalam pembelajaran yang merupakan hal yang lebih baik).
Itu dikatakan hutan acak adalah titik awal yang sangat baik. Salah satu orang yang saya kagumi karena keterampilan Pembelajaran Mesinnya selalu dimulai dengan belajar hutan acak dan regresi linier yang teratur.
Namun, jika Anda menginginkan kinerja terbaik saya yakin saat ini jaringan syaraf alias. Deep Learning terlihat seperti pendekatan yang sangat menarik. Semakin banyak pemenang di situs web tantangan data seperti Kaggle menggunakan model Deep Learning untuk kompetisi. Pro lain dari jaringan saraf adalah bahwa mereka dapat menangani jumlah sampel yang sangat besar (> 10 ^ 6 orang dapat melatih mereka menggunakan penurunan gradien stokastik, memberi makan bit data sekaligus). Secara pribadi saya menemukan ini pro yang sangat menarik untuk Deep Learning.
Pertama-tama, Hutan Acak tidak dapat diterapkan ke tipe data berikut:
Untuk tipe data tabular, selalu baik untuk memeriksa Random Forest karena: