Dasar-dasar AI

Apa itu Gradient Boosting?

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Salah satu jenis model pembelajaran mesin yang sangat berguna dalam kompetisi ilmu data adalah model gradient boosting. Gradient boosting secara dasar adalah proses mengubah model pembelajaran lemah menjadi model pembelajaran kuat. Namun, bagaimana proses ini dilakukan? Mari kita lihat lebih dekat algoritma gradient boosting dan memahami bagaimana model gradient boosting mengubah pembelajaran lemah menjadi pembelajaran kuat.

Definisi Gradient Boosting

Artikel ini bertujuan untuk memberikan Anda pemahaman yang baik tentang apa itu gradient boosting, tanpa banyak penjelasan matematika yang mendasarinya. Setelah Anda memiliki pemahaman yang baik tentang bagaimana gradient boosting bekerja pada tingkat tinggi, Anda dapat mempelajari lebih lanjut dan memahami matematika yang membuatnya mungkin.

Mari kita mulai dengan mendefinisikan apa itu “boosting” pembelajaran. Pembelajaran lemah diubah menjadi pembelajaran kuat dengan menyesuaikan sifat-sifat model pembelajaran. Apa itu algoritma pembelajaran yang sedang ditingkatkan?

Model boosting bekerja dengan meningkatkan model pembelajaran mesin lain, yaitu pohon keputusan.

Model pohon keputusan bekerja dengan membagi dataset menjadi bagian-bagian yang lebih kecil, dan ketika subset tidak dapat dibagi lagi, hasilnya adalah pohon dengan node dan daun. Node dalam pohon keputusan adalah tempat keputusan tentang data points dibuat menggunakan kriteria penyaringan yang berbeda. Daun dalam pohon keputusan adalah data points yang telah diklasifikasikan. Algoritma pohon keputusan dapat menangani data numerik dan kategorik, dan pemisahan dalam pohon didasarkan pada variabel/fitur tertentu.

Ilustrasi cara model boosting dilatih.
Foto: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Salah satu jenis algoritma boosting adalah AdaBoost. Algoritma AdaBoost dimulai dengan melatih model pohon keputusan dan memberikan bobot yang sama untuk setiap pengamatan. Setelah pohon pertama dievaluasi untuk akurasi, bobot untuk pengamatan yang berbeda disesuaikan. Pengamatan yang mudah diklasifikasikan memiliki bobot yang lebih rendah, sedangkan pengamatan yang sulit diklasifikasikan memiliki bobot yang lebih tinggi. Pohon kedua dibuat menggunakan bobot yang disesuaikan, dengan tujuan bahwa prediksi pohon kedua lebih akurat daripada prediksi pohon pertama.

Model sekarang terdiri dari prediksi untuk pohon asli dan pohon baru (atau Pohon 1 + Pohon 2). Akurasi klasifikasi dievaluasi lagi berdasarkan model baru. Pohon ketiga dibuat berdasarkan kesalahan yang dihitung untuk model, dan bobot disesuaikan lagi. Proses ini berlanjut untuk jumlah iterasi yang ditentukan, dan model akhir adalah model ensemble yang menggunakan jumlah bobot prediksi yang dibuat oleh semua pohon yang sebelumnya dibangun.

Proses yang dijelaskan di atas menggunakan Pohon Keputusan dan prediktor/model dasar, namun pendekatan boosting dapat dilakukan dengan berbagai model seperti model klasifikasi dan regresi standar. Konsep kunci untuk dipahami adalah bahwa prediktor berikutnya belajar dari kesalahan yang dibuat oleh prediktor sebelumnya dan bahwa prediktor dibuat secara berurutan.

Kelebihan utama algoritma boosting adalah bahwa mereka membutuhkan waktu yang lebih singkat untuk menemukan prediksi saat ini dibandingkan dengan model pembelajaran mesin lain. Namun, perlu berhati-hati saat menggunakan algoritma boosting, karena mereka rentan terhadap overfitting.

Gradient Boosting

Sekarang kita akan melihat salah satu algoritma boosting yang paling umum. Model Gradient Boosting (GBM) dikenal karena akurasi yang tinggi, dan mereka memperluas prinsip-prinsip yang digunakan dalam AdaBoost.

