XGBoost (eXtreme Gradient Boosting) est une bibliothèque logicielle open source permettant de mettre en œuvre des méthodes d’amplification de gradient (Gradient boosting), de régularisation en C++, Java, R, Python et Julia[2]. XGBoost fonctionne aussi bien sur Linux que sur Microsoft Windows ou MacOS[3].

XGBoost
Description de l'image XGBoost logo.svg.

Informations
Dernière version 3.0.0 (15 mars 2025)[1]Voir et modifier les données sur Wikidata
Dépôt github.com/dmlc/xgboostVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en R, Python, Julia, C++, Java, Ruby, C et SwiftVoir et modifier les données sur Wikidata
Système d'exploitation LinuxVoir et modifier les données sur Wikidata
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Licence Licence Apache 2.0Voir et modifier les données sur Wikidata
Site web xgboost.aiVoir et modifier les données sur Wikidata

D'après sa description, le projet vise à offrir une bibliothèque de gradient boosting "conçue pour être évolutive, portable et distribuée. (GBM, GBRT, GBDT)"[2].

Au milieu des années 2010, XGBoost s’est imposé comme l’algorithme privilégié par de nombreux lauréats de concours de machine learning[4].

Fonctionnement de l'algorithme

modifier

XGBoost applique la méthode de Newton-Raphson dans l’espace des fonctions, contrairement au gradient boosting classique qui utilise la descente de gradient dans ce même espace. Une approximation de Taylor d’ordre deux est intégrée à la fonction de coût pour établir le lien avec la méthode de Newton-Raphson[5].

Entrée :

  avec une fonction de perte différentiable  , un nombre d’apprenants faibles (weak learners)   et un taux d’apprentissage  [5].


Algorithme :

  1. Initialisation du modèle avec une constante :

 

Cette étape consiste à choisir la valeur constante ( ) qui minimise la perte globale sur l’entrée. Par exemple, pour une perte quadratique  ,   est la moyenne des  [6].

Pour   à   :

a. Calcul des gradients et hessiens :

 

 

Le gradient  indique la direction de correction. L'hessien   mesure la courbure de la perte, ce qui permet d’ajuster plus finement la mise à jour (méthode de Newton-Raphson)[7].

b. Ajustement d’un apprenant faible : On ajuste un modèle de base (par exemple, un arbre) pour prédire la cible suivante pour chaque  [6]:

 

On cherche la fonction   qui minimise :

 

  est l’ensemble des fonctions possibles (par exemple, tous les arbres de décision d’une certaine profondeur)[5].

c. Mise à jour du modèle :

 

  est le taux d’apprentissage[5].

Sortie finale :

 

La prédiction finale est la somme de la constante initiale et des corrections successives apportées par chaque apprenant faibles[6].

Notes et références

modifier
  1. « Release 3.0.0 stable », 15 mars 2025 (consulté le 4 mai 2025)
  2. a et b « XGBoost Documentation — xgboost 2.0.3 documentation », sur xgboost.readthedocs.io (consulté le 10 juillet 2025)
  3. « Installation Guide — xgboost 3.0.2 documentation », sur xgboost.readthedocs.io (consulté le 10 juillet 2025)
  4. (en) « xgboost/demo at master · dmlc/xgboost », sur GitHub (consulté le 10 juillet 2025)
  5. a b c et d (en) Tianqi Chen et Carlos Guestrin, « XGBoost: A Scalable Tree Boosting System », CrossRef, ACM,‎ 13 août 2016, p. 785–794 (ISBN 978-1-4503-4232-2, DOI 10.1145/2939672.2939785, lire en ligne, consulté le 10 juillet 2025)
  6. a b et c (en) Hastie, T., Tibshirani, R., & Friedman, J., The Elements of Statistical Learning., Springer, 2009, 764 p. (lire en ligne), Section 10.13.
  7. Jerome H. Friedman, « Greedy function approximation: A gradient boosting machine. », The Annals of Statistics, vol. 29, no 5,‎ 1er octobre 2001 (ISSN 0090-5364, DOI 10.1214/aos/1013203451, lire en ligne, consulté le 10 juillet 2025)

📚 Artikel Terkait di Wikipedia

Asymétrie (statistiques)

_{i=1}^{n}(x_{i}-{\hat {\bar {x}}})^{3}}{({\hat {\sigma ^{2}}})^{3/2}}}} où x ¯ ^ {\displaystyle {\hat {\bar {x}}}} et σ 2 ^ {\displaystyle {\hat {\sigma ^{2}}}}

Théorème d'échantillonnage

\operatorname {\hat {s}} (\omega )} d'une fonction s ( x ) {\displaystyle s(x)} s ^ ⁡ ( ω ) = ∫ − ∞ ∞ s ( x ) e − i ω x d x {\displaystyle \operatorname {\hat {s}}

Fonction d'état de configuration

une fonction d'état de configuration (en anglais : configuration state function, CSF), est une combinaison linéaire de déterminants de Slater symétriquement

MATLAB

pour les objets symboliques, par exemple : >> x = 17 x = 17 >> x = 'hat' x = hat Comme son nom l’indique, l’intérêt de MATLAB est de pouvoir manipuler

Régression logistique

elle s’écrit W = b ^ 2 V ^ ( b ^ ) {\displaystyle W={\frac {{\hat {b}}^{2}}{{\hat {V}}({\hat {b}})}}} , elle suit une loi du χ 2 {\displaystyle \chi ^{2}}

Lissage exponentiel

\{s_{t}\}}  ; celui-ci peut être vu comme une estimation y ^ t {\displaystyle {\hat {y}}_{t}} de y t {\displaystyle y_{t}} , débarrassé des aléas (en traitement

Régularisation zêta

(lire en ligne). (en) André Voros, « Spectral functions, special functions and the Selberg zeta function », Communications in Mathematical Physics, vol

Espace de Sobolev

{\displaystyle \left(u,v\right)_{m}:=\int _{\mathbb {R} ^{n}}{\hat {u}}\left(\xi \right){\overline {{\hat {v}}(\xi )}}\left(1+|\xi |^{2}\right)^{m}\mathrm {d} \xi