GBT (Gradient Boosted Trees) Makine Öğrenimi Modeli

Kübra Özden
Teknopar Akademi
Published in
5 min readApr 21, 2024

GBT (Gradient Boosted Trees) makine öğreniminde yaygın olarak kullanılan güçlü ve esnek bir algoritmadır. Hem sınıflandırma hem de regresyon problemleri için kullanılabilir. GBT, karar ağaçlarından oluşan bir ensemble’dır ve adım adım model kurarak tahmin performansını artırmayı hedefler.

Sınıflandırma için Gradient Boosted Trees

GBT sınıflandırma modelleri, çıktı olarak genellikle kategorik değişkenler (etiketler) tahmin eder. Bu, bir e-postanın spam olup olmadığını belirlemek, bir müşterinin bir ürünü satın alıp almayacağını tahmin etmek veya bir makine üzerinde arıza olup olmadığını tahmin etmek gibi durumlar için kullanılabilir.

1. Model Kurulumu: Algoritma, her adımda mevcut modelin hatalarını azaltacak yeni bir karar ağacı ekler. Bu ağaçlar hataları düzeltmeye yönelik olarak öğrenilir.

2. Hata Düzeltme: Her bir karar ağacı, bir öncekinin yapamadığı tahmin hatalarını azaltmaya çalışır. GBT’de her yeni ağacın eğitilmesi, sadece önceki ağaçların tahmin hatalarına odaklanmaz; aynı zamanda bu hataları minimize etmeye çalışan bir gradyan iniş algoritması kullanır. Bu gradyan iniş adımları, modelin daha hızlı ve etkili bir şekilde optimize edilmesine olanak tanır.

3. Oylama ile Sınıflandırma: Her ağacın çıktısı bir oylama mekanizması kullanılarak birleştirilir ve en yüksek oyu alan sınıf, nihai tahmin olarak seçilir.

4. Hiperparametre Ayarları: Öğrenme oranı, ağaç derinliği, ağaç sayısı gibi hiperparametrelerin ayarlanması modelin performansını önemli ölçüde etkiler.

Tahmin (Regresyon) için Gradient Boosted Trees

GBT regresyon modelleri, sürekli değerli çıktılar üretir. Bu, bir evin fiyatını tahmin etmek, bir aracın yakıt tüketimini hesaplamak veya bir hisse senedinin gelecekteki fiyatını öngörmek gibi durumlar için kullanılabilir.

1. Model Kurulumu: Sınıflandırmada olduğu gibi, her adımda modelin performansını artırmak için yeni bir karar ağacı eklenir.

2. Hata Minimizasyonu: Her ağaç, tahmin edilen değerler ile gerçek değerler arasındaki farkı (hatayı) azaltmayı hedefler. Aynı zamanda bu hataları minimize etmeye çalışan bir gradyan iniş algoritması kullanır.

3. Toplam Tahmin: Her ağacın tahmini, ağırlıklı bir toplam kullanılarak hesaplanır ve bu tahminler toplamı nihai tahmin değerini verir.

4. Hiperparametre Ayarları: Öğrenme oranı, ağaçların maksimum derinliği gibi parametrelerin optimizasyonu, regresyon modelinin başarısını belirler.

GBT, diğer ansambıl yöntemlere göre genellikle daha yüksek performans gösterir ve aşırı uydurma (overfitting) riskini kontrol altında tutacak şekilde ayarlanabilir. Ancak, hiperparametrelerin doğru ayarlanması ve modelin karmaşıklığı yönetimi, başarılı bir uygulama için kritik öneme sahiptir.

Gradient Boosting Nedir?

Gradient boosting, tipik olarak karar ağaçları olmak üzere birden fazla zayıf öğrenicinin tahminlerini sırayla birleştiren bir makine öğrenimi tekniğidir. Modelin ağırlıklarını önceki iterasyonların hatalarına göre optimize ederek, tahmin hatalarını kademeli olarak azaltarak ve modelin doğruluğunu artırarak genel tahmin performansını iyileştirmeyi amaçlar.

https://www.analyticsvidhya.com/blog/2021/09/gradient-boosting-algorithm-a-complete-guide-for-beginners/

GBT algoritmasının her adımını bu görsel üzerinden detaylı bir şekilde açıklayacağım.

GBT Algoritmasının Adımları

1. Tree 1 — İlk Tahmin :
— Algoritma, veri seti (X, y) kullanılarak bir ilk tahmin yapar. Bu tahmin genellikle yalnızca bir karar ağacıdır ve bu ağaç “Tree 1” olarak adlandırılır.
— İlk ağacın tahminleri ( hat{y}_1 ), gerçek değerler ( y ) ile karşılaştırılarak rezidüaller (hatalar) ( r_1 ) hesaplanır : ( r_1 = y — hat{y}_1 )
— Burada amaç, modelin tahmin ettiği değerler ile gerçek değerler arasındaki farkı, yani hatayı, minimize etmektir.

2. Tree 2 — Hataları Düzeltme :
— İkinci adımda, ilk ağacın yaptığı hatalar üzerine yeni bir ağaç eğitilir. Bu ağaç “Tree 2” olarak adlandırılır ve (X, r_1) verileri kullanılarak eğitilir, burada ( X ) özellikler ve ( r_1 ) ilk ağacın hatalarıdır.
— Tree 2'nin görevi, ilk ağacın yapamadığı tahminleri iyileştirmektir.
— Tree 2'nin tahminleri ( hat{y}_2 ), önceki ağacın hatalarından çıkarılarak yeni rezidüaller ( r_2 = r_1 — hat{y}_2 ) hesaplanır.

3. Tree 3 ve Sonraki Ağaçlar :
— Bu süreç, her yeni ağaç için devam eder: Her ağaç, önceki tüm ağaçların hatalarını düzeltmeye odaklanır.
— Örneğin, Tree 3 (X, r_2) verisi ile eğitilir ve yeni hatalar ( r_3 = r_2 — hat{y}_3 ) olarak hesaplanır.

4. Tree N — Son Ağaç :
— Bu işlem, belirlenen bir iterasyon sayısı (N) veya başka bir durdurma kriteri karşılanana kadar devam eder.
— Son ağaç, (X, r_{N-1} ) verisi kullanılarak eğitilir ve son hatalar ( r_N = r_{N-1} — hat{y}_N ) olarak bulunur.

Görseldeki Aşamalar:

- Predict: Her ağacın tahmin aşaması. İlk ağaç dışında, her ağaç önceki ağacın hataları üzerine tahmin yapar.
- Train: Her ağacın eğitim aşaması. Verilen hatalar (rezidüaller) üzerine eğitim yapılır.
- Residüaller: Her adımda hesaplanan hatalar. Bunlar, gerçek değerlerle modelin tahminleri arasındaki farklardır.

Sonuç

GBT, tüm bu ağaçları bir araya getirerek kümülatif bir tahmin yapar. Son model, tüm ağaçların tahminlerinin toplamı şeklinde çalışır ve genellikle hatasız bir tahmine oldukça yakın bir sonuç verir. Her yeni ağacın eklenmesi, modelin veri setindeki karmaşıklığı ve ilişkileri öğrenme yeteneğini arttırır. Bu sürecin sonunda, model, hem eğitim verilerine iyi uyum sağlar hem de genelleme yapabilme kapasitesini koruyarak aşırı uyuma (overfitting) karşı dirençli hale gelir.

GBTClassifier’ın Sensör Verileri Üzerinde Kullanımı

GBTClassifier’ın büyük sensör verileri üzerinde kullanımının önemi ve avantajları, genellikle sensör verilerinin karmaşıklığı ve bu verilerden anlamlı bilgiler çıkarmanın zorluğundan kaynaklanır. İşte bu kullanımın öne çıkan bazı önemli noktaları ve avantajları:

Veri Karmaşıklığı ile Başa Çıkma

  • Yüksek Boyutlu Veriler: Sensörlerden gelen veriler genellikle yüksek boyutludur. GBTClassifier çok sayıda özelliği olan veri kümelerinde etkili bir şekilde çalışabilir ve en önemli özellikleri belirleyerek model karmaşıklığını ve gereksiz bilgileri azaltabilir.
  • Doğrusal Olmayan İlişkiler: Sensör verileri arasındaki ilişkiler genellikle doğrusal değildir. GBTClassifier, özellikler arasındaki karmaşık ve doğrusal olmayan ilişkileri modelleyebilir, böylece daha doğru tahminler yapılabilir.
  • Zaman Bağımlılıkları: Zaman serisi verileri, sensör verileri içinde sıkça rastlanan bir durumdur ve bu verilerdeki bağımlılıkları dikkate almak önemlidir. GBTClassifier zaman serisine bağlı özellikler çıkarabilir ve bu bağlamda etkili tahminler yapabilir.

Performans ve Doğruluk

  • Yüksek Tahmin Başarısı: GBTClassifier, birden fazla karar ağacını birleştirerek oluşturulan güçlü bir model yapısı sunar. Bu yapı, genellikle tek bir modelden daha yüksek performans sağlar.
  • Özelleştirilebilir Hiperparametreler: Modelin hiperparametreleri, farklı veri setleri ve uygulamalar için özelleştirilebilir. Bu, modelin sensör verilerinin özgül özelliklerine uygun hale getirilmesine olanak tanır.

Dayanıklılık ve Genelleştirme

  • Aşırı Uyuma Karşı Direnç: GBTClassifier, aşırı uyuma (overfitting) eğilimi olan karmaşık veri setlerinde bile, uygun hiperparametre ayarları ile dayanıklı kalabilir.
  • Farklı Veri Türleri ile Çalışabilme: GBTClassifier, hem sürekli hem de kategorik özelliklerle çalışabilme yeteneğine sahiptir, bu da sensör verilerinin farklı türlerini modelleyebilmesini sağlar.

Operasyonel Etkinlik

  • Gerçek Zamanlı Tahminler: GBTClassifier hızlı tahmin yapma yeteneği sayesinde gerçek zamanlı sistemlerde kullanılabilir. Bu, hızlı karar alma ve müdahale için kritik önem taşır.
  • Sürekli Öğrenme ve Güncelleme: Model, yeni verilerle sürekli güncellenebilir, böylece değişen koşullara ve yeni örüntülere adaptasyon sağlayabilir.

--

--