Perbedaan utama antara Model Gradient Boosting dan AdaBoost adalah bahwa GBM menggunakan metode yang berbeda untuk menghitung mana pelajar yang salah mengidentifikasi data points. AdaBoost menghitung di mana model tidak berkinerja baik dengan memeriksa data points yang sangat berbobot. Sementara itu, GBM menggunakan gradien untuk menentukan akurasi pelajar, menerapkan fungsi kerugian pada model. Fungsi kerugian adalah cara untuk mengukur akurasi model terhadap dataset, menghitung kesalahan dan mengoptimalkan model untuk mengurangi kesalahan. GBM memungkinkan pengguna untuk mengoptimalkan fungsi kerugian yang ditentukan berdasarkan tujuan yang diinginkan.

Mengambil fungsi kerugian yang paling umum – Mean Squared Error (MSE) – sebagai contoh, gradien menurun digunakan untuk memperbarui prediksi berdasarkan tingkat pembelajaran yang ditentukan, dengan tujuan menemukan nilai di mana kerugian minimal.

Untuk membuatnya lebih jelas:

Prediksi model baru = variabel keluaran – prediksi lama yang tidak sempurna.

Dalam arti statistik, GBM bertujuan untuk menemukan pola yang relevan dalam residu model, menyesuaikan model untuk memenuhi pola dan membawa residu seclose to 0 as possible. Jika Anda melakukan regresi pada prediksi model, residu akan didistribusikan di sekitar 0 (kesesuaian yang sempurna), dan GBM menemukan pola dalam residu dan memperbarui model di sekitar pola tersebut.

Dengan kata lain, prediksi diperbarui sehingga jumlah semua residu seclose to 0 as possible, yang berarti bahwa nilai prediksi akan sangat dekat dengan nilai sebenarnya.

Perlu diingat bahwa berbagai fungsi kerugian lain (seperti kerugian logaritmis) dapat digunakan oleh GBM. MSE dipilih di atas untuk tujuan kesederhanaan.

Variasi pada Model Gradient Boosting

Model Gradient Boosting adalah algoritma yang serakah yang rentan terhadap overfitting pada dataset. Ini dapat dicegah dengan berbagai metode yang dapat meningkatkan kinerja GBM.

GBM dapat diatur dengan empat metode yang berbeda: Shrinkage, Batasan Pohon, Stochastic Gradient Boosting, dan Pembelajaran yang Diatur.

Shrinkage

Sebagaimana disebutkan sebelumnya, dalam GBM prediksi dijumlahkan bersama dalam cara berurutan. Dalam “Shrinkage”, penambahan setiap pohon ke jumlah keseluruhan disesuaikan. Bobot diterapkan yang memperlambat laju pembelajaran algoritma, sehingga lebih banyak pohon perlu ditambahkan ke model, yang biasanya meningkatkan kinerja model. Namun, model membutuhkan waktu lebih lama untuk dilatih.

Batasan Pohon

Membatasi pohon dengan berbagai penyesuaian seperti menambahkan lebih banyak kedalaman ke pohon atau meningkatkan jumlah node atau daun dalam pohon dapat membuat model lebih sulit untuk overfitting. Menerapkan batasan pada jumlah pengamatan minimum per split memiliki efek yang sama. Lagi-lagi, model membutuhkan waktu lebih lama untuk dilatih.

Sampling Acak

Pelajar individu dapat dibuat melalui proses stokastik, berdasarkan sampel acak dari dataset pelatihan. Ini memiliki efek mengurangi korelasi antara pohon, yang melindungi terhadap overfitting. Dataset dapat disampel sebelum membuat pohon atau sebelum mempertimbangkan split dalam pohon.

Pembelajaran yang Diatur

Di luar membatasi model melalui membatasi struktur pohon, memungkinkan untuk menggunakan pohon regresi. Pohon regresi memiliki nilai numerik yang melekat pada setiap daun, dan nilai-nilai ini berfungsi sebagai bobot dan dapat disesuaikan dengan fungsi reguler yang umum seperti L1 dan L2 reguler.

Blogger dan programmer dengan spesialisasi di Machine Learning dan Deep Learning topik. Daniel berharap untuk membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.