Modellerin birleştirilmesi (Ensemble Learning) – 4

Boosting

Boosting, bir çok zayıf öğreniciyi (weak learner) bir araya getirerek bir güçlü öğrenici (strong learner) oluşturmak anlamına gelir. Bir çok boosting metodunun ana fikri, tahmin edicileri ardışık olarak eğitmektir. En sık kullanılan boosting metodları, AdaBoost (Adaptive Boosting) ve Gradient Boosting metodlarıdır.

Adaboost

Bir tahmin edicinin, kendinden önce gelen tahmin ediciyi düzeltmesi için bir yol, kendinden önce gelen tahmin edicinin eksik öğrendiği (underfit) eğitim verilerine daha fazla dikkat etmesidir. Bu yöntem Adaboost algoritmasında kullanılır.

Bir Adaboost sınıflandırıcısı inşa etmek için, ilk olarak sınıflandırıcımızı eğitim seti üzerinde eğitiriz ve tahmin yaparız. Daha sonra, yanlış sınıflandırılan eğitim verilerinin “Göreli Ağırlığı (Relative Weight)” arttırılır. İkinci sınıflandırıcı, bu arttırılmış ağırlıklar ile eğitilir ve tekrar tahmin yapılır. Ağırlıklar yine güncellenir ve bu şekilde devam edilir.

 

ensemble5.png

Tüm tahmin ediciler eğitildiğinde, tahminler, tüm tahmin edicilerin doğruluk oranlarına göre ağırlıkları dikkate alınarak bagging veya pasting metodları ile yapılır.

Stacking

Bahsedeceğim son ensemble metodu ise, stacking (kıs. stacked generalization). Çok basit bir fikre dayanmaktadır: tahmin edicileri birleştirirken hard voting gibi yöntemler kullanmak yerine, neden birleştirmeyi yapacak bir model eğitmiyoruz?

ensemble6.png
Stacking.

Yukarıdaki grafikte, yeni veri noktası üzerinde 3 farklı tahmin edici ile tahmin yapılmış (3.1, 2.7 ve 2.9) ve son tahmin edici (blender veya meta learner olarak adlandırılır) de bu tahminleri alıp, son tahmini yapmaktadır (3.0).

Bir blender eğitmek için, sık kullanılan bir yaklaşım, bir hold-out kümesi kullanmaktır. İlk olarak eğitim seti iki altkümeye ayrılır. Altkümelerden birisi tahmin edicileri eğitmek için kullanılır.

ensemble7.png

Daha sonra, tahmin ediciler ile ikinci altküme (held-out) üzerinde tahmin yapılır. Bu durumda ilk altkümedeki (hold-out) her bir değer için, elimizde 3 adet tahmin bulunur (elimizde 3 tane sınıflandırıcı olduğunu varsayıyoruz). Şimdi elimizdeki tahminleri ve gerçek değerleri kullanarak yeni bir eğitim seti oluşturuyoruz. Blender‘ı da bu eğitim seti üzerinde eğitiyoruz.

Bir sonraki yazıda görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.

 

 

 

Reklamlar

Modellerin birleştirilmesi (Ensemble Learning) – 4” için 2 yorum

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s