Gradient boosting
| Type |
Méthode (d) |
|---|
En intelligence artificielle, plus précisément en apprentissage automatique, le gradient boosting (parfois traduit amplification de gradient en français) est une technique d'apprentissage basée sur le principe de boosting.
Elle consiste à combiner progressivement des modèles faibles, le plus souvent des arbres de décision, pour former un modèle prédictif performant en corrigeant les erreurs résiduelles de manière itérative[1]. Cette méthode repose sur une optimisation séquentielle où chaque nouveau modèle ajuste ses paramètres en minimisant une fonction de coût via le calcul des gradients[2]. Popularisée par des algorithmes comme XGBoost ou LightGBM (en)[3], le gradient boosting s'impose dans des domaines variés, allant de la recommandation à la classification, grâce à son efficacité et sa capacité à traiter des données structurées complexes.
Historique
Le concept de gradient boosting trouve son origine dans une observation de Leo Breiman datant de 1997, selon laquelle le boosting peut être interprété comme un algorithme d'optimisation appliqué à une fonction objectif appropriée[4]. Des algorithmes explicites de gradient boosting dans un contexte de régression statistique ont ensuite été formalisés par Jerome H. Friedman (en) (en 1999[2], puis en 2001[5]), parallèlement à des approches plus générales proposées par Llew Mason, Jonathan Baxter, Peter Bartlett et Marcus Frean en 1999[6],[7]. Ces contributions ont introduit une nouvelle interprétation des algorithmes de boosting en tant que méthodes de descente de gradient fonctionnel itératif, c'est-à-dire des procédés optimisant une fonction de coût dans un espace fonctionnel en sélectionnant itérativement une fonction (un « classifieur faible ») orientée dans la direction opposée au gradient[6]. Cette perspective fonctionnelle du gradient a ouvert la voie au développement d'algorithmes de boosting dans divers domaines de l'apprentissage automatique et des statistiques, au-delà de la régression et de la classification.
Principe
Cette section suit le tutoriel A Gentle Introduction to Gradient Boosting par Cheng Li (Northeastern University)[8].
À l'instar des autres méthodes de boosting, le gradient boosting combine des modèles dits faibles en un unique modèle fort par itération. On l'explique ici dans un contexte de régression des moindres carrés. L'objectif est d'apprendre au modèle à prédire des valeurs sous la forme , tout en minimisant l'erreur quadratique moyenne , où est une variable itérée sur un jeu d'entraînement de taille , composé de valeurs de la variable de sortie :
- la valeur prédite
- la valeur observée
- le nombre d'échantillons dans
Si l'algorithme comporte étapes, à chaque étape (), supposons un modèle imparfait (pour de faibles , ce modèle peut simplement prédire comme étant , la moyenne de ). Pour améliorer , notre algorithme doit ajouter un nouvel estimateur .
Ainsi,
où, de manière équivalente,
- .
Par conséquent, le gradient boosting ajustera au résidu . Comme dans les autres variantes du boosting, chaque tente de corriger les erreurs de son prédécesseur . Une généralisation de cette idée à des fonctions de perte autres que l'erreur quadratique, ainsi qu'à des problèmes de classification ou de classement, découle de l'observation que les résidus pour un modèle donné sont proportionnels aux gradients négatifs de la fonction de perte d'erreur quadratique moyenne (par rapport à )
- .
Ainsi, le gradient boosting peut être généralisé à un algorithme de descente de gradient en utilisant une fonction de perte différente et son gradient correspondant[9].
Usages
Le gradient boosting trouve des applications dans le domaine de l'apprentissage par classement. Les moteurs de recherche Yahoo[10] et Yandex[11] emploient des variantes de cette méthode au sein de leurs algorithmes de classement fonctionnant sur de l'apprentissage automatique. Il est également utilisé en physique des particules pour de l'analyse de données, comme celles du Grand collisionneur de hadrons où des variantes de réseaux de neurones profonds s'appuyant sur le gradient boosting appliquées aux jeux de données ont reproduit avec succès les résultats de méthodes d'analyse traditionnelles, non basées sur l'apprentissage automatique, et ont mené à la découverte du boson de Higgs[12]. Par ailleurs, des arbres de décision utilisant le gradient boosting ont été utilisés en géologie, notamment pour évaluer la qualité des réservoirs gréseux[13] ou pour estimer la profondeur des eaux[14].
Notes et références
- ↑ (en) Trevor Hastie, Robert Tibshirani et Jerome Friedman, « 10. Boosting and Additive Trees », dans The Elements of Statistical Learning - 2nd Edition, New York, Springer, , 764 p. (ISBN 978-0-387-84857-0, lire en ligne), p. 337-384
- (en) Jerome H. Friedman, « Stochastic Gradient Boosting » [PDF], (consulté le )
- ↑ (en) Candice Bentéjac, Anna Csörgő et Gonzalo Martínez-Muñoz, « A comparative analysis of gradient boosting algorithms », Artificial Intelligence Review, (lire en ligne)
- ↑ (en) Leo Breiman, « Arcing The Edge » [PDF], (consulté le )
- ↑ (en) Jerome H. Friedman, « Greedy function approximation: A gradient boosting machine. », The Annals of Statistics, vol. 29, no 5, , p. 1189–1232 (ISSN 0090-5364 et 2168-8966, DOI 10.1214/aos/1013203451, lire en ligne, consulté le )
- (en) Llew Mason, Jonathan Baxter, Peter Bartlett et Marcus Frean, « Boosting Algorithms as Gradient Descent » [PDF], (consulté le )
- ↑ (en) Llew Mason, Jonathan Baxter, Peter Bartlett et Marcus Frean, « Boosting Algorithms as Gradient Descent in Function Space » , (consulté le )
- ↑ (en) Cheng Li, « A Gentle Introduction to Gradient Boosting » [PDF] (consulté le )
- ↑ Alexander Grubb et J. Andrew Bagnell, Generalized Boosting Algorithms for Convex Optimization, (DOI 10.48550/arXiv.1105.2054, lire en ligne)
- ↑ (en) David Cossock et Tong Zhang, « Statistical Analysis of Bayes Optimal Subset Ranking » [PDF], (consulté le )
- ↑ (ru) « CatBoost — новый метод машинного обучения от Яндекса — Блог Яндекса », sur yandex.ru (consulté le )
- ↑ (en) Vidhi Lalchand, « Extracting more from boosted decision trees: A high energy physics case study » [PDF], (consulté le )
- ↑ (en) Longfei Ma, Hanmin Xiao, Jingwei Tao et Taiyi Zheng, « An intelligent approach for reservoir quality evaluation in tight sandstone reservoir using gradient boosting decision tree algorithm », Open Geosciences, vol. 14, no 1, , p. 629–645 (ISSN 2391-5447, DOI 10.1515/geo-2022-0354, lire en ligne, consulté le )
- ↑ (en) Yue Liu, Shulei Wu, Zhongqiang Wu et Shuangshuang Zhou, « Application of gradient boosting machine in satellite-derived bathymetry using Sentinel-2 data for accurate water depth estimation in coastal environments », Journal of Sea Research, vol. 201, , p. 102538 (ISSN 1385-1101, DOI 10.1016/j.seares.2024.102538, lire en ligne, consulté le )
Voir aussi
Bibliographie
- (en) Bradley Boehmke et Brandon Greenwell, « Gradient Boosting », dans Hands-On Machine Learning with R, Chapman & Hall, , 484 p. (ISBN 978-1-138-49568-5, lire en ligne), p. 221-245
Articles connexes
- Portail de l’informatique
- Portail des probabilités et de la statistique
- Portail de l’intelligence artificielle