Apa itu Gradient Boosting?

Penyusun

Bryan Clark

Senior Technology Advocate

Fangfang Lee

Developer Advocate

IBM

Apa itu gradient boosting?

Gradient boosting adalah algoritma pembelajaran ensambel yang menghasilkan prediksi akurat dengan menggabungkan beberapa struktur keputusan ke dalam satu model. Pendekatan algoritmik untuk pemodelan prediktif, yang diperkenalkan oleh Jerome Friedman, menggunakan model dasar untuk membangun kekuatan mereka, mengoreksi kesalahan, dan meningkatkan kemampuan prediksi. Dengan menangkap pola yang kompleks dalam data, gradient boosting unggul dalam berbagai tugas pemodelan prediktif.1

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Pembelajaran dan peningkatan ensambel

Pembelajaran ensambel adalah pendekatan machine learning yang menggabungkan beberapa model atau metode untuk meningkatkan kinerja. Pendekatan ini sering menggunakan teknik seperti bagging dan boosting. Bagging melibatkan pelatihan banyak model pada subset data berbeda dengan beberapa keacakan, yang membantu mengurangi varians dengan merata-rata tiap kesalahan. Contoh bagus dari pendekatan ini adalah random forest.

Sebaliknya, boosting adalah teknik ensambel yang secara berulang melatih model untuk memperbaiki kesalahan sebelumnya. Hal ini memberikan bobot lebih pada contoh yang salah klasifikasi dalam model selanjutnya, sehingga mereka dapat berfokus pada titik data yang sulit dan pada akhirnya meningkatkan kinerja secara keseluruhan. AdaBoost, yang secara luas dianggap sebagai algoritma peningkatan pertama yang berlaku, adalah ilustrasi klasik dari metode ini. Baik bagging maupun boosting mengoptimalkan kompromi bias-varians dalam model, yang mengarah ke kinerja yang lebih kuat. 2

Semua teknik ini banyak digunakan dalam machine learning untuk meningkatkan akurasi model, terutama ketika mengatasi kumpulan data yang kompleks atau tidak akurat. Dengan menggabungkan berbagai perspektif, pembelajaran ensambel menyediakan cara untuk mengatasi keterbatasan tiap model dan mencapai optimasi yang lebih baik. 3

Diagram yang menggambarkan boosting dalam konteks ensemble learning.

Cara kerja gradient boosting

Gradient boosting adalah teknik machine learning yang menggabungkan beberapa model prediksi yang lemah ke dalam satu ensambel. Model yang lemah ini biasanya berupa struktur keputusan, yang dilatih secara berurutan untuk meminimalkan kesalahan dan meningkatkan akurasi. Dengan menggabungkan beberapa regresor struktur keputusan atau pengklasifikasi struktur keputusan, gradient boosting dapat secara efektif menangkap hubungan kompleks di antara fitur.

Salah satu manfaat utama gradient boosting adalah kemampuannya untuk meminimalkan fungsi kesalahan secara berulang sehingga menghasilkan peningkatan akurasi prediksi. Namun, kita harus menyadari overfitting yang terjadi ketika model menjadi terlalu spesifik pada data pelatihan dan gagal untuk menggeneralisasi dengan baik ke contoh baru. Untuk mengurangi risiko ini, praktisi harus menyetel hiperparameter dengan saksama, memantau kinerja model selama pelatihan, dan menggunakan teknik seperti regularisasi, pemangkasan, atau penghentian dini. Dengan memahami tantangan ini dan mengambil langkah-langkah untuk mengatasinya, praktisi dapat berhasil memanfaatkan kekuatan gradient boosting—termasuk penggunaan pohon regresi—untuk mengembangkan model prediksi yang akurat dan kuat untuk berbagai aplikasi. 4,5

