Fazla uyum sağlama, normalleştirme ve erken durdurma

Rastgele ormanlardan farklı olarak gradyan artırmalı ağaçlar aşırı uyum sağlayabilir. Bu nedenle, doğrulama veri kümesi kullanarak normalleştirme ve erken durdurma işlemlerini, sinir ağlarında olduğu gibi uygulayabilirsiniz.

Örneğin, aşağıdaki şekillerde bir GBT modeli eğitilirken eğitim ve doğrulama veri kümeleri için kayıp ve doğruluk eğrileri gösterilmektedir. Eğrilerin ne kadar farklı olduğunu fark edin. Bu, yüksek düzeyde aşırı uyum olduğunu gösterir.

Karar ağacı sayısına göre eğitim kaybı ve doğrulama kaybının grafikleri. Karar ağacı sayısı arttıkça eğitim kaybı kademeli olarak azalır. Ancak doğrulama kaybı yalnızca yaklaşık 40 karar ağacına kadar azalır. 40'tan fazla karar ağacı kullanıldığında doğrulama kaybı aslında artar. 400 karar ağacında eğitim kaybı ile doğrulama kaybı arasındaki fark çok büyüktür.

Şekil 29. Kayıp ve karar ağacı sayısı.

 

Karar ağacı sayısına göre eğitim doğruluğu ve doğrulama doğruluğunun grafikleri. Karar ağacı sayısı arttıkça eğitim doğruluğu kademeli olarak artar ve 400 karar ağacında yaklaşık 1, 0 değerine ulaşır. Doğrulama doğruluğu, 40 karar ağacında yaklaşık 0,86'ya yükselir ve ardından 400 karar ağacında kademeli olarak yaklaşık 0,83'e düşer.

Şekil 30. Doğruluk ve karar ağacı sayısı.

 

Gradyan destekli ağaçlar için yaygın normalleştirme parametreleri şunlardır:

  • Ağacın maksimum derinliği.
  • Büzülme oranı.
  • Her düğümde test edilen özelliklerin oranı.
  • Kayıptaki L1 ve L2 katsayısı.

Karar ağaçlarının genellikle rastgele orman modellerinden çok daha sığ büyüdüğünü unutmayın. TF-DF'deki gradyan artırmalı ağaçlar varsayılan olarak 6 derinliğe kadar büyütülür. Ağaçlar sığ olduğu için yaprak başına minimum örnek sayısı çok az etki eder ve genellikle ayarlanmaz.

Doğrulama veri kümesi ihtiyacı, eğitim örneklerinin sayısı az olduğunda sorun teşkil eder. Bu nedenle, gradyan destekli ağaçları çapraz doğrulama döngüsü içinde eğitmek veya modelin aşırı uyum sağlamadığı bilindiğinde erken durdurmayı devre dışı bırakmak yaygındır.

Kullanım örneği

Önceki bölümde, küçük bir veri kümesinde rastgele orman modeli eğitmiştik. Bu örnekte, rastgele orman modelini gradyan destekli ağaç modeliyle değiştireceğiz:

model = tfdf.keras.GradientBoostedTreesModel()

# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)

# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)

# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
   tf_train_dataset,
   validation_ratio=0.0,
   early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.

Kullanım ve sınırlamalar

Gradyan destekli ağaçların bazı avantajları ve dezavantajları vardır.

Artıları

  • Karar ağaçları gibi, sayısal ve kategorik özellikleri doğal olarak destekler ve genellikle özellik ön işleme gerekmez.
  • Gradyan destekli ağaçlar, genellikle mükemmel sonuçlar veren varsayılan hiper parametrelere sahiptir. Yine de bu hiperparametreleri ayarlamak modeli önemli ölçüde iyileştirebilir.
  • Gradyan destekli ağaç modelleri genellikle küçüktür (düğüm sayısı ve bellek açısından) ve hızlı çalışır (genellikle yalnızca bir veya birkaç µs / örnek).

Eksileri

  • Karar ağaçları sırayla eğitilmelidir. Bu da eğitimi önemli ölçüde yavaşlatabilir. Ancak karar ağaçlarının daha küçük olması, eğitimdeki yavaşlamayı bir nebze telafi eder.
  • Rastgele ormanlar gibi gradyan artırmalı ağaçlar da dahili temsilleri öğrenemez ve yeniden kullanamaz. Her karar ağacı (ve her karar ağacının her dalı) veri kümesi kalıbını yeniden öğrenmelidir. Bu durum, özellikle de yapılandırılmış olmayan verilere (ör. resimler, metinler) sahip veri kümelerinde gradyan destekli ağaçların diğer yöntemlere kıyasla daha kötü sonuçlar göstermesine neden olur.