Snowflake Intelligence est ici

Les informations de votre entreprise sont désormais à portée de main de chaque collaborateur.

Qu’est-ce que le gradient boosting ?

Le gradient boosting est une technique de machine learning (ML) utilisée pour les tâches de régression et de classification. Il permet d’améliorer la précision des prédictions et la vitesse des modèles de ML. 

  • Présentation
  • À propos du gradient boosting
  • Autres modèles de boosting
  • Avantages des arbres de décision à gradient boosting
  • Le gradient boosting en action
  • Ressources

Présentation

Le gradient boosting est un algorithme de machine learning (ML) utilisé pour les tâches de régression et de classification. Il a gagné en popularité grâce à ses capacités de gestion des relations complexes entre les données et de protection contre le surapprentissage. Cette technique permet aux data scientists d’améliorer la précision des prédictions et la vitesse de leurs modèles de ML. Dans cet article, vous découvrirez le gradient boosting, ses avantages et trois cas d’usage courants.

À propos du gradient boosting

Le gradient boosting est une technique de ML ensembliste qui combine un ensemble de modèles faibles en un seul modèle prédictif plus précis et plus efficace. Ces modèles faibles sont généralement des arbres de décision, c’est pourquoi les algorithmes sont communément appelés arbres de décision à gradient boosting (GBDT). Les algorithmes de gradient boosting fonctionnent de manière itérative par l’ajout séquentiel de nouveaux modèles. Chaque nouvel ajout vise à résoudre les erreurs commises par les précédents modèles. La prédiction finale de l’agrégat représente la somme des prédictions individuelles de tous les modèles. Comme son nom l’indique, le gradient boosting combine l’algorithme de descente de gradient et la méthode de boosting.

Ce processus d’entraînement s’appuie sur une approche fondée sur la force du nombre, qui permet aux data scientists d’optimiser des fonctions de perte différentiables arbitraires. Le gradient boosting aide à résoudre des problèmes complexes de régression et de classification. En régression, le résultat final représente la moyenne de tous les apprenants faibles. Dans le cas de problèmes de classification, le résultat final du modèle peut être calculé comme la classe qui obtient la majorité des votes des modèles d’apprenants faibles.

Boosting et bagging

Le boosting et le bagging sont les deux principaux types d’apprentissage ensembliste. Les méthodes d’apprentissage ensembliste se distinguent par leur approche collective, qui consiste à agréger un groupe d’apprenants de base afin de générer des prédictions plus précises que celles que chacun des composants pourrait fournir individuellement. Avec les méthodes de boosting, les modèles d’apprenants faibles sont entraînés successivement. Chaque modèle individuel apporte sa contribution à l’ensemble collectif avant l’ajout du suivant. Les techniques de bagging entraînent les apprenants de base en tandem.

Cas d’usage

Le gradient boosting offre un bon équilibre entre précision, efficacité et évolutivité, ce qui permet de l’appliquer à de nombreux domaines : 

  • Classification : prévision de catégories ou de classes (ex., détection des spams, détection des fraudes)
  • Régression : prévision de valeurs numériques (ex., cours de la bourse, ventes). 
  • Classement : classement d’éléments en fonction de leur pertinence ou de leur importance (ex., résultats de recherche, recommandations).

 

Autres modèles de boosting

D’autres techniques de boosting, comme AdaBoost et XGBoost, sont également des méthodes d’apprentissage ensembliste populaires. Voici comment elles fonctionnent.

XGBoost

XGBoost est une version turbo de gradient boosting conçue pour une vitesse de calcul et une évolutivité optimales. XGBoost utilise plusieurs cœurs du CPU pour permettre l’apprentissage parallèle pendant l’entraînement du modèle.

AdaBoost

