Connect with us

IA 101

Qu’est-ce que le Gradient Boosting ?

mm

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 gradient boosting. Le gradient boosting est fondamentalement le processus de conversion de modèles d’apprentissage faibles en modèles d’apprentissage forts. Mais comment cela est-il accompli exactement ? Examinons de plus près les algorithmes de gradient boosting et comprenons mieux comment un modèle de gradient boosting convertit les apprentissages faibles en apprentissages forts.

Définition du Gradient Boosting

Cet article vise à vous donner une bonne intuition de ce qu’est le gradient boosting, 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 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 « booster » un apprenti. Les apprentissages faibles sont convertis en apprentissages forts en ajustant les propriétés du modèle d’apprentissage. Quel algorithme d’apprentissage est exactement amélioré ?

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 portions 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 / fonctionnalités 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 voient leur poids diminuer, tandis que les observations qui étaient 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 celles 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 d’itérations donné, 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 de 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 mettent moins de temps pour trouver les prédictions actuelles par rapport à d’autres modèles d’apprentissage automatique. Cependant, il faut faire preuve de prudence 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 Gradient Boosting (GBM) sont connus pour leur grande précision, et ils améliorent les principes généraux utilisés dans AdaBoost.

La principale différence entre un modèle de Gradient Boosting et AdaBoost est que les GBM utilisent une méthode différente pour calculer lesquels des apprentissages sont mal identifiés. 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 apprentissages, 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 souhaité.

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.

Blogueur et programmeur avec des spécialités en Machine Learning et Deep Learning sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.