Rata-rata Kuadrat Kesalahan (MSE) adalah salah satu fungsi kerugian yang digunakan untuk mengevaluasi seberapa baik prediksi model machine learning cocok dengan data aktual. MSE menghitung rata-rata selisih yang dikuadratkan antara nilai yang diprediksi dan yang diamati. Rumus untuk MSE adalah:  MSE=Σ(yi-pi)2/n , di mana  yi  menunjukkan nilai aktual,  pi  adalah nilai prediksi, dan  n  adalah jumlah pengamatan.

Jika dijabarkan lebih jauh, MSE mengukur perbedaan antara nilai prediksi dan nilai aktual yang diwakili dalam kumpulan data untuk masalah regresi. Langkah penguadratan membantu memastikan bahwa kesalahan positif dan negatif berkontribusi pada nilai akhir dan menyeimbangkan satu sama lain. Metode ini memberi bobot lebih pada kesalahan yang lebih besar, karena kesalahan dikuadratkan.

Untuk menafsirkan MSE, umumnya nilai yang lebih rendah menunjukkan kesepakatan yang lebih baik antara prediksi dan pengamatan. Namun, mencapai MSE yang lebih rendah sulit dilakukan dalam skenario dunia nyata karena keacakan yang melekat yang tidak hanya ada dalam kumpulan data, tetapi juga dalam populasi. Sebaliknya, membandingkan nilai MSE dari waktu ke waktu atau di berbagai model yang berbeda dapat membantu menentukan peningkatan akurasi prediksi. Penting juga untuk dicatat bahwa secara khusus membidik MSE nol hampir selalu menunjukkan overfitting. 6

Beberapa implementasi populer dari metode peningkatan dalam Python termasuk Extreme Gradient Boosting (XGBoost ) dan Light Gradient-Boosting Machine (LightGBM). XGBoost dirancang untuk kecepatan dan kinerja serta digunakan untuk masalah regresi dan klasifikasi. LightGBM menggunakan algoritma pembelajaran berbasis pohon dan cocok untuk pemrosesan data skala besar. Kedua metode tersebut semakin meningkatkan akurasi, terutama saat bergulat dengan kumpulan data yang rumit atau tidak akurat. LightGBM menggunakan teknik yang disebut Gradient-based One-Side Sampling (GOSS) untuk menyaring contoh data untuk menemukan titik-titik yang terpisah, sehingga secara signifikan mengurangi overhead komputasi. Mengintegrasikan beberapa teknik pembelajaran ensambel akan menghilangkan kendala tiap model dan mencapai hasil yang unggul dalam skenario ilmu data. 7,8

Berikut ini adalah perincian langkah demi langkah tentang cara kerja proses gradient boosting.

Inisialisasi: Dimulai dengan menggunakan kumpulan pelatihan untuk membangun fondasi dengan model pembelajar dasar, sering kali struktur keputusan, yang prediksi awalnya dihasilkan secara acak. Biasanya struktur keputusan hanya akan berisi beberapa node daun atau node terminal. Sering dipilih karena kemampuan interpretasinya, pembelajar yang lemah atau dasar ini berfungsi sebagai titik awal yang optimal. Pengaturan awal ini membuka jalan untuk membangun iterasi berikutnya.

Menghitung residual: Untuk setiap contoh pelatihan, hitung kesalahan residual dengan mengurangkan nilai prediksi dari nilai aktual. Langkah ini mengidentifikasi area di mana prediksi model perlu ditingkatkan.

Penyempurnaan dengan regularisasi: Proses regularisasi dilakukan setelah perhitungan residual dan sebelum pelatihan model baru. Tahap ini melibatkan penurunan pengaruh setiap pembelajar lemah baru yang terintegrasi ke dalam ensambel. Dengan mengalibrasi peningkatan ini secara cermat, kita dapat mengatur seberapa cepat progres algoritma boosting, sehingga membantu dalam pencegahan overfitting dan optimalisasi kinerja secara keseluruhan.

Melatih model berikutnya: Gunakan kesalahan residual yang dihitung pada langkah sebelumnya sebagai target dan latih model baru atau pembelajar lemah untuk memprediksi kesalahan tersebut secara akurat. Fokus langkah ini adalah memperbaiki kesalahan yang dibuat oleh model sebelumnya, sehingga menyempurnakan prediksi keseluruhan.

