CodeBlanks Logo Icon CodeBlanks

AdaBoost

AdaBoost, hatalı örneklerin ağırlığını artırarak sonraki modeli yönlendirir.

AdaBoost

AdaBoost her turda yanlış sınıflanan örneklerin ağırlığını artırır; bir sonraki zayıf öğrenici bu "zor" örneklere daha çok dikkat eder. Her öğrenicinin oyu, ne kadar isabetli olduğuna göre ağırlıklandırılır:

ada = AdaBoostClassifier(
    estimator=DecisionTreeClassifier(max_depth=1),
    n_estimators=200, learning_rate=0.5, random_state=0)
ada.fit(X_train, y_train)
print(ada.estimator_weights_[:5])   # öğrenici oy ağırlıkları

Ağırlık artırma yüzünden AdaBoost etiket gürültüsüne ve aykırı değerlere duyarlıdır: yanlış etiketli bir örnek giderek daha çok önemsenir.

Hata ve oy ağırlığı

İkili AdaBoost'ta hatası ε olan bir öğrenicinin oy ağırlığı α = ½·ln((1-ε)/ε)'dir. ε = 0.5 (rastgele) ise α = 0: oy etkisizdir. Hata azaldıkça oy ağırlığı artar:

import numpy as np
for e in [0.45, 0.3, 0.1]:
    print(e, round(0.5 * np.log((1 - e) / e), 3))

Bu yüzden zayıf öğrenicinin rastgeleden biraz iyi olması yeterlidir; katkısı ona göre ayarlanır.

Uygulama Oy ağırlıkları

Hata oranları [0.45, 0.3, 0.1] için oy ağırlığını 0.5 * np.log((1 - e) / e) ile hesaplayıp np.round(..., 3) ile yazdır.

Başlangıç kodu

model.py
import numpy as np

e = np.array([0.45, 0.3, 0.1])

# buraya yaz

Örnek çözüm

model.py
import numpy as np

e = np.array([0.45, 0.3, 0.1])

alfa = 0.5 * np.log((1 - e) / e)
print(np.round(alfa, 3))

Beklenen çıktı

[0.1   0.424 1.099]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 AdaBoost'ta yanlış sınıflanan bir örneğe sonraki turda ne olur?

  • Ağırlığı artar Doğru cevap
  • Veriden çıkarılır
  • Ağırlığı azalır
  • Etiketi değiştirilir

Açıklama: Sonraki öğrenici bu örneği doğru sınıflamaya daha çok zorlanır.

2 Zayıf öğrenici olarak stump ver.

Soru
ada = AdaBoostClassifier(____=DecisionTreeClassifier(max_depth=1))
Cevap
ada = AdaBoostClassifier(estimator=DecisionTreeClassifier(max_depth=1))

Açıklama: estimator parametresi her turda kopyalanacak modeldir.

3 Kavramları eşleştir.

Kavram Anlamı
örnek ağırlığı Zor örneklerde artar
α Öğrenicinin oy ağırlığı
ε = 0.5 Oy ağırlığı 0
etiket gürültüsü AdaBoost'un zayıflığı

Orta seviye bölümündeki tüm dersler