Tüm yazılar
Matematik25 Ocak 2025

Gradient Boosting: Zayıf Öğrencileri "Adım Adım" Kuvvetlendirme

XGBoost ve LightGBM'in Kaggle yarışmalarını yıllarca kazandığı algoritma. Her ağaç bir öncekinin hatasını öğreniyor.

Matematik Karavanı 6 dk okuma 5 soru
Matterhorn zirvesi — kademeli yükseliş metaforu

"Önceki ağacın hatalarına odaklan"

Random Forest paralel ağaçlar: her biri bağımsız, hepsi aynı veriden farklı bakar.

Boosting ise ardışık: her yeni ağaç, önceki ensemble'ın yanlış yaptığı örneklere odaklanır.

Jerome Friedman, 2001 — Gradient Boosting Machines.

Mekanizma

Hedef: bir model F(x)F(x) kur ki L(yi,F(xi))\sum L(y_i, F(x_i)) minimum olsun.

Adım adım ekle:

Fm(x)=Fm1(x)+ηhm(x)F_m(x) = F_{m-1}(x) + \eta \cdot h_m(x)

  • hmh_m: yeni ağaç (zayıf öğrenici).
  • η\eta: öğrenme hızı.

"Gradient" kısmı

Gradient descent benzeri: yeni ağaç mevcut kayıp fonksiyonunun negatif gradyanını yaklaştırır.

rim=L(yi,F(xi))F(xi)F=Fm1r_{im} = -\frac{\partial L(y_i, F(x_i))}{\partial F(x_i)}\bigg|_{F=F_{m-1}}

Bu residual'lar, yeni ağaca hedef olur.

  • MSE kaybı için: ri=yiF(xi)r_i = y_i - F(x_i) (klasik residual).
  • Cross-entropy için: olasılık-etiket farkı.
  • Custom loss: kendi gradient'ini yaz.

Bu, boosting'i çok esnek yapar — herhangi türevlenebilir kayba uygulanır.

XGBoost (2014, Tianqi Chen)

Gradient boosting'in optimize edilmiş versiyonu:

  • İkinci dereceden Taylor açılımı (sadece gradient değil, hessian da).
  • Düzenlileştirme: ağaç sayısı + yaprak ağırlıkları.
  • Paralel hesaplama: bir ağacın bölmelerini paralel bul.
  • Eksik veri otomatik.
  • GPU desteği.

2015-2020 arası Kaggle'da kazanan modellerin çoğunluğu XGBoost.

LightGBM (2017, Microsoft)

Daha hızlı:

  • Histogram-based: süreklı özellikleri bin'lere ayır → bölme hızlı.
  • Leaf-wise growth: en kazançlı yaprağı genişlet (level-wise yerine).
  • GOSS (Gradient-based One-Side Sampling): yüksek gradientli örneklere odaklan.
  • EFB (Exclusive Feature Bundling): seyrek özellikleri birleştir.

XGBoost'tan 5-10x hızlı ama biraz daha aşırı uyum riski.

CatBoost (2017, Yandex)

Kategorik veri için optimize:

  • Ordered boosting: hedef sızıntısı (target leakage) engellemek için ordering trick.
  • Categorical encoding: target encoding'in dengeli hâli.
  • Default hyperparametreler çok iyi → vakit kazanır.

Hangisi ne zaman?

DurumÖneri
Genel tablo veriLightGBM (hızlı + iyi)
Çok kategorik özellikCatBoost
Kütüphane olgunluğuXGBoost (en eski, en stabil)
GPU eğitimXGBoost veya LightGBM
Az veriXGBoost (regülerizasyon güçlü)

Hiperparametreler

Önemli olanlar:

  • n_estimators / num_boost_round: ağaç sayısı (1000-5000).
  • learning_rate / eta: 0.01-0.3.
  • max_depth: 3-10.
  • min_child_weight / min_data_in_leaf: 1-100.
  • subsample: 0.6-1.0 (stokastik gradient boosting).
  • colsample_bytree: 0.5-1.0 (özellik subsample).

Trade-off: küçük learning rate + çok ağaç = iyi ama yavaş. Büyük rate + az ağaç = hızlı ama az hassas.

Random Forest ile fark

Random ForestGradient Boosting
AğaçlarParalel, bağımsızArdışık, hata odaklı
Hız (eğitim)HızlıYavaş
DoğrulukİyiGenelde daha iyi
Aşırı uyum riskiDüşükOrta-yüksek
HiperparametreAzÇok
YorumlanabilirlikDüşükOrta (SHAP ile)

SHAP ve yorumlama

Modern boosting modelleri siyah kutu değil:

  • SHAP (SHapley Additive exPlanations) — her özelliğin her tahminteki katkısı.
  • Lundberg & Lee (2017) — XGBoost ile uyumlu.
  • Bireysel + global yorumlanabilirlik.

Uygulama alanları

  • Finans: kredi skoru, fraud detection.
  • Sağlık: hastalık tahmini.
  • Reklam: CTR tahmini (Google, Facebook AdSense).
  • Kaggle: yıllarca dominasyon.
  • Üretim: kalite tahmini.

Modern derin öğrenme (transformer, vs.) tablo veride hâlâ gradient boosting'i geçemiyor. 2024 araştırmaları (TabPFN, etc.) yeni alternatifler sunsa da, production'da hâlâ XGB/LGBM.

Kapanış

Gradient Boosting, makine öğrenmesinin en güçlü pratik aracı. Friedman'in 2001 fikri, XGBoost, LightGBM, CatBoost ile endüstri standardı oldu. Tablo veri probleminiz varsa: önce LightGBM dene.

Etiketler

Gradient BoostingXGBoostLightGBMensembleFriedman

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. Gradient Boosting Random Forest'tan nasıl farklı?

2. XGBoost'un XG'si?

3. LightGBM'i farklı kılan?

4. CatBoost en iyi nerede?

5. SHAP nedir?