Pembaruan ensambel: Pada tahap ini, kinerja ensambel yang diperbarui (termasuk model yang baru dilatih) biasanya dievaluasi dengan menggunakan kumpulan pengujian terpisah. Jika kinerja pada kumpulan data yang dikesampingkan ini memuaskan, ensambel dapat diperbarui dengan memasukkan pembelajar lemah baru; jika tidak, hiperparameter mungkin perlu disesuaikan.

Pengulangan: Ulangi langkah-langkah yang disajikan sebelumnya seperlunya. Setiap iterasi membangun dan menyempurnakan model dasar melalui pelatihan pohon baru, yang selanjutnya meningkatkan akurasi model. Jika pembaruan ansambel dan model akhir memuaskan dibandingkan dengan model dasar dalam hal akurasi, lanjutkan ke langkah selanjutnya. 

Kriteria penghentian: Menghentikan proses boosting ketika kriteria penghentian yang telah ditentukan sebelumnya terpenuhi, seperti jumlah iterasi maksimum, akurasi target, atau hasil yang berkurang. Langkah ini membantu memastikan bahwa prediksi akhir model mencapai keseimbangan yang diharapkan antara kompleksitas dan kinerja. 

Proses pembelajaran ensambel berurutan digunakan dengan meningkatkan algoritma untuk melatih beberapa pembelajar lemah secara berurutan.

Metode ensambel dan penumpukan

Menggabungkan gradient boosting dengan algoritma machine learning lainnya melalui metode ansambel atau penumpukan dapat lebih meningkatkan akurasi prediksi. Sebagai contoh, memadukan gradient boosting dengan support vector machines (SVM), random forest, atau k-nearest neighbor (KNN) dapat memanfaatkan kekuatan dari masing-masing model dan menciptakan ensambel yang lebih kuat. Penumpukan melibatkan pelatihan beberapa pembelajar dasar dan dengan menggunakan output mereka sebagai input untuk pembelajar meta, yang menggabungkan prediksi untuk menghasilkan output akhir. 9

Diagram yang menggambarkan stacking dalam konteks ensemble learning.

Penghentian dini dan validasi silang

Memantau kinerja model selama pelatihan dan menerapkan teknik penghentian dini dapat membantu mencegah overfitting dengan menghentikan proses peningkatan setelah kinerja pada kumpulan validasi berhenti meningkat atau mulai menurun. Selain itu, menggunakan strategi validasi silang seperti validasi silang k-fold dapat memberikan perkiraan kinerja model dan penyetelan hiperparameter yang lebih andal, yang semakin meningkatkan kemampuan prediksi gradient boosting.

Mixture of Experts | 12 Desember, episode 85

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Mengatasi kumpulan data yang tidak seimbang

Gradient boosting sensitif terhadap ketidakseimbangan kelas, yang dapat menyebabkan prediksi bias yang mendukung kelas mayoritas. Untuk mengatasi masalah ini, para praktisi dapat menggunakan berbagai teknik seperti oversampling kelas minoritas, undersampling kelas mayoritas, atau dengan menggunakan fungsi kesalahan tertimbang yang memberikan hukuman lebih tinggi untuk kesalahan pengklasifikasian contoh minoritas.

Dengan menerapkan strategi ini dan menyesuaikan hiperparameter dengan hati-hati, praktisi dapat secara signifikan meningkatkan akurasi dan ketahanan prediktif gradient boosting di berbagai aplikasi, mulai dari analisis data berdimensi tinggi hingga tugas pemantauan lingkungan yang kompleks.

Penyetelan hiperparameter gradient boosting di scikit-learn (sklearn)

GradientBoostingClassifier dan GradientBoostingRegressor di scikit-learn menawarkan pendekatan serbaguna untuk menerapkan algoritma gradient boosting, yang melayani tugas klasifikasi dan regresi. Dengan memungkinkan pengguna untuk menyempurnakan beberapa parameter, implementasi ini memungkinkan penyesuaian proses boosting sesuai dengan persyaratan dan karakteristik data tertentu.

