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

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

Par exemple, les figures suivantes montrent les 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 suggère un fort degré de surajustement.

Graphiques de la perte d'entraînement et de la perte 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 par rapport au nombre d'arbres de décision.

 

Graphiques de la précision d'entraînement et de la précision de validation par rapport au nombre d'arbres de décision. La précision de l'entraînement augmente progressivement à mesure que le nombre d'arbres de décision augmente, atteignant un pic de près de 1,0 à 400 arbres de décision. La précision de validation passe à environ 0,86 pour 40 arbres de décision, puis diminue progressivement à environ 0,83 pour 400 arbres de décision.

Figure 30. Précision par rapport au nombre d'arbres de décision.

 

Voici quelques-uns des paramètres de régularisation courants pour les arbres boostés par gradient:

  • Profondeur maximale de l'arborescence.
  • Le taux de rétrécissement.
  • Taux d'attributs testés à chaque nœud.
  • Coefficients L1 et L2 sur la perte.

Notez que les arbres de décision sont généralement beaucoup moins profonds que les modèles de forêt d'arbres aléatoires. Par défaut, les arbres à boosting de gradient dans TF-DF sont développés jusqu'à une profondeur de 6. Étant donné que les arbres sont peu profonds, le nombre minimal d'exemples par feuille a peu d'impact et n'est généralement pas affiné.

La nécessité d'un ensemble de données de validation est un problème lorsque le nombre d'exemples d'entraînement est faible. Par conséquent, il est courant d'entraîner des arbres boostés par gradient dans une boucle de validation croisée ou de désactiver l'arrêt anticipé lorsque le modèle est connu 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 cet exemple, nous allons simplement remplacer le modèle de forêt d'arbres aléatoires 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 boostés par gradient présentent certains avantages et inconvénients.

Avantages

  • Comme les arbres de décision, ils prennent en charge nativement les caractéristiques numériques et catégorielles et n'ont souvent pas besoin de prétraitement des caractéristiques.
  • Les arbres boostés par gradient ont des hyperparamètres par défaut qui donnent souvent d'excellents résultats. Toutefois, le réglage de ces hyperparamètres peut améliorer considérablement le modèle.
  • Les modèles d'arbres boostés par gradient sont généralement de petite taille (en nombre de nœuds et en mémoire) et rapides à exécuter (souvent une 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 considérablement l'entraînement. Toutefois, le ralentissement de l'entraînement est quelque peu compensé par la réduction de la taille des arbres de décision.
  • Comme les forêts aléatoires, les arbres boostés par gradient ne peuvent pas apprendre et réutiliser les représentations internes. Chaque arbre de décision (et chaque branche de chaque arbre de décision) doit réapprendre le schéma de l'ensemble de données. Dans certains ensembles de données, en particulier ceux contenant des données non structurées (images, texte, par exemple), les arbres boostés par gradient affichent des résultats moins bons que d'autres méthodes.