W odróżnieniu od losowych lasów drzewa z ulepszoną gradientem mogą się przemieścić. Dlatego, jak w przypadku sieci neuronowych, możesz zastosować regularyzację i wczesne zatrzymanie za pomocą do weryfikacji danych.
Na przykład na poniższych ilustracjach przedstawiono krzywe utraty i dokładności potrzebne do trenowania i zestawów do walidacji podczas trenowania modelu GBT. Zwróć uwagę na rozbieżność krzywych co sugeruje wysoki stopień dopasowania.
Rysunek 29. Strata a liczba drzew decyzyjnych. .
Rysunek 30. Dokładność a liczba drzew decyzyjnych. .
Typowe parametry regularyzacji drzew z wzmocnioną gradientem to:
- Maksymalna głębokość drzewa.
- Szybkość kurczenia.
- Współczynnik atrybutów testowanych w każdym węźle.
- Współczynnik L1 i L2 na stracie.
Warto zauważyć, że drzewa decyzyjne są zwykle znacznie płytsze niż lasy losowe. modeli ML. Domyślnie drzewa w pliku TF-DF wzmocnione gradientem rosną do głębokości 6. Drzewa są płytkie, dlatego minimalna liczba przykładów na liść ma niewielki wpływ i zwykle nie jest dostosowywany.
Potrzeba zbioru danych do weryfikacji stanowi problem, gdy liczba treningów jest mała. Dlatego często trenuje się drzewa wzmocnione gradientem. w pętli weryfikacji krzyżowej lub w celu wyłączenia wczesnego zatrzymania, gdy model że nie dodają żadnych przepasowań.
Przykład zastosowania
W poprzednim rozdziale trenowaliśmy las losowy na małym zbiorze danych. W tym na przykład zastąpimy losowy model lasu ulepszonym gradientem model drzewa:
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.
Wykorzystanie i ograniczenia
Drzewa ze wzmocnionymi gradientami mają pewne wady i zalety.
Zalety
- Podobnie jak drzewa decyzyjne, natywnie obsługują liczbowe i kategorialne funkcje i często nie wymagają wstępnego ich przetwarzania.
- Drzewa z ulepszeniami gradientowymi mają domyślne hiperparametry, które często dają wyników. Mimo to dostrajanie tych hiperparametrów może znacznie i ulepszyć model.
- Modele drzewa z wzmocnioną gradientem są zwykle małe (pod względem liczby węzłów i pamięci) i szybkie działanie (często tylko 1 lub kilka μs / przykład).
Wady
- Drzewa decyzyjne muszą być trenowane sekwencyjnie, co może spowolnić trenowanie znacznie obniżył się. Spowolnienie tempa trenowania jest jednak nieco słabsze są mniejsze.
- Tak jak przypadkowe lasy, drzewa o ulepszonej gradientie nie są w stanie uczyć się i wykorzystywać reprezentacji. każde drzewo decyzyjne (i każdą gałąź każdego drzewa decyzyjnego) musi ponownie poznać wzorzec zbioru danych. W niektórych zbiorach danych, zwłaszcza tych zawierających nieuporządkowanych danych (np. obrazów czy tekstu), co powoduje wzmocnienie gradientu. drzew, osiągając gorsze wyniki niż inne metody.