Random Forest ile Gradient Boosting arasındaki fark nedir? Bagging ve boosting'i karşılaştırın.
Cevap
İkisi de karar ağaçlarından oluşan ensemble modellerdir. Random Forest bagging kullanır: ağaçlar birbirinden bağımsız ve paralel eğitilir. Gradient Boosting ise ağaçları sırayla eğitir. Her yeni ağaç, önceki ağaçların hatalarını (loss'un negatif gradyanını) düzeltmeye çalışır.
| Özellik | Random Forest (bagging) | Gradient Boosting |
|---|---|---|
| Eğitim | Paralel, bağımsız ağaçlar | Sıralı, her ağaç öncekini düzeltir |
| Ağaçlar | Derin, düşük bias / yüksek variance | Sığ (zayıf öğrenici), yüksek bias |
| Azalttığı | Variance | Bias (ve variance) |
| Overfitting riski | Düşük, ağaç eklemek genelde zarar vermez | Ağaç sayısı ve learning rate ile kontrol edilmeli |
| Hiperparametre hassasiyeti | Az, kutudan çıktığı gibi iyi | Yüksek, tuning gerekir |
| Tipik performans | İyi baseline | Tabular veride genelde en iyi |
Random Forest'taki iki rastgelelik
- Her ağaç bootstrap örneklemiyle (yerine koyarak) eğitilir.
- Her split'te özelliklerin rastgele bir alt kümesine bakılır (
max_features). Bu ağaçları birbirinden ayrıştırır (decorrelation).
Bonus: Bootstrap'ta seçilmeyen örneklerle out-of-bag (OOB) skoru ayrı bir validation seti olmadan hesaplanabilir.
Gradient Boosting mantığı
F0(x) = ortalama(y)
her m adımında:
r = -dL/dF (MSE için bu basitçe y - F, yani residual)
h_m = r'yi tahmin eden küçük bir ağaç
F_m = F_(m-1) + learning_rate * h_m2026 itibarıyla tabular verilerde XGBoost, LightGBM ve CatBoost hâlâ çoğu durumda derin öğrenmeden daha iyi veya eşit sonuç verir. Küçük veri setlerinde ise TabPFN gibi tabular foundation modeller güçlü bir alternatif haline geldi.
İlgili Makine Öğrenmesi soruları
- Hiperparametre optimizasyonunu nasıl yaparsınız? Grid search, random search ve Bayesian optimization'ı karşılaştırın.
- Feature scaling nedir? Standardization ile normalization arasındaki fark nedir ve hangi modeller ölçeklendirme gerektirir?
- PCA (Principal Component Analysis) nasıl çalışır? Ne zaman kullanılır, ne zaman kullanılmamalıdır?
- NumPy kullanarak k-means algoritmasını sıfırdan yazın. k değerini nasıl seçersiniz ve algoritmanın sınırlamaları nelerdir?
- XGBoost ve LightGBM klasik gradient boosting'den hangi açılardan farklıdır? En önemli hiperparametreleri nelerdir?
- Lineer regresyon ile lojistik regresyon arasındaki fark nedir? Lojistik regresyonda neden MSE yerine log-loss kullanılır?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.