Tüm yazılar
Matematik27 Ocak 2025

Random Forest: Bin Karar Ağacının "Ortalamasıyla" Tahmin

Tek karar ağacı zayıftır, ama bin tanesi farklı veriden öğrenip oy birliği yaparsa — sonuç şaşırtıcı derecede güçlü olur.

Matematik Karavanı 6 dk okuma 5 soru
Sisli orman — random forest metaforu

Tek karar ağacı yeterli değil

Karar ağacı (decision tree) basit ama kararsız: küçük veri değişikliği tüm ağacı değiştirebilir. Yüksek varyans.

Çözüm fikri: birçok ağaç eğit, ortalamasını al. Tek başına zayıf öğreniciler, kalabalıkta güçlü.

Bu Leo Breiman'in 2001 makalesi ile akademik bir algoritma oldu: Random Forest.

İki ana hile

1. Bagging (Bootstrap Aggregating)

Her ağaç farklı bir veri alt kümesinde eğitilir.

  • Orijinal veriden rastgele örnekleme (yerine koyarak, bootstrap).
  • Her ağaç biraz farklı veri görür → biraz farklı ağaç.
  • Tahminler oy birliği (sınıflandırma) veya ortalama (regresyon).

2. Random Feature Subsampling

Her düğüm seçiminde tüm özellikler değil, rastgele alt küme denenir.

  • 100 özellik varsa, her bölmede 100=10\sqrt{100} = 10 özellik dene.
  • Ağaçlar çok daha çeşitli olur (decorrelated).
  • Tek baskın özellik tüm ağaçları domine edemez.

Neden çalışıyor?

Varyans azaltma: NN bağımsız modelin ortalaması varyansı 1/N1/N kat azaltır.

Var(Yˉ)=σ2N\text{Var}(\bar{Y}) = \frac{\sigma^2}{N}

Ama bağımsızlık tam değil — ağaçlar korelasyon taşır. Random feature subsampling korelasyonu düşürür → daha iyi varyans azaltma.

Avantajlar

  • Doğrusal değil: karmaşık desenleri yakalar.
  • Az hiperparametre: çalıştır gitsin.
  • Aşırı uyuma dayanıklı: bir tek derin ağaç aşırı uyar; bin tanesinin ortalaması uyumlu kalır.
  • Eksik veri, karışık değişken türleri: ağaç hepsini kabul eder.
  • Feature importance ücretsiz: her özelliğin "ortalama bölme kazancı" sıralanır.
  • Out-of-bag (OOB) hata: cross-validation bedavası — her ağaç görmediği örneklere test edilir.

Sınırlamalar

  • Çıkarım yavaş: bin ağaç → bin tahmin.
  • Bellek: model dosyası büyük olabilir.
  • Çok yüksek boyut + seyrek veri: lineer modeller daha iyi.
  • Görüntü/metin: ham veride zayıf — derin ağ kazanır.

Kıyaslar

AlgoritmaGüçlü yönZayıf yön
Random ForestStabil, az ayarÇıkarım yavaş
Gradient BoostingDaha yüksek doğrulukDaha çok ayar
XGBoost/LightGBMHızlı + güçlüAşırı uyum riski
Tek karar ağacıYorumlanabilirYüksek varyans
Doğrusal modelHızlı, yorumlanabilirDoğrusal olmayanları kaçırır

XGBoost / Boosting ile fark

Random Forest: paralel ağaçlar, bağımsız.

Boosting (XGBoost, LightGBM, CatBoost): ardışık ağaçlar, her biri öncekinin hatalarına odaklanır.

Genel: Boosting daha doğru ama Random Forest daha sağlam.

Uygulama alanları

  • Tablo veri (Kaggle dolu): finans, sigorta, sağlık.
  • Genetik: SNP analizi.
  • Astronomi: nesne sınıflandırma.
  • Üretim: arıza tahmini.
  • Aday değerlendirme, kredi skoru (yorumlanabilirlik gerekiyorsa lineer model + feature importance).

Leo Breiman (1928-2005)

Random Forest yaratan Leo Breiman (UC Berkeley) bilim tarihinde iki kültür makalesi ile de ünlü:

  • Stochastic Modeling vs Algorithmic Modeling.
  • "İstatistik kazanç ile değil, tahmin kalitesi ile ölçülmelidir" — ML'nin felsefesi.

CART (Classification and Regression Trees) kitabı (1984) modern karar ağacının temel referansı.

Pratik öneriler

  • n_estimators: 100-1000 (varsayılan 100).
  • max_features: p\sqrt{p} (sınıflandırma), p/3p/3 (regresyon).
  • min_samples_leaf: 1-5.
  • OOB skorunu kullan, ayrı validation sete gerek yok.
  • Class weight dengesiz veride.

Kapanış

Random Forest, makine öğrenmesinin çalışkan beygiri. Şık değil, en yüksek doğruluğu vermez ama stabil, anlaşılır, sağlam. Tablo veri başarısı için ilk denenecek modellerden biri.

Modern era LLM ve transformer hakimiyetinde bile klasik ML yaşıyor — ve Random Forest bunun bayrak gemisi.

Etiketler

Random Forestkarar ağacıbaggingLeo Breimanmakine öğrenmesi

Kendinizi Test Edin

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

1. Random Forest'in iki ana fikri?

2. Mucidi?

3. OOB ne demek?

4. Boosting ile fark?

5. En iyi alanı?