Kedalaman pohon (max_depth): Mengontrol kedalaman maksimum struktur keputusan individu dan harus disetel untuk mendapatkan kinerja terbaik. Pohon yang lebih dalam dapat menangkap hubungan yang lebih kompleks, tetapi juga cenderung mengalami overfitting. 

Tingkat pembelajaran (learning_rate): Menentukan kontribusi setiap pohon untuk keseluruhan ensambel. Laju pembelajaran yang lebih kecil memperlambat konvergensi dan mengurangi risiko overfitting, sementara nilai yang lebih besar dapat menyebabkan pelatihan yang lebih cepat dengan mengorbankan potensi overfitting.

Jumlah pohon (n_estimators): Menentukan jumlah total pohon dalam ensambel. Meningkatkan parameter ini dapat meningkatkan kinerja, tetapi juga meningkatkan risiko overfitting.

Selain itu, implementasi gradient boosting scikit-learn memberikan perkiraan out-of-bag (OOB), sebuah teknik untuk menilai kinerja model tanpa memerlukan kumpulan data validasi terpisah. Selain itu, metode prediksi bertahap dalam scikit-learn memungkinkan prediksi bertahap saat data baru tersedia, yang memungkinkan pemrosesan secara real-time dan efisien. Singkatnya, implementasi gradient boosting scikit-learn menyediakan serangkaian fitur yang lengkap untuk model penyempurnaan sesuai dengan kebutuhan spesifik dan karakteristik kumpulan data, yang pada akhirnya menumbuhkan kinerja prediktif yang unggul. 10

Contoh penggunaan gradient boosting

Menangani data medis berdimensi tinggi: Gradient boosting mampu menangani secara efektif kumpulan data yang mengandung banyak fitur dibandingkan jumlah pengamatan. Misalnya, dalam diagnosis medis, gradient boosting dapat digunakan untuk mendiagnosis penyakit berdasarkan data pasien, yang mungkin berisi lebih dari 100 fitur. Dengan memanfaatkan struktur keputusan sebagai pembelajar yang lemah, algoritma mungkin dapat mengelola dimensi tinggi, di mana model regresi tradisional mungkin mengalami kesulitan. Algoritma ini juga dapat mengekstrak informasi berharga dari data yang jarang, sehingga cocok untuk aplikasi seperti bioinformatika atau masalah klasifikasi teks. 11,12

Mengurangi tingkat churn layanan pelanggan: Ketika model sudah ada tetapi kinerjanya kurang optimal, gradient boosting dapat digunakan untuk menyempurnakan prediksi secara berulang dengan mengoreksi kesalahan sebelumnya. Salah satu contohnya adalah memprediksi perpindahan pelanggan di bidang telekomunikasi, di mana model regresi logistik tradisional digunakan. Perusahaan dapat menerapkan algoritma gradient boosting untuk mengidentifikasi berbagai faktor utama yang menyebabkan pelanggan beralih ke layanan lain, seperti volume panggilan yang tinggi atau kinerja jaringan yang buruk. Dengan memasukkan semua faktor ini ke dalam model, mereka mungkin dapat meningkatkan akurasi dan mengurangi tingkat churn. 13

Memprediksi kelangsungan hidup pohon beech: Dalam ekosistem hutan, penyakit daun beech (BLD) merupakan ancaman yang signifikan terhadap kesehatan pohon beech. Para peneliti dapat mengembangkan model prediktif untuk mengidentifikasi pohon yang berisiko terkena BLD dan memprediksi kemungkinan bertahan hidup mereka. Model machine learning dapat dikembangkan yang dapat menganalisis faktor lingkungan seperti data iklim, kualitas tanah, dan karakteristik pohon untuk menghitung kemungkinan kelangsungan hidup pohon beech (BTS) selama periode 5 tahun. Penggunaan teknik gradient boosting memungkinkan kita untuk menangkap pola rumit yang mungkin terlewat oleh metode yang lebih sederhana. Model ini mungkin mengidentifikasi pohon yang berisiko BLD dengan presisi tinggi dan memperkirakan BTS mereka secara akurat, yang memberdayakan peneliti untuk memprioritaskan intervensi dan melindungi secara efektif pohon beech yang rentan. Contoh penggunaan ini menunjukkan bagaimana gradient boosting dapat meningkatkan kekuatan prediksi model machine learning dalam tugas pemantauan lingkungan yang kompleks. 14

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses ke berbagai kemampuan dalam satu alat untuk seluruh siklus pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung
Catatan kaki

Friedman, Jerome H. “Greedy Function Approximation: A Gradient Boosting Machine.” The Annals of Statistics 29, no. 5 (2001): 1189–1232. http://www.jstor.org/stable/2699986

Schapire, R.E. (2013). Explaining AdaBoost. Dalam: Schölkopf, B., Luo, Z., Vovk, V. (eds) Empirical Inference. Springer, Berlin, Heidelberg. https://link.springer.com/chapter/10.1007/978-3-642-41136-6_5

Fan, Wenjie, et al. "A Survey of Ensemble Learning: Recent Trends and Future Directions." arXiv preprint arXiv:2501.04871 (2025).

Matsubara, Takuo. “Wasserstein Gradient Boosting: A Framework for Distribution- Valued Supervised Learning.” arXiv.org, 29 Agustus 2024. https://search.arxiv.org/paper.jsp?r=2405.09536&qid=1743170618344ler_nCn N_-2014411830&qs=gradient%2Bboosting. 

Emami, Seyedsaman, dan Gonzalo Martínez-Muñoz. 2023. “Sequential Training of Neural Networks with Gradient Boosting.” IEEE Akses 11 (Januari): 42738–50. https://ieeexplore.ieee.org/document/10110967

Chen, Tianqi, et al. "Mean Squared Error." Encyclopedia Britannica, 2023. https://www.britannica.com/science/mean-squared-error.

XGBoost Developers. "XGBoost: A Scalable Tree Boosting System." GitHub, 2021. https://github.com/dmlc/xgboost/blob/master/README.md .

Tim Dokumentasi LightGBM. "LightGBM." 2021. https://lightgbm.readthedocs.io/en/stable/ .

Konstantinov, Andrei V., dan Lev V. Utkin. “A Generalized Stacking for Implementing Ensembles of Gradient Boosting Machines.” In Studies in Systems, Decision and Control, 3–16, 2021. https://link.springer.com/chapter/10.1007/978-3-030-67892-0_1.

10 Dokumentasi Scikit-Learn “Scikit-Learn” 2007 https://scikit-learn.org/0.21/documentation.html

11. Lecun, Yann, et al. "Gradient-Based Learning Applied to Document Recognition." Prosiding IEEE 86, no. 11 (2007): 2278-2324. doi: 10.1109/PROC.2007.898639 

12 Zhang, Zhongheng, Yiming Zhao, Aran Canes, Dan Steinberg, dan Olga Lyashevska. 2019. “Predictive Analytics with Gradient Boosting in Clinical Medicine.” Annals of Translational Medicine 7 (7): 152–52. https://atm.amegroups.org/article/view/24543/23475.

13 ‌Al Shourbaji, Ibrahim, Na Helian, Yi Sun, Abdelazim G. Hussien, Laith Abualigah, and Bushra Elnaim. 2023. “An Efficient Churn Prediction Model Using Gradient Boosting Machine and Metaheuristic Optimization.” Scientific Reports 13 (1): 14441. https://www.nature.com/articles/s41598-023-41093-6.

14 Manley, William, Tam Tran, Melissa Prusinski, dan Dustin Brisson. “Modeling Tick Populations: An Ecological Test Case for Gradient Boosted Trees.” bioRxiv : the preprint server for biology, 29 November 2023. https://pmc.ncbi.nlm.nih.gov/articles/PMC10054924/#:~:text=The%20rapidly%20expanding%20environmental%20data,development%20of%20public%20health%20strategies.