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

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

Par exemple, les figures suivantes montrent des courbes de perte et de justesse pour les ensembles d'entraînement et de validation lors de l'entraînement d'un modèle GBT. Notez que les courbes sont divergentes, ce qui indique un degré élevé de surapprentissage.

Graphiques des pertes d'entraînement et de validation par rapport au nombre d'arbres de décision. La perte d'entraînement diminue progressivement à mesure que le nombre d'arbres de décision augmente. Toutefois, la perte de validation ne diminue que jusqu'à environ 40 arbres de décision. Avec plus de 40 arbres de décision, la perte de validation augmente. Avec 400 arbres de décision, l'écart entre la perte d'entraînement et la perte de validation est énorme.

Figure 29. Perte et nombre d'arbres de décision.

 

Graphiques de la précision de l'entraînement et de la validation par rapport au nombre d'arbres de décision. La précision de l'entraînement augmente progressivement avec le nombre d'arbres de décision, qui atteint presque 1 à 400 arbres de décision. La précision de la validation passe à environ 0,86 pour 40 arbres de décision, puis diminue progressivement à environ 0,83 sur 400 arbres de décision.

Figure 30. Précision et nombre d'arbres de décision

 

Les paramètres de régularisation couramment utilisés pour les arbres de décision à boosting de gradient sont les suivants:

  • Profondeur maximale de l'arborescence.
  • Taux de réduction.
  • Ratio des attributs testés sur chaque nœud.
  • coefficients L1 et L2 sur la perte.

Notez que les arbres de décision sont généralement beaucoup plus superficiels que les modèles de forêt aléatoires. Par défaut, les arbres de décision à boosting de gradient TF-DF sont définis sur une profondeur de 6. Comme les arbres sont peu profonds, le nombre minimal d'exemples par feuille a peu d'impact et n'est généralement pas réglé.

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

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 cet exemple, nous allons simplement remplacer le modèle de forêt aléatoire par un modèle d'arbres de décision à boosting de gradient:

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 de décision à boosting de gradient ont certains avantages et inconvénients.

Avantages

  • Comme les arbres de décision, ils sont nativement compatibles avec les caractéristiques numériques et catégorielles, et n'ont souvent pas besoin de prétraiter des caractéristiques.
  • Les hyperparamètres par défaut des arbres de décision en dégradé donnent souvent d'excellents résultats. Néanmoins, le réglage de ces hyperparamètres peut considérablement améliorer le modèle.
  • Les modèles en arbre de décision à boosting de gradient sont généralement petits (en nombre de nœuds et en mémoire) et rapides à exécuter (souvent un ou plusieurs μs / exemples).

Inconvénients

  • Les arbres de décision doivent être entraînés de manière séquentielle, ce qui peut ralentir considérablement l'entraînement. Toutefois, le ralentissement de l'entraînement est quelque peu compensé par le fait que les arbres de décision sont plus petits.
  • Tout comme les forêts d'arbres décisionnels, les arbres de décision à boosting de gradient ne peuvent pas apprendre ni réutiliser les représentations internes. Chaque arbre de décision (et chaque branche de chaque arbre de décision) doit réapprendre le modèle de l'ensemble de données. Dans certains ensembles de données, en particulier les ensembles de données contenant des données non structurées (par exemple, des images et du texte), les arbres de décision à boosting de gradient affichent des résultats plus faibles que les autres méthodes.