Bagging vs boosting: banyak pohon berdampingan atau berurutan

Bagging dan boosting sama-sama menggabungkan banyak decision tree, model yang memprediksi dengan mengajukan pertanyaan ya atau tidak tentang input. Bagging melatih pohonnya secara berdampingan lalu merata-ratakannya. Boosting melatihnya satu per satu, dan setiap pohon baru memperbaiki error yang ditinggalkan pohon sebelumnya.

2 menit baca · Lensa ML
Baggingberdampingan, dirata-ratakan123+ 17 pohon lagitest error 0.145Boostingberurutan, masing-masing × 0.3123+ 17 pohon lagitest error 0.066
titik trainingsatu pohon (stump)gabungan 20 pohon
  1. Kedua baris mempelajari 25 titik training yang sama dari penjelasan gradient boosting: kurva bergelombang ditambah noise. Setiap pohon adalah stump, pohon dengan satu pertanyaan saja: apakah x di bawah suatu threshold? Ia memprediksi satu nilai di tiap sisi. Test error adalah mean squared error pada 20 titik yang disisihkan dari training, yaitu rata-rata kuadrat selisih prediksi dan target. Satu stump saja mendapat skor 0,261.
  2. Pada bagging, setiap pohon mendapat bootstrap sample: 25 pengambilan acak dengan pengembalian, sehingga sebagian titik muncul berulang dan sebagian lain tertinggal (titik berongga). Setiap pohon dilatih pada sampelnya sendiri, dan prediksinya adalah rata-rata dari ke-20 pohon. Tidak ada pohon yang bergantung pada pohon lain, jadi semuanya bisa dilatih paralel. Rata-rata menghaluskan keanehan yang ditangkap tiap pohon dari sampelnya, dan test error turun ke 0,145. Namun, cara ini tidak bisa memperbaiki kesalahan yang sama pada semua pohon. Ke-20 stump membelah di antara x = −0.25 dan 0.63, jadi rata-ratanya tetap berupa undakan kasar.
  3. Boosting mulai dari rata-rata target dan melatih pohon 1 pada residual, yaitu target tiap titik dikurangi prediksi saat ini. Pohon itu ditambahkan setelah dikali 0,3, learning rate-nya, lalu residual dihitung ulang dan pohon 2 dilatih pada sisanya. Setiap pohon membutuhkan pohon sebelumnya, jadi pelatihannya berurutan. Tiap pohon bisa membelah di tempat baru, sehingga jumlahnya ikut melengkung mengikuti kurva. Setelah 20 pohon, test error-nya 0,066.

Intinya

Bagging terutama memangkas variance, seberapa banyak model berubah dari satu sampel training ke sampel berikutnya. Boosting terutama memangkas bias, error dari model yang terlalu sederhana untuk polanya. Stump punya bias tinggi dan variance kecil, jadi di sini boosting menang. Kalau yang di-bagging adalah 20 pohon penuh, yang tumbuh sampai pas sempurna dengan sampelnya, test error turun dari 0,068 untuk satu pohon menjadi 0,055, di bawah 0,066 milik boosting.

Pelajari lebih dalam · interaktif

Gradient Boosting

Di langkah pencocokan residual, tekan putar dan bandingkan residual tiap putaran dengan stump yang dilatih padanya.

Buka penjelasan interaktif

Bites lainnya

Referensi