AdaBoost, ou boosting adaptatif, adapte une succession d’apprenants faibles aux données. Ces apprenants faibles sont généralement des souches de décision, un type d’arbre de décision avec une seule scission et deux nœuds terminaux. Cette technique fonctionne de manière récursive : elle identifie les points de données mal classés et les ajuste automatiquement afin de réduire les erreurs d’entraînement. AdaBoost répète ce processus jusqu’à générer le prédicteur le plus performant.

Avantages des arbres de décision à gradient boosting

Les GBDT font partie des mises en œuvre les plus populaires du gradient boosting. Utilisée dans la majorité des cas d’usage du gradient boosting, cette approche présente des avantages spécifiques par rapport à d’autres techniques de modélisation.

Mise en œuvre simple

Les arbres de décision à gradient boosting sont relativement simples à mettre en œuvre. Beaucoup d’entre eux prennent en charge le traitement des features catégorielles, ne nécessitent pas de prétraitement des données et simplifient le processus de traitement des données manquantes.

Réduction des biais

En ML, le biais est une erreur systématique qui peut amener des modèles à faire des prédictions inexactes ou injustes. Les algorithmes de boosting, y compris le gradient boosting, intègrent séquentiellement plusieurs apprenants faibles dans un modèle prédictif plus large. Cette technique peut s’avérer très efficace pour réduire les biais, car elle apporte des améliorations itératives à chaque ajout d’un nouvel apprenant faible. 

Amélioration de la précision

Le boosting favorise l’apprentissage séquentiel des arbres de décision, via l’intégration de nouveaux arbres pour compenser les erreurs de ceux déjà intégrés dans le modèle plus large. Cette synthèse produit des prédictions plus précises que ne le pourrait un seul modèle d’apprenants faibles. En outre, les arbres de décision peuvent traiter à la fois des types de données numériques et catégorielles, ce qui en fait une option viable pour résoudre de nombreux problèmes. 

Entraînement plus rapide sur de grands jeux de données

Les méthodes de boosting donnent la priorité aux features qui augmentent la précision des prédictions du modèle pendant l’entraînement. Cette sélectivité réduit le nombre d’attributs de données, ce qui génère des modèles performants en termes de calcul et capables de traiter facilement de grands jeux de données. Il est également possible de paralléliser des algorithmes de boosting afin d’accélérer davantage l’entraînement des modèles.

Le gradient boosting en action

Des modèles de gradient boosting sont utilisés dans un large éventail de tâches de modélisation prédictive et de ML. Ces algorithmes sont particulièrement efficaces pour résoudre des problèmes complexes et jouent un rôle important dans de nombreuses applications concrètes.

Modélisation prédictive dans les services financiers

Les services financiers utilisent souvent des modèles de gradient boosting. Ils jouent un rôle important pour soutenir les investissements et réaliser des prévisions. Citons par exemple l’optimisation de portefeuille et la prévision des cours boursiers, des risques de crédit et d’autres résultats financiers sur la base de données historiques et d’indicateurs financiers. 

Analyse des données de santé

Les professionnels de santé utilisent des algorithmes de gradient boosting pour les aider à prendre des décisions cliniques, notamment dans le cadre du diagnostic des maladies. Le gradient boosting améliore également la précision des prévisions, ce qui permet aux professionnels de santé de stratifier les risques et de cibler, par exemple, les populations de patients susceptibles de bénéficier d’une intervention spécifique.

Analyse des opinions

Le gradient boosting est utile dans de nombreuses tâches de traitement du langage naturel, y compris l’analyse des opinions. Ces algorithmes peuvent traiter et analyser rapidement d’importants volumes de données textuelles provenant des réseaux sociaux, d’avis en ligne, de blogs, d’enquêtes et d’e-mails clients, ce qui aide les marques à mieux cerner les opinions de leurs clients.

Créez des modèles de ML performants avec Snowflake

Snowflake pour l’IA offre un socle performant pour créer et déployer des modèles de machine learning avec une prise en charge du gradient boosting et bien plus encore. Avec Snowflake ML, vous pouvez créer rapidement des features, entraîner des modèles et les gérer en production.