Laboratuvardan Haberler
Blog

XGBoost, Hatalarından Ders Alan Ekip

Bir sınava hazırlandığınızı düşünün. İlk deneme sınavına giriyorsunuz ve sonuçlara bakıyorsunuz: geometride iyisiniz, olasılıkta çok yanlışınız var. Akıllıca olan, bir sonraki haftayı geometriye değil olasılığa ayırmak. İkinci denemeden sonra yine bakıyorsunuz: olasılık düzelmiş, şimdi de problemlerde zorlanıyorsunuz. Bir sonraki hafta problemlere çalışıyorsunuz.

Her turda, bir önceki turda kalan eksiklere odaklanıyorsunuz. Boosting (güçlendirme) fikri tam olarak bu.

Sırayla Çalışan Ağaçlar

Random Forest yazımızda yüzlerce ağacın aynı anda, birbirinden bağımsız eğitildiğini ve sonunda oylama yaptığını anlatmıştık. Boosting’de ise ağaçlar sırayla eğitiliyor:

  1. İlk ağaç basit bir tahmin yapıyor. Bazı örneklerde haklı, bazılarında yanılıyor.
  2. İkinci ağaç, ilk ağacın nerede ve ne kadar yanıldığına bakıyor ve yalnızca bu hatayı düzeltmeye çalışıyor.
  3. Üçüncü ağaç, ilk ikisinden sonra hâlâ kalan hataya odaklanıyor.

Ve böyle devam ediyor. Her ağaç tek başına zayıf bir tahminci, ama birlikte, her biri bir öncekinin eksiğini tamamlayarak çok güçlü bir model oluşturuyorlar. Bir metni sırayla okuyan editörler gibi: her biri bir öncekinin gözünden kaçan hataları düzeltiyor.

“X” Nereden Geliyor?

XGBoost (eXtreme Gradient Boosting), bu fikrin özellikle hızlı ve dikkatli bir uygulaması. İki şeyi iyi yapıyor:

  • Fren mekanizması: Ağaçların fazla karmaşıklaşmasını ve eğitim verisini ezberlemesini cezalandırıyor. Yani “hatayı düzelt ama abartma” diyor.
  • Hız: Hesaplamaları paralel yapacak şekilde tasarlandı. Büyük veri setlerinde bile hızlı eğitilebiliyor.

Bu ikisi bir araya gelince XGBoost, satır ve sütunlardan oluşan tablo şeklindeki verilerde en başarılı yöntemlerden biri haline geldi. Veri bilimi yarışmalarında yıllarca kazanan ekiplerin en sık kullandığı araçlardan biri oldu.

Bizim İçin Neden Önemli?

EEG kayıtlarından çıkardığımız özellikler, örneğin her elektrot için her frekans bandının gücü, tam da böyle bir tablo oluşturuyor: her satır bir deneme, her sütun bir özellik. XGBoost bu tür tablolarda hem başarılı hem de nispeten hızlı olduğu için duygu ve beğeni sınıflandırması gibi çalışmalarda sık başvurduğumuz yöntemlerden biri.

Kaynaklar

  1. Chen, T., Guestrin, C. (2016). XGBoost: A Scalable Tree Boosting System. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 785–794. DOI: 10.1145/2939672.2939785