Suivez nous sur
Classe de maître IA :

AI 101

Qu'est-ce que le Gradient Boosting ?

mm
Le kit de préparation mis à jour on

Un type courant de modèle d'apprentissage automatique qui s'est révélé extrêmement utile dans les concours de science des données est le modèle d'amplification de gradient. Amplification du dégradé est essentiellement le processus de conversion des modèles d'apprentissage faibles en modèles d'apprentissage forts. Mais comment cela est-il exactement accompli ? Examinons de plus près les algorithmes de gradient boosting et mieux comprendre comment un modèle de renforcement de gradient convertit les apprenants faibles en apprenants forts.

Définition de l'amplification des dégradés

Cet article vise à vous donner une bonne intuition de ce qu'est le gradient boosting, sans de nombreuses pannes des mathématiques qui sous-tendent les algorithmes. Une fois que vous avez une idée de la façon dont le gradient boosting fonctionne à un niveau élevé, vous êtes encouragé à aller plus loin et à explorer les mathématiques qui le rendent possible.

Commençons par définir ce que signifie « dynamiser » un apprenant. Les apprenants faibles sont convertis en apprenants forts en ajustant les propriétés du modèle d'apprentissage. Exactement quel algorithme d'apprentissage est boosté ?

Les modèles de boosting fonctionnent en augmentant un autre modèle d'apprentissage automatique commun, un arbre de décision.

A arbre de décision le modèle fonctionne en divisant un ensemble de données en parties de plus en plus petites, et une fois que les sous-ensembles ne peuvent plus être divisés, le résultat est un arbre avec des nœuds et des feuilles. Les nœuds d'un arbre de décision sont les endroits où les décisions concernant les points de données sont prises à l'aide de différents critères de filtrage. Les feuilles d'un arbre de décision sont les points de données qui ont été classés. Les algorithmes d'arbre de décision peuvent gérer à la fois des données numériques et catégorielles, et les divisions de l'arbre sont basées sur des variables/caractéristiques spécifiques.

Illustration de la façon dont les modèles de boosting sont entraînés.
Photo : SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Un type d'algorithme de boosting est le Algorithme AdaBoost. Les algorithmes AdaBoost commencent par former un modèle d'arbre de décision et en attribuant un poids égal à chaque observation. Après l'évaluation de la précision du premier arbre, les poids des différentes observations sont ajustés. Les observations faciles à classer voient leur poids diminuer, tandis que les observations difficiles à classer voient leur poids augmenter. Un deuxième arbre est créé à l'aide de ces poids ajustés, dans le but que les prédictions du deuxième arbre soient plus précises que les prédictions du premier arbre.

Le modèle se compose maintenant des prédictions pour l'arbre d'origine et le nouvel arbre (ou Arbre 1 + Arbre 2). La précision de la classification est évaluée une fois de plus sur la base du nouveau modèle. Un troisième arbre est créé sur la base de l'erreur calculée pour le modèle, et les poids sont à nouveau ajustés. Ce processus se poursuit pendant un nombre donné d'itérations, et le modèle final est un modèle d'ensemble qui utilise la somme pondérée des prédictions faites par tous les arbres précédemment construits.

Le processus décrit ci-dessus utilise des arbres de décision et les prédicteurs/modèles de base, mais une approche de renforcement peut être effectuée avec une large gamme de modèles comme les nombreux modèles de classificateurs et de régresseurs standard. Les concepts clés à comprendre sont que les prédicteurs ultérieurs apprennent des erreurs commises par les précédents et que les prédicteurs sont créés de manière séquentielle.

Le principal avantage des algorithmes de boosting est qu'ils prennent moins de temps pour trouver les prédictions actuelles par rapport aux autres modèles d'apprentissage automatique. Cependant, il faut faire attention lors de l'utilisation d'algorithmes de boosting, car ils sont sujets au surajustement.

Rehaussement de dégradé

Nous allons maintenant examiner l'un des algorithmes de boosting les plus courants. Les modèles de Gradient Boosting (GBM) sont connus pour leur grande précision et ils augmentent les principes généraux utilisés dans AdaBoost.

