Gradient Boosting Tree vs Random Forest

110

Penguatan pohon gradien seperti yang diusulkan oleh Friedman menggunakan pohon keputusan sebagai pelajar dasar. Saya bertanya-tanya apakah kita harus membuat pohon keputusan dasar serumit mungkin (dewasa) atau lebih sederhana? Apakah ada penjelasan untuk pilihannya?

Random Forest adalah metode ensemble lain yang menggunakan pohon keputusan sebagai pelajar dasar. Berdasarkan pemahaman saya, kami biasanya menggunakan pohon keputusan yang hampir sepenuhnya tumbuh di setiap iterasi. Apakah saya benar?

FihopZz
sumber
1
Anda dapat menemukan referensi lain yang sangat bagus untuk meningkatkan pohon di sini: xgboost.readthedocs.io/en/latest/model.html
Naghmeh
@Naghmeh - Tautan mati; tampaknya telah pindah ke xgboost.readthedocs.io/en/latest/tutorials/model.html
mlibby

Jawaban:

149

error = bias + variance

  • Meningkatkan didasarkan pada pelajar yang lemah (bias tinggi, varians rendah). Dalam hal pohon keputusan, peserta didik yang lemah adalah pohon dangkal, kadang-kadang bahkan sekecil tunggul keputusan (pohon dengan dua daun). Meningkatkan mengurangi kesalahan terutama dengan mengurangi bias (dan juga sedikit banyak perbedaan, dengan menggabungkan output dari banyak model).
  • Di sisi lain, Random Forest menggunakan seperti yang Anda katakan pohon keputusan dewasa (bias rendah, varian tinggi). Ini menangani tugas pengurangan kesalahan dengan cara yang berlawanan: dengan mengurangi varians. Pohon-pohon dibuat tidak berkorelasi untuk memaksimalkan penurunan varians, tetapi algoritma tidak dapat mengurangi bias (yang sedikit lebih tinggi dari bias masing-masing pohon di hutan). Oleh karena itu kebutuhan akan pohon besar yang tidak ditebangi, sehingga bias awalnya serendah mungkin.

Harap dicatat bahwa tidak seperti Boosting (yang berurutan), RF menumbuhkan pohon secara paralel . Istilah iterativeyang Anda gunakan tidak sesuai.

Antoine
sumber
1
"Pohon-pohon dibuat tidak berkorelasi untuk memaksimalkan penurunan varians, tetapi algoritma tidak dapat mengurangi bias (yang sedikit lebih tinggi dari bias masing-masing pohon di hutan)" - bagian tentang "sedikit lebih tinggi daripada bias individu pohon di hutan "tampaknya tidak benar. Lihat web.stanford.edu/~hastie/Papers/ESLII.pdf bagian 15.4.2: "Seperti dalam mengantongi, bias hutan acak sama dengan bias dari setiap pohon sampel individu." Mungkin maksud Anda "sedikit lebih tinggi daripada bias satu pohon dewasa yang sesuai dengan data asli"?
Adrian
1
@ung, saya pikir ada pertanyaan kunci yang belum dijawab dalam OP, yaitu: mengapa tidak menggunakan pohon yang sudah tumbuh penuh pada langkah pertama GBM? Mengapa menggunakan urutan pelajar yang lemah lebih baik daripada satu pohon dewasa? Saya ingin tahu tentang itu
ftxx
55

Pertanyaan ini dibahas dalam postingan yang sangat bagus ini. Silakan lihat dan referensi di dalamnya. http://fastml.com/what-is-better-gradient-boosted-trees-or-random-forest/

Perhatikan di artikel bahwa berbicara tentang kalibrasi, dan tautan ke posting blog (bagus) lainnya. Namun, saya menemukan bahwa makalah yang Memperoleh Probabilitas yang Dikalibrasi dari Peningkatan memberi Anda pemahaman yang lebih baik tentang kalibrasi apa dalam konteks penggolong yang ditingkatkan, dan apa metode standar untuk melakukannya.

Dan akhirnya satu aspek hilang (sedikit lebih teoretis). Baik RF maupun GBM adalah metode ensemble, artinya Anda membuat classifier dari sejumlah besar classifier yang lebih kecil. Sekarang perbedaan mendasar terletak pada metode yang digunakan:

  1. RF menggunakan pohon keputusan, yang sangat rentan terhadap overfitting. Untuk mencapai akurasi yang lebih tinggi, RF memutuskan untuk membuat sejumlah besar dari mereka berdasarkan bagging . Ide dasarnya adalah untuk menguji ulang data berulang-ulang dan untuk setiap sampel melatih classifier baru. Klasifikasi yang berbeda menyesuaikan data dengan cara yang berbeda, dan melalui pemungutan suara, perbedaan tersebut dirata-ratakan.
  2. GBM adalah metode peningkatan, yang dibangun di atas pengklasifikasi lemah . Idenya adalah untuk menambahkan classifier pada suatu waktu, sehingga classifier berikutnya dilatih untuk meningkatkan ansambel yang sudah terlatih. Perhatikan bahwa untuk RF setiap iterasi classifier dilatih secara independen dari yang lain.
jpmuc
sumber
3
Apakah ini merupakan kesimpulan yang adil dari jawaban Anda bahwa RF lebih dari GBM?
8forty
4
@ 8forty saya tidak akan menarik kesimpulan itu - sementara satu pohon di RF akan mengenakan lebih dari satu pohon di GBM (karena ini jauh lebih kecil), di RF pakaian ini akan dirata-ratakan ketika menggunakan banyak pohon, sementara di GBM semakin banyak pohon yang Anda tambahkan, semakin tinggi risiko overfitting. Singkatnya, ketika N (jumlah pohon yang digunakan) mencapai tak terhingga, saya berharap RF untuk berpakaian lebih sedikit dari GBM
Ant