Gradient boosting (lit: peningkatan gradien) adalah teknik pemelajaran mesin berbasis boosting dalam ruang fungsional dengan residu semu sebagai targetnya, bukan residu biasa yang biasa digunakan dalam boosting tradisional. Teknik ini mengembalikan sebuah model prediksi dalam bentuk kumpulan (ensemble) model berprediksi lemah, yaitu model memberikan sangat sedikit asumsi tentang data, yang biasanya berupa pohon keputusan (decision tree) sederhana.[1][2] Jika pohon keputusan ini merupakan pemelajar yang lemah, algoritma yang dihasilkan disebut sebagai pohon dengan gradien yang ditingkatkan (gradient-boosted trees) yang biasanya performana melebihi Random forest.[1] Gradient-boosted trees dibuat secara bertahap seperti pada metode boosting lainnya, tetapi model ini menggeneralisasi metode lain dengan memungkinkan optimasi fungsi kerugian yang terdiferensialkan secara bebas.

Sejarah

sunting

Ide gradient boosting bermula dari pengamatan Leo Breiman yang menemukan bahwa boosting dapat diinterpretasikan sebagai sebuah algoritma optimasi pada fungsi biaya yang sesuai.[3] Secara eksplisit, algoritma ini kemudian dikembangkan oleh Jerome H. Friedman,[4][2] (pada tahun 1999 dan kemudian pada tahun 2001) bersamaan dengan perspektif peningkatan gradien fungsional yang lebih umum dari Llew Mason, Jonathan Baxter, Peter Bartlett dan Marcus Frean.[5] Dua makalah yang disebutkan di akhir memperkenalkan pandangan terkait algoritma boosting sebagai algoritma penurunan gradien fungsional berulang (functional gradient descent). Artinya, algoritma yang mengoptimalkan fungsi biaya pada ruang fungsi dengan memilih fungsi secara berulang (berhipotesis lemah) yang mengarah ke gradien negatif. Pandangan ini menyebabkan pengembangan algoritma boosting di banyak bidang pemelajaran mesin dan statistika di luar regresi dan klasifikasi.

Pengenalan informal

sunting

(Bagian ini mengikuti eksposisi peningkatan gradien oleh Cheng Li.[6])

Seperti metode boosting lainnya, gradient boosting menggabungkan beberapa "pemelajaran" lemah menjadi satu pemelajar yang kuat secara iteratif. Cara paling mudah untuk menjelaskannya adalah dengan pengaturan regresi kuadrat terkecil, yang tujuannya adalah untuk "mengajarkan" suatu model   untuk memprediksi nilai bentuk   dengan meminimalkan rata-rata kuadrat galat   dengan indeks   pada beberapa himpunan ukuran pelatihan   dari nilai sebenarnya dari variabel keluaran  :

  •   nilai prediksinya  
  •   nilai yang diamati
  •   jumlah sampel yang masuk  

Sekarang, pertimbangkan algoritma gradient boosting dengan   tahap. Di setiap tahap   (   ) gradient boosting, misalkan beberapa model yang tidak sempurna   (dengan   kecil, model ini mungkin mengembalikan  , saja dengan RHS adalah rerata dari  ). Untuk meningkatkan  , algoritma ini harus menambahkan beberapa estimator baru,  . Sedemikian sehingga

 

atau, dapat ditulis ulang sebagai,

  .

Oleh karena itu, gradient boosting akan menyesuaikan (fit)   ke residu  . Seperti pada varian boosting lainnya, masing-masing   berupaya untuk memperbaiki galat   sebelumnya. Generalisasi ide ini digunakan pada fungsi kerugian, selain kesalahan kuadrat, dan pada masalah klasifikasi dan pemeringkatan yang mengikuti pengamatan bahwa residu   untuk model tertentu sebanding dengan gradien negatif dari fungsi kerugian mean squared error (MSE) (sehubungan dengan  ):

 
  .

Oleh karena itu, gradient boosting dapat juga digunakan pada algoritma penurunan gradien dengan "memasukkan" kerugian yang berbeda dan gradiennya.

Referensi

sunting
  1. ^ a b Hastie, T.; Tibshirani, R.; Friedman, J. H. (2009). "10. Boosting and Additive Trees". The Elements of Statistical Learning (edisi ke-2nd). New York: Springer. hlm. 337–384. ISBN 978-0-387-84857-0. Diarsipkan dari versi asli tanggal 2009-11-10. 
  2. ^ a b Friedman, J. H. (March 1999). "Stochastic Gradient Boosting" (PDF). Diarsipkan dari versi asli (PDF) tanggal 2014-08-01. Diakses tanggal 2013-11-13. 
  3. ^ Breiman, L. (June 1997). "Arcing The Edge" (PDF). Technical Report 486. Statistics Department, University of California, Berkeley. 
  4. ^ Friedman, J. H. (February 1999). "Greedy Function Approximation: A Gradient Boosting Machine" (PDF). Diarsipkan dari versi asli (PDF) tanggal 2019-11-01. Diakses tanggal 2018-08-27. 
  5. ^ Mason, L.; Baxter, J.; Bartlett, P. L.; Frean, Marcus (May 1999). "Boosting Algorithms as Gradient Descent in Function Space" (PDF). Diarsipkan dari versi asli (PDF) tanggal 2018-12-22. 
  6. ^ Cheng Li. "A Gentle Introduction to Gradient Boosting" (PDF). 

Lihat juga

sunting
  • AdaBoost
  • Hutan acak
  • peningkatan kucing
  • GBM ringan
  • XGBoost
  • Pembelajaran pohon keputusan

Referensi

sunting
  • Boehmke, Bradley; Greenwell, Brandon (2019). "Gradient Boosting". Hands-On Machine Learning with R. Chapman & Hall. hlm. 221–245. ISBN 978-1-138-49568-5.