Comment un taux d'apprentissage plus faible peut-il nuire aux performances d'un gbm?

9

J'ai toujours souscrit à la sagesse populaire selon laquelle la diminution du taux d'apprentissage dans un gbm (modèle d'arbre boosté par gradient) ne nuit pas aux performances hors échantillon du modèle. Aujourd'hui, je n'en suis pas si sûr.

J'ajuste des modèles (minimisant la somme des erreurs quadratiques) au jeu de données du logement de Boston . Voici un graphique d'erreur par nombre d'arbres sur un ensemble de données de test à 20%

Erreur par nombre d'arbres avec différents taux d'apprentissage

Il est difficile de voir ce qui se passe à la fin, alors voici une version zoomée aux extrêmes

Zoom dans la version

Il semble que dans cet exemple, le taux d'apprentissage de est le meilleur, les plus petits taux d'apprentissage étant moins performants sur les données en attente.0.01

Comment cela s'explique-t-il le mieux?

Est-ce un artefact de la petite taille de l'ensemble de données de Boston? Je connais beaucoup mieux les situations où j'ai des centaines de milliers ou des millions de points de données.

Dois-je commencer à régler le taux d'apprentissage avec une recherche dans la grille (ou un autre méta-algorithme)?

Matthew Drury
la source

Réponses:

5

Oui, vous avez raison, un taux d'apprentissage plus bas devrait trouver un meilleur optimum qu'un taux d'apprentissage plus élevé. Mais vous devez régler les hyper-paramètres à l'aide de la recherche de grille pour trouver la meilleure combinaison de taux d'apprentissage avec les autres hyper-paramètres.

L'algorithme GBM utilise plusieurs hyper paramètres en plus du taux d'apprentissage (rétrécissement), ce sont:

  1. Nombre d'arbres
  2. Profondeur d'interaction
  3. Observation minimale dans un nœud
  4. Fraction de sac (fraction d'observations sélectionnées au hasard)

La recherche dans la grille doit vérifier tous ces éléments afin de déterminer l'ensemble de paramètres le plus optimal.

Par exemple, sur certains ensembles de données que j'ai réglés avec GBM, j'ai observé que la précision varie considérablement lorsque chaque hyperparamètre est modifié. Je n'ai pas exécuté GBM sur votre exemple de jeu de données, mais je ferai référence à un exercice de réglage similaire pour un autre jeu de données. Reportez-vous à ce graphique sur un problème de classification avec des classes très déséquilibrées.

Impact du retrait variable (taux d'apprentissage) sur la métrique Kappa

Bien que la précision soit la plus élevée pour un taux d'apprentissage inférieur, par exemple pour max. profondeur de l'arbre de 16, la métrique Kappa est de 0,425 au taux d'apprentissage 0,2, ce qui est mieux que 0,415 au taux d'apprentissage de 0,35.

Mais lorsque vous regardez le taux d'apprentissage à 0,25 contre 0,26, il y a une augmentation brusque mais faible de Kappa pour une profondeur d'arbre maximale de 14, 15 et 16; alors qu'il continue de diminuer pour la profondeur des arbres 12 et 13.

Par conséquent, je vous suggère d'essayer la recherche dans la grille.

De plus, comme vous l'avez mentionné, cette situation aurait également pu être aggravée par une taille d'échantillon plus petite de l'ensemble de données.

Sandeep S. Sandhu
la source
0

Sandeep S. Sandhu a fourni une excellente réponse. Quant à votre cas, je pense que votre modèle n'a pas encore convergé pour ces petits taux d'apprentissage. D'après mon expérience, lorsque vous utilisez un taux d'apprentissage aussi petit que 0,001 sur un arbre de renforcement de gradient, vous avez besoin d'environ 100 000 étapes de boost (ou arbres) pour atteindre le minimum. Donc, si vous augmentez les tours de boost à dix fois plus, vous devriez pouvoir voir le plus petit taux d'apprentissage mieux que le grand.

Louis Yang
la source