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.
Şekil 29. Kayıp ve karar ağacı sayısı.
Ş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.