Gradient Boosting Model (GBM) adalah algoritma ensemble learning yang membangun model prediksi secara bertahap (sekuensial) dengan tujuan meminimalkan error menggunakan pendekatan gradient descent. GBM mengkombinasikan banyak weak learner (biasanya decision tree kecil) secara berurutan, di mana setiap model baru dilatih untuk memperbaiki kesalahan model sebelumnya. Proses ini dilakukan dengan mempelajari residual error atau negative gradient dari fungsi loss.
Konsep Utama GBM
1) Boosting
-
Teknik ensemble yang menggabungkan banyak model sederhana menjadi satu model kuat.
-
Berbeda dengan bagging (misalnya Random Forest), boosting fokus pada belajar dari kesalahan model sebelumnya.
2) Weak Learner
-
Biasanya decision tree dengan kedalaman kecil (shallow tree).
-
Lebih sederhana namun ketika digabungkan bertahap → menjadi model kuat.
3) Loss Function
-
Digunakan untuk mengukur seberapa besar error
-
Contoh:
-
Regression → MSE (Mean Squared Error)
-
Classification → Log-loss
-
4) Gradient Descent
-
Digunakan untuk memperbaiki model secara bertahap
-
GBM mencari arah penurunan error paling cepat → negative gradient
Cara Kerja GBM (Proses secara detail)
Misalkan ingin memprediksi harga rumah:
-
Inisialisasi model awal
-
Biasanya menggunakan rata-rata target (harga rumah rata-rata)
-
F0(x)=mean(y)F_0(x) = \text{mean}(y)
-
-
Hitung residual (error)
-
ri=yi−F(xi)r_i = y_i – F(x_i)
-
Residual = selisih antara nilai aktual dan prediksi
-
-
Bangun model baru untuk memprediksi residual
-
Train decision tree untuk memprediksi rir_i
-
-
Update model
-
Gabungkan model baru dengan model lama:
Fm(x)=Fm−1(x)+η⋅hm(x)F_{m}(x) = F_{m-1}(x) + \eta \cdot h_m(x)
di mana:
-
η\eta = learning rate (0.01–0.1 biasanya)
-
hm(x)h_m(x) = model pada iterasi ke-m
-
-
Ulangi hingga jumlah iterasi terpenuhi
-
Tambah model hingga mencapai jumlah boosting rounds atau error minimum
-
Inti: GBM = mengurangi error sedikit demi sedikit sampai model sangat akurat.
Kelebihan GBM
| Kelebihan | Penjelasan |
|---|---|
| Akurasi tinggi | Sering outperform model lain pada data kompleks |
| Fleksibel | Cocok untuk regresi, klasifikasi |
| Dapat memakai berbagai loss function | MSE, MAE, log-loss, dll |
| Menangkap hubungan non-linear | Tidak butuh transformasi fitur rumit |
Kekurangan GBM
| Kekurangan | Dampak |
|---|---|
| Training lambat | Model sequential tidak paralel |
| Sensitif terhadap parameter | Butuh tuning (learning rate, depth, n_estimators) |
| Rentan overfitting | Perlu regulasi dan early stopping |
Peran Hyperparameter Penting
| Parameter | Fungsi |
|---|---|
n_estimators |
Jumlah tree |
learning_rate |
Kecepatan pembelajaran tiap iterasi |
max_depth |
Kedalaman tree (atur kompleksitas) |
subsample |
Sampling untuk mencegah overfitting |
Mengapa GBM Bagus untuk Prediksi Harga Properti?
-
Data properti punya banyak interaksi non-linear
-
Fitur lokasi, luas, fasilitas, dll → sangat kompleks
-
GBM mampu belajar pola kompleks secara bertahap
Penerapan pada Prediksi Harga Properti
Input fitur yang sering dipakai:
| Fitur | Contoh |
|---|---|
| Lokasi | kota, jarak ke CBD, sekolah |
| Luas bangunan & tanah | m² bangunan/tanah |
| Jumlah kamar | kamar tidur, kamar mandi |
| Tahun dibangun | usia bangunan |
| Fasilitas | garasi, kolam renang |
| Data lingkungan | kriminalitas, akses jalan |
Output
Prediksi harga properti (nilai kontinyu)
Kelebihan GBM dalam Prediksi Properti
| Keunggulan | Penjelasan |
|---|---|
| Akurasi tinggi | Cocok untuk data kompleks non-linear |
| Fleksibel | Bisa menangani berbagai tipe fitur |
| Feature importance | Bisa mengetahui fitur paling berpengaruh |
| Efektif pada data real estate | Banyak penelitian membuktikan performanya tinggi |
Kekurangan
| Kekurangan | Penjelasan |
|---|---|
| Rentan overfitting | Harus hati-hati set hyperparameter |
| Lambat | Training lama jika data besar |
| Perlu tuning parameter | Learning rate, jumlah tree, kedalaman tree |
Library yang umum dipakai
| Library | Tipe |
|---|---|
sklearn.ensemble.GradientBoostingRegressor |
Versi dasar |
XGBoost |
Lebih cepat & populer |
LightGBM |
Sangat cepat, bagus untuk data besar |
CatBoost |
Hebat untuk fitur kategori tanpa encoding |
Contoh singkat Python (Scikit-learn):
Tujuan GBM
Mencari fungsi F(x)F(x) yang meminimalkan Loss:
F∗(x)=argminF∑i=1nL(yi,F(xi))F^*(x) = \arg \min_F \sum_{i=1}^{n} L(y_i, F(x_i))
Tahap 1 — Inisialisasi Model
Inisialisasi model pertama sebagai konstanta yang meminimalkan loss:
F0(x)=argminγ∑i=1nL(yi,γ)F_0(x) = \arg \min_{\gamma} \sum_{i=1}^{n} L(y_i, \gamma)
Untuk kasus regresi dengan squared error (MSE):
F0(x)=1n∑i=1nyiF_0(x) = \frac{1}{n} \sum_{i=1}^{n} y_i
Tahap 2 — Iterasi Boosting
Untuk m=1,2,…,Mm = 1, 2, …, M lakukan:
1) Hitung Residual (Negative Gradient)
rim=−[∂L(yi,F(xi))∂F(xi)]F(x)=Fm−1(x)r_{im} = – \left[ \frac{\partial L(y_i, F(x_i))}{\partial F(x_i)} \right]_{F(x) = F_{m-1}(x)}
Untuk regresi MSE:
rim=yi−Fm−1(xi)r_{im} = y_i – F_{m-1}(x_i)
2) Fit Weak Learner
Latih decision tree hm(x)h_m(x) untuk memprediksi residual:
hm(x)≈rimh_m(x) \approx r_{im}
3) Hitung Koefisien (Line Search)
Cari koefisien optimal γm\gamma_m:
γm=argminγ∑i=1nL(yi,Fm−1(xi)+γhm(xi))\gamma_m = \arg \min_{\gamma} \sum_{i=1}^{n} L(y_i, F_{m-1}(x_i) + \gamma h_m(x_i))
Untuk regresi MSE:
γm=∑i=1nrimhm(xi)∑i=1nhm2(xi)\gamma_m = \frac{\sum_{i=1}^{n} r_{im} h_m(x_i)}{\sum_{i=1}^{n} h_m^2(x_i)}
4) Update Model
Fm(x)=Fm−1(x)+ηγmhm(x)F_m(x) = F_{m-1}(x) + \eta \gamma_m h_m(x)
di mana:
-
η\eta = learning rate (0 < η ≤ 1)
Model Akhir
FM(x)=F0(x)+∑m=1Mηγmhm(x)F_M(x) = F_0(x) + \sum_{m=1}^{M} \eta \gamma_m h_m(x)
Contoh Rumus Untuk Kasus Regresi Sederhana
Loss: Mean Squared Error (MSE)
L(y,F(x))=12(y−F(x))2L(y, F(x)) = \frac{1}{2}(y – F(x))^2
Gradient:
rim=yi−Fm−1(xi)r_{im} = y_i – F_{m-1}(x_i)
Update rule sederhana:
Fm(x)=Fm−1(x)+η⋅hm(x)F_m(x) = F_{m-1}(x) + \eta \cdot h_m(x)
Interpretasi Rumus
| Tahap | Arti |
|---|---|
| F0F_0 | Prediksi awal (misal rata-rata) |
| rimr_{im} | Error yang ingin diperbaiki |
| hm(x)h_m(x) | Pohon kecil (weak learner) yang mempelajari error |
| γm\gamma_m | Bobot optimal setiap pohon |
| η\eta | Kecepatan belajar/tuning error |
| Final sum | Gabungan semua pohon → model kuat |

Algoritma Gradient Boosting Model (GBM) merupakan salah satu metode pembelajaran mesin yang sangat efektif untuk menangani masalah prediksi, baik regresi maupun klasifikasi. Dengan prinsip membangun model secara bertahap dan memperbaiki kesalahan pada setiap iterasi, GBM mampu menghasilkan model yang akurat dan kuat. Pendekatan ini memanfaatkan weak learner, biasanya decision tree, untuk secara bertahap mengurangi error hingga mencapai performa optimal.
Meskipun memiliki beberapa keterbatasan seperti kebutuhan tuning parameter yang teliti dan potensi overfitting, GBM tetap menjadi salah satu algoritma unggulan dalam analisis data modern, termasuk pada kasus prediksi harga properti. Dengan implementasi dan pengaturan parameter yang tepat, GBM mampu memberikan hasil prediksi yang sangat baik serta memberikan wawasan mendalam tentang pengaruh fitur terhadap model.
Diharapkan pemahaman mengenai konsep, rumus matematis, dan mekanisme kerja GBM ini dapat menjadi dasar kuat untuk penelitian, implementasi sistem prediksi, atau pengembangan aplikasi berbasis machine learning di masa depan.
