Fondamentaux de l’IA
Qu’est-ce que le Gradient Boosting ?
Un type courant de modèle d’apprentissage automatique qui s’est avéré extrêmement utile dans les compétitions de science des données est un modèle de boosting de gradient. Le boosting de gradient est fondamentalement le processus de conversion de modèles d’apprentissage faibles en modèles d’apprentissage forts. Mais comment cela est-il exactement accompli ? Jetons un coup d’œil plus approfondi aux algorithmes de boosting de gradient et comprenons mieux comment un modèle de boosting de gradient convertit les apprenants faibles en apprenants forts.
Définition du Gradient Boosting
Cet article vise à vous donner une bonne intuition de ce qu’est le boosting de gradient, sans trop de décomposition des mathématiques qui sous-tendent les algorithmes. Une fois que vous avez une appréciation de la façon dont le boosting de gradient 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 « booster » un apprenant. Les apprenants faibles sont convertis en apprenants forts en ajustant les propriétés du modèle d’apprentissage. Quel algorithme d’apprentissage est exactement « boosté » ?
Les modèles de boosting fonctionnent en augmentant un autre modèle d’apprentissage automatique courant, un arbre de décision.
Un modèle d’arbre de décision 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 dans 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 dans 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 les données numériques et catégorielles, et les divisions dans l’arbre sont basées sur des variables/caractéristiques spécifiques.

Illustration de la façon dont les modèles de boosting sont formés.
Photo: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)
Un type d’algorithme de boosting est l’algorithme AdaBoost. Les algorithmes AdaBoost commencent par former un modèle d’arbre de décision et attribuer un poids égal à chaque observation. Après que le premier arbre ait été évalué pour son exactitude, les poids pour les différentes observations sont ajustés. Les observations qui étaient faciles à classer ont leurs poids réduits, tandis que les observations qui étaient difficiles à classer ont leurs poids augmentés. Un deuxième arbre est créé en utilisant ces poids ajustés, avec pour objectif 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). L’exactitude 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 boosting peut être effectuée avec une large gamme de modèles comme les nombreux modèles de classification et de régression 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.
L’avantage principal des algorithmes de boosting est qu’ils prennent moins de temps pour trouver les prédictions actuelles par rapport à d’autres modèles d’apprentissage automatique. Cependant, il est important d’être prudent lors de l’utilisation des algorithmes de boosting, car ils sont sujets à la surajustement.
Gradient Boosting
Nous allons maintenant examiner l’un des algorithmes de boosting les plus courants. Les modèles de boosting de gradient (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 de boosting de gradient et AdaBoost est que les GBM utilisent une méthode différente de calcul pour déterminer lesquels des apprenants sont en erreur. AdaBoost calcule où un modèle est sous-performant en examinant les points de données qui sont fortement pondérés. Les GBM utilisent des gradients pour déterminer l’exactitude des apprenants, en appliquant une fonction de perte à un modèle. Les fonctions de perte sont un moyen de mesurer l’exactitude de l’ajustement d’un modèle sur l’ensemble de données, en calculant une erreur et en optimisant 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 son objectif.
En prenant la fonction de perte la plus courante – l’erreur quadratique moyenne (MSE) – comme exemple, la descente de gradient est utilisée pour mettre à jour les prédictions en fonction d’un taux d’apprentissage prédéfini, en visant à trouver les valeurs où la perte est minimale.
Pour clarifier :
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 faisant en sorte que les résidus soient aussi proches de zéro que possible. Si vous effectuiez 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 de 0 que possible, 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 (comme la perte logarithmique) peuvent être utilisées par un GBM. L’MSE a été sélectionnée ci-dessus à des fins de simplicité.
Variations du Modèle de Boosting de Gradient
Les modèles de boosting de gradient sont des algorithmes gloutons qui sont sujets à la surajustement sur un ensemble de données. Cela peut être protégé avec plusieurs méthodes différentes qui peuvent améliorer les performances d’un GBM.
Les GBM peuvent être régularisés avec quatre méthodes différentes : Shrinkage, Contraintes d’arbre, Boosting de gradient stochastique et Apprentissage pénalisé.
Shrinkage
Comme mentionné précédemment, dans les GBM, les prédictions sont additionnées de manière séquentielle. Dans le « Shrinkage », les ajouts de chaque arbre à la somme totale sont ajustés. Des poids sont appliqués qui ralentissent le taux d’apprentissage de l’algorithme, nécessitant que plus d’arbres soient ajoutés 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 à former.
Contraintes d’arbre
Contraindre l’arbre avec diverses modifications comme ajouter plus de profondeur à l’arbre ou augmenter le nombre de nœuds ou de feuilles dans l’arbre peut rendre plus difficile pour le modèle la surajustement. Imposer une contrainte sur le nombre minimum d’observations par division a un effet similaire. Une fois de plus, le compromis est que cela prendra plus de temps pour former le modèle.
Échantillonnage aléatoire
Les apprenants individuels peuvent être créés à l’aide d’un processus stochastique, basé sur des sous-échantillons aléatoires de l’ensemble de données de formation. Cela a pour effet de réduire les corrélations entre les arbres, ce qui protège contre la surajustement. L’ensemble de données peut être sous-échantillonné avant de créer les arbres ou avant de considérer une division dans l’arbre.
Apprentissage pénalisé
Au-delà de la contrainte du modèle par la limitation de 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 à chaque feuille, et ces valeurs fonctionnent comme des poids et peuvent être ajustés avec des fonctions de régularisation courantes comme la régularisation L1 et L2.