La principale différence entre un modèle Gradient Boosting et AdaBoost est que les GBM utilisent une méthode différente pour calculer quels apprenants identifient mal les points de données. AdaBoost calcule où un modèle est sous-performant en examinant les points de données fortement pondérés. Pendant ce temps, les GBM utilisent des gradients pour déterminer la précision des apprenants, en appliquant une fonction de perte à un modèle. Les fonctions de perte sont un moyen de mesurer la précision de l'ajustement d'un modèle sur l'ensemble de données, de calculer une erreur et d'optimiser le modèle pour réduire cette erreur. Les GBM permettent à l'utilisateur d'optimiser une fonction de perte spécifiée en fonction de l'objectif souhaité.

En prenant la fonction de perte la plus courante – Erreur quadratique moyenne (MSE) - par exemple, Descente graduelle est utilisé pour mettre à jour les prédictions en fonction d'un taux d'apprentissage prédéfini, visant à trouver les valeurs où la perte est minimale.

Pour rendre les choses plus claires:

Nouvelles prédictions du modèle = variables de sortie – anciennes prédictions imparfaites.

Dans un sens plus statistique, les GBM visent à trouver des modèles pertinents dans les résidus d'un modèle, en ajustant le modèle pour s'adapter au modèle et en ramenant les résidus aussi près de zéro que possible. Si vous deviez effectuer une régression sur les prédictions du modèle, les résidus seraient distribués autour de 0 (ajustement parfait), et les GBM trouvent des modèles dans les résidus et mettent à jour le modèle autour de ces modèles.

En d'autres termes, les prédictions sont mises à jour de sorte que la somme de tous les résidus soit aussi proche que possible de 0, ce qui signifie que les valeurs prédites seront très proches des valeurs réelles.

Notez qu'une grande variété d'autres fonctions de perte (telles que la perte logarithmique) peuvent être utilisées par un GBM. MSE a été sélectionné ci-dessus dans un souci de simplicité.

Variations sur les modèles d'amplification de gradient

Les modèles de Gradient Boosting sont des algorithmes gourmands qui sont sujets à un surajustement sur un ensemble de données. Cela peut être évité avec plusieurs méthodes différentes qui peuvent améliorer les performances d'un GBM.

Les GBM peuvent être régulés avec quatre méthodes différentes : Shrinkage, Tree Constraints, Stochastic Gradient Boosting et Penalized Learning.

rétrécissement

Comme mentionné précédemment, dans les GBM, les prédictions sont additionnées de manière séquentielle. Dans "Shrinkage", les ajouts de chaque arbre à la somme globale sont ajustés. Des poids sont appliqués qui ralentissent le taux d'apprentissage de l'algorithme, ce qui nécessite l'ajout d'arbres supplémentaires au modèle, ce qui améliore généralement la robustesse et les performances du modèle. Le compromis est que le modèle prend plus de temps à s'entraîner.

Contraintes de l'arborescence

Contraindre l'arbre avec divers ajustements comme ajouter plus de profondeur à l'arbre ou augmenter le nombre de nœuds ou de feuilles dans l'arbre peut rendre plus difficile le surajustement du modèle. Imposer une contrainte sur le nombre minimum d'observations par fractionnement a un effet similaire. Une fois de plus, le compromis est qu'il faudra plus de temps au modèle pour s'entraîner.

Échantillonnage aléatoire

Les apprenants individuels peuvent être créés par un processus stochastique, basé sur des sous-échantillons sélectionnés au hasard de l'ensemble de données de formation. Cela a pour effet de réduire les corrélations entre les arbres, ce qui prévient le surajustement. L'ensemble de données peut être sous-échantillonné avant de créer les arbres ou avant d'envisager une scission dans l'arbre.

Apprentissage pénalisé

Au-delà de contraindre le modèle en limitant la structure de l'arbre, il est possible d'utiliser un arbre de régression. Les arbres de régression ont des valeurs numériques attachées à chacune des feuilles, et celles-ci fonctionnent comme des poids et peuvent être ajustées avec des fonctions de régularisation courantes comme la régularisation L1 et L2.

Blogueur et programmeur spécialisé dans Machine Learning et L'apprentissage en profondeur les sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.