Surapprentissage, régularisation et arrêt prématuré

Contrairement aux forêts d'arbres décisionnels, les arbres à boosting de gradient peuvent surapprendre. Par conséquent, comme pour réseaux de neurones, vous pouvez appliquer une régularisation et un arrêt prématuré l'ensemble de données de validation.

Par exemple, les figures ci-dessous illustrent les courbes de perte et de justesse pour l'entraînement. et de validation lors de l'entraînement d'un modèle GBT. Remarquez à quel point les courbes divergentes ce qui suggère un degré élevé de surapprentissage.

Tracés des pertes d'entraînement et de validation par rapport au nombre de
  arbres de décision. La perte d'entraînement diminue progressivement
  des arbres de décision augmente. Cependant, la perte de validation ne fait que diminuer
  jusqu'à environ 40 arbres de décision. Avec plus de 40 arbres de décision,
  la perte de validation augmente 
réellement. Avec 400 arbres de décision,
  l'écart entre la perte d'entraînement
et la perte de validation est
  énorme.

<ph type="x-smartling-placeholder"></ph> Figure 29. Perte en fonction du nombre d'arbres de décision.

 

Les graphiques illustrant la justesse de l&#39;entraînement et de la validation par rapport au nombre de
  arbres de décision. La précision de l&#39;entraînement augmente progressivement
  des arbres de décision augmentent, atteignant un pic de presque 1,0 à 400
  arbres de décision. La précision de la validation passe à environ 0,86 à 40
  arbres de décision, puis tombe progressivement à environ 0,83 pour une décision de 400
  arbres.

<ph type="x-smartling-placeholder"></ph> Figure 30. Précision vs nombre d'arbres de décision

 

Voici quelques paramètres de régularisation courants pour les arbres de décision à boosting de gradient:

  • Profondeur maximale de l'arbre.
  • Taux de rétrécissement.
  • Le ratio d'attributs testés au niveau de chaque nœud.
  • coefficients L1 et L2 sur la perte.

Les arbres de décision poussent généralement bien plus bas que les forêts d'arbres décisionnels des modèles de ML. Par défaut, les arbres à boosting de gradient dans TF-DF atteignent une profondeur de 6. Comme les arbres sont peu profonds, le nombre minimum d'exemples par feuille a ont peu d'impact et ne sont généralement pas ajustés.

Un ensemble de données de validation est nécessaire lorsque le nombre d'entraînements exemples est faible. Par conséquent, il est courant d'entraîner des arbres à boosting de gradient dans une boucle de validation croisée, ou pour désactiver l'arrêt prématuré lorsque le modèle est connue pour ne pas surapprendre.

Exemple d'utilisation

Dans le chapitre précédent, nous avons entraîné une forêt aléatoire sur un petit ensemble de données. Dans ce nous allons simplement remplacer le modèle de forêt aléatoire par un gradient boosté "trees" :

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.

Utilisation et limites

Les arbres à boosting de gradient ont des avantages et des inconvénients.

Avantages

  • Comme les arbres de décision, ils sont nativement compatibles avec les et n'ont souvent pas besoin de prétraitement des caractéristiques.
  • Les arbres à boosting de gradient ont des hyperparamètres par défaut qui donnent souvent résultats. Néanmoins, le réglage de ces hyperparamètres pour améliorer le modèle.
  • Les modèles en arbre de décision à boosting de gradient sont généralement petits mémoire) et une exécution rapide (souvent seulement un ou quelques μs / exemples).

Inconvénients

  • Les arbres de décision doivent être entraînés de manière séquentielle, ce qui peut ralentir l'entraînement considérablement. Cependant, le ralentissement de l'entraînement est quelque peu compensé les arbres de décision sont plus petits.
  • Comme les forêts d'arbres décisionnels, les arbres à boosting de gradient ne peuvent pas apprendre ni réutiliser représentations. Chaque arbre de décision (et chaque branche de chaque arbre de décision) vous devez réapprendre le modèle de l'ensemble de données. Dans certains jeux de données, en particulier ceux avec non structurées (images ou texte, par exemple), le gradient augmente pour obtenir de moins bons résultats qu'avec d'autres méthodes.