Überanpassung, Normalisierung und frühzeitiges Anhalten

Im Gegensatz zu Zufallswäldern können sich durch den Farbverlauf gestützte Bäume übertreiben. Daher können Sie bei neuronalen Netzwerken Validierung und vorzeitiges Beenden mit einem Validierungs-Dataset anwenden.

Die folgenden Abbildungen zeigen beispielsweise Verlust- und Genauigkeitskurven für Trainings- und Validierungs-Datasets beim Trainieren eines GBT-Modells. Wie stark die Kurven voneinander abweichen, deutet auf eine Überanpassung hin.

Diagramme des Trainings- und Validierungsverlusts im Vergleich zur Anzahl der Entscheidungsbäume. Der Trainingsverlust verringert sich schrittweise, wenn die Anzahl der Entscheidungsbäume zunimmt. Der Validierungsverlust nimmt jedoch nur bis etwa 40 Entscheidungsbäume ab. Bei mehr als 40 Entscheidungsbäumen steigt der Validierungsverlust tatsächlich. Bei 400 Entscheidungsbäumen ist die Lücke zwischen dem Trainingsverlust und dem Validierungsverlust enorm.

Abbildung 29. Verlust im Vergleich zur Anzahl der Entscheidungsbäume

 

Vergleich der Trainings- und Validierungsgenauigkeit im Vergleich zur Anzahl der Entscheidungsbäume. Die Trainingsgenauigkeit erhöht sich schrittweise, wenn die Anzahl der Entscheidungsbäume zunimmt.Sie erreicht damit bei 400 Entscheidungsbäumen einen Höchstwert von fast 1,0. Die Validierungsgenauigkeit steigt mit etwa 0,86 bei 40 Entscheidungsbäumen und sinkt dann schrittweise bei etwa 0,83 bei 400 Entscheidungsbäumen.

Abbildung 30. Genauigkeit und Anzahl der Entscheidungsbäume

 

Häufige Normalisierungsparameter für Boosted Trees in Bäumen sind:

  • Die maximale Tiefe des Baums.
  • Die Schrumpfrate.
  • Das Verhältnis der auf jedem Knoten getesteten Attribute.
  • L1- und L2-Koeffizient beim Verlust.

Beachten Sie, dass Entscheidungsbäume in der Regel wesentlich flacher wachsen als zufällige Waldmodelle. Standardmäßig werden in „TF-DF“ verzweigte Bäume mit Farbverlauf auf die Tiefe 6 gezüchtet. Da die Bäume flach sind, hat die Mindestanzahl von Beispielen pro Blatt wenig Einfluss und ist im Allgemeinen nicht abgestimmt.

Ein Validierungs-Dataset ist ein Problem, wenn die Anzahl der Trainingsbeispiele gering ist. Daher ist es üblich, in einem Validierungs-Loop Gradienten mit Boosted Trees zu trainieren oder das vorzeitige Beenden zu deaktivieren, wenn bekannt ist, dass das Modell nicht überpasst.

Verwendungsbeispiel

Im vorigen Kapitel haben wir einen Zufallswald mit einem kleinen Dataset trainiert. In diesem Beispiel ersetzen wir einfach das Zufalls-Gesamtstrukturmodell durch einen Farbverlauf mit Boosted Tree-Modellen:

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.

Nutzung und Einschränkungen

Boosted-Bäume haben verschiedene Vor- und Nachteile.

Vorteile

  • Wie Entscheidungsbäume unterstützen sie nativ und kategoriale Merkmale nativ und benötigen häufig keine Vorverarbeitung von Merkmalen.
  • Gradient-Bäume haben Standard-Hyperparameter, die oft hervorragende Ergebnisse liefern. Dennoch kann das Optimieren dieser Hyperparameter das Modell erheblich verbessern.
  • Gradient Boosted Tree-Modelle sind in der Regel klein (in Bezug auf die Anzahl der Knoten und im Arbeitsspeicher) und schnell auszuführen (oft nur ein oder wenige μs / Beispiele).

Nachteile

  • Die Entscheidungsbäume müssen der Reihe nach trainiert werden, was das Training erheblich verlangsamen kann. Der Training-Verlangsamung wird jedoch etwas dadurch ausgeglichen, dass die Entscheidungsbäume kleiner sind.
  • Wie zufällige Wälder können auch in Gradienten gestützte Bäume keine internen Darstellungen erlernen und wiederverwenden. Jeder Entscheidungsbaum (und jeder Zweig jedes Entscheidungsbaums) muss das Dataset-Muster neu lernen. In einigen Datasets, insbesondere Datasets mit unstrukturierten Daten (z. B. Bildern, Text), führt dies bei Gradient Boosted-Bäumen zu schlechteren Ergebnissen als bei anderen Methoden.