logo

GBM dans l'apprentissage automatique

L'apprentissage automatique est l'une des technologies les plus populaires pour créer des modèles prédictifs pour diverses tâches complexes de régression et de classification. Machine d'amplification de dégradé (GBM) est considéré comme l’un des algorithmes de boosting les plus puissants.

GBM dans l'apprentissage automatique

Bien qu’il existe de nombreux algorithmes utilisés dans l’apprentissage automatique, l’amélioration des algorithmes est devenue courante dans la communauté de l’apprentissage automatique à travers le monde. La technique de boosting suit le concept d'apprentissage d'ensemble et combine donc plusieurs modèles simples (apprenants faibles ou estimateurs de base) pour générer le résultat final. Le GBM est également utilisé comme méthode d’ensemble dans l’apprentissage automatique qui convertit les apprenants faibles en apprenants forts. Dans ce sujet, « GBM dans l'apprentissage automatique » nous discuterons des algorithmes d'apprentissage automatique à gradient, de divers algorithmes de boosting dans l'apprentissage automatique, de l'histoire du GBM, de son fonctionnement, des diverses terminologies utilisées dans le GBM, etc. Mais avant de commencer, comprenez d'abord le concept de boosting et les différents algorithmes de boosting dans l'apprentissage automatique.

Qu’est-ce que le boosting dans l’apprentissage automatique ?

Le boosting est l’une des techniques de modélisation d’ensemble d’apprentissage les plus utilisées pour créer des classificateurs forts à partir de divers classificateurs faibles. Cela commence par la construction d'un modèle principal à partir des ensembles de données de formation disponibles, puis il identifie les erreurs présentes dans le modèle de base. Après avoir identifié l’erreur, un modèle secondaire est construit, puis un troisième modèle est introduit dans ce processus. De cette manière, ce processus d'introduction de modèles supplémentaires se poursuit jusqu'à ce que nous obtenions un ensemble complet de données d'entraînement grâce auquel le modèle prédit correctement.

AdaBoost (Adaptive boosting) a été le premier algorithme de boosting à combiner divers classificateurs faibles en un seul classificateur fort dans l'histoire de l'apprentissage automatique. Il se concentre principalement sur la résolution de tâches de classification telles que la classification binaire.

Étapes pour booster les algorithmes :

Il y a quelques étapes importantes pour booster l’algorithme comme suit :

  • Considérez un ensemble de données comportant différents points de données et initialisez-le.
  • Maintenant, accordez un poids égal à chacun des points de données.
  • Supposons que ce poids soit une entrée pour le modèle.
  • Identifiez les points de données qui sont mal classés.
  • Augmentez le poids des points de données à l’étape 4.
  • Si vous obtenez un résultat approprié, terminez ce processus, sinon suivez à nouveau les étapes 2 et 3.

Exemple:

Supposons que nous ayons trois modèles différents avec leurs prédictions et qu'ils fonctionnent de manière complètement différente. Par exemple, le modèle de régression linéaire montre une relation linéaire dans les données tandis que le modèle d'arbre de décision tente de capturer la non-linéarité des données, comme indiqué dans l'image ci-dessous.

GBM dans l'apprentissage automatique

De plus, au lieu d'utiliser ces modèles séparément pour prédire le résultat si nous les utilisons sous forme de série ou de combinaison, nous obtenons alors un modèle résultant avec des informations correctes par rapport à tous les modèles de base. En d’autres termes, au lieu d’utiliser la prédiction individuelle de chaque modèle, si nous utilisons la prédiction moyenne de ces modèles, nous serions alors en mesure de capturer davantage d’informations à partir des données. On parle d’apprentissage d’ensemble et le boosting est également basé sur des méthodes d’ensemble dans l’apprentissage automatique.

Booster les algorithmes dans l’apprentissage automatique

Il existe principalement 4 algorithmes de boosting dans l’apprentissage automatique. Ceux-ci sont les suivants :

    Machine d'amplification de dégradé (GBM) Machine d'amplification de dégradé extrême (XGBM) GBM léger ChatBoost

Qu’est-ce que le GBM dans l’apprentissage automatique ?

Gradient Boosting Machine (GBM) est l’une des méthodes d’ensemble d’apprentissage avancé les plus populaires en apprentissage automatique. Il s'agit d'une technique puissante pour créer des modèles prédictifs pour les tâches de régression et de classification.

GBM nous aide à obtenir un modèle prédictif sous la forme d'un ensemble de modèles de prédiction faibles tels que des arbres de décision. Chaque fois qu'un arbre de décision fonctionne comme un apprenant faible, l'algorithme résultant est appelé arbres boostés par gradient.

Cela nous permet de combiner les prédictions de différents modèles d'apprenant et de construire un modèle prédictif final ayant la prédiction correcte.

Mais ici, une question peut se poser si nous appliquons le même algorithme : comment plusieurs arbres de décision peuvent-ils donner de meilleures prédictions qu’un seul arbre de décision ? De plus, comment chaque arbre de décision capture-t-il différentes informations à partir des mêmes données ?

GBM dans l'apprentissage automatique

Ainsi, la réponse à ces questions est qu’un sous-ensemble différent de fonctionnalités est utilisé par les nœuds de chaque arbre de décision pour sélectionner la meilleure répartition. Cela signifie que chaque arbre se comporte différemment et capture donc différents signaux à partir des mêmes données.

Comment fonctionne le GBM ?

Généralement, la plupart des algorithmes d'apprentissage supervisé sont basés sur un modèle prédictif unique tel que la régression linéaire, le modèle de régression pénalisée, les arbres de décision, etc. Mais il existe certains algorithmes supervisés en ML qui dépendent d'une combinaison de différents modèles ensemble à travers l'ensemble. En d’autres termes, lorsque plusieurs modèles de base apportent leurs prédictions, une moyenne de toutes les prédictions est adaptée en boostant les algorithmes.

Les machines à booster de dégradé se composent de 3 éléments comme suit :

  • Fonction de perte
  • Apprenants faibles
  • Modèle additif

Comprenons ces trois éléments en détail.

1. Fonction de perte :

Cependant, il existe une grande famille de fonctions de perte dans l'apprentissage automatique qui peuvent être utilisées en fonction du type de tâches à résoudre. L'utilisation de la fonction de perte est estimée par la demande de caractéristiques spécifiques de la distribution conditionnelle telles que la robustesse. Lors de l'utilisation d'une fonction de perte dans notre tâche, nous devons spécifier la fonction de perte et la fonction pour calculer le gradient négatif correspondant. Une fois que nous avons obtenu ces deux fonctions, elles peuvent être facilement implémentées dans des machines d’augmentation de gradient. Cependant, plusieurs fonctions de perte ont déjà été proposées pour les algorithmes GBM.

Classification de la fonction de perte :

En fonction du type de variable de réponse y, la fonction de perte peut être classée en différents types comme suit :

    Réponse continue, y ∈ R :
    • Fonction de perte gaussienne L2
    • Fonction de perte de Laplace L1
    • Fonction de perte de Huber, δ spécifié
    • Fonction de perte quantile, α spécifié
    Réponse catégorique, y ∈ {0, 1} :
    • Fonction de perte binomiale
    • Fonction de perte Adaboost
    Autres familles de variables de réponse :
    • Fonctions de perte pour les modèles de survie
    • Les fonctions de perte comptent les données
    • Fonctions de perte personnalisées

2. Apprenti faible :

Les apprenants faibles sont les modèles d'apprenant de base qui apprennent des erreurs passées et aident à créer une conception de modèle prédictif solide pour renforcer les algorithmes d'apprentissage automatique. Généralement, les arbres de décision fonctionnent comme des apprenants faibles pour booster les algorithmes.

Le boosting est défini comme le cadre qui travaille continuellement à améliorer les résultats des modèles de base. De nombreuses applications d'amélioration du gradient vous permettent de « brancher » diverses classes d'apprenants faibles à votre disposition. Par conséquent, les arbres de décision sont le plus souvent utilisés pour les apprenants faibles (de base).

Comment former les apprenants faibles :

L'apprentissage automatique utilise des ensembles de données de formation pour former les apprenants de base et, sur la base des prédictions de l'apprenant précédent, il améliore les performances en se concentrant sur les lignes des données de formation où l'arborescence précédente présentait les erreurs ou les résidus les plus importants. Par exemple. les arbres peu profonds sont considérés comme des arbres de décision faibles car ils contiennent quelques divisions. Généralement, dans les algorithmes de boosting, les arbres comportant jusqu'à 6 divisions sont les plus courants.

Vous trouverez ci-dessous une séquence de formation de l'apprenant faible pour améliorer ses performances, où chaque arbre est dans la séquence avec les résidus de l'arbre précédent. De plus, nous introduisons chaque nouvel arbre afin qu'il puisse apprendre des erreurs de l'arbre précédent. Ceux-ci sont les suivants :

  1. Considérez un ensemble de données et insérez-y un arbre de décision.
    F1(x)=y
  2. Ajustez l’arbre de décision suivant avec les plus grandes erreurs de l’arbre précédent.
    h1(x)=y?F1(x)
  3. Ajoutez ce nouvel arbre à l'algorithme en ajoutant les deux étapes 1 et 2.
    F2(x)=F1(x)+h1(x)
  4. Ajustez à nouveau l'arbre de décision suivant avec les résidus de l'arbre précédent.
    h2(x)=y?F2(x)
  5. Répétez la même chose que nous avons faite à l’étape 3.
    F3(x)=F2(x)+h2(x)

Continuez ce processus jusqu'à ce qu'un mécanisme (c'est-à-dire une validation croisée) nous dise d'arrêter. Le modèle final ici est un modèle additif par étapes de b arbres individuels :

f(x)=B∑b=1fb(x)

Par conséquent, les arbres sont construits avec avidité, en choisissant les meilleurs points de partage en fonction de scores de pureté comme Gini ou en minimisant la perte.

3. Modèle additif :

Le modèle additif est défini comme l'ajout d'arbres au modèle. Bien que nous ne devions pas ajouter plusieurs arbres à la fois, un seul arbre doit être ajouté afin que les arbres existants dans le modèle ne soient pas modifiés. De plus, nous pouvons également préférer la méthode de descente de gradient en ajoutant des arbres pour réduire la perte.

Au cours des dernières années, la méthode de descente de gradient a été utilisée pour minimiser un ensemble de paramètres tels que le coefficient de l'équation de régression et le poids dans un réseau neuronal. Après avoir calculé l'erreur ou la perte, le paramètre de poids est utilisé pour minimiser l'erreur. Mais récemment, la plupart des experts en ML préfèrent les sous-modèles d'apprenants faibles ou les arbres de décision comme substitut à ces paramètres. Dans lequel, nous devons ajouter un arbre dans le modèle pour réduire l'erreur et améliorer les performances de ce modèle. De cette manière, la prédiction de l’arbre nouvellement ajouté est combinée avec la prédiction de la série d’arbres existante pour obtenir une prédiction finale. Ce processus se poursuit jusqu'à ce que la perte atteigne un niveau acceptable ou qu'une amélioration ne soit plus nécessaire.

Cette méthode est également connue sous le nom de descente de gradient fonctionnelle ou descente de gradient avec fonctions.

MACHINE DE BOOSTAGE DE GRADIENT EXTRÊME (XGBM)

XGBM est la dernière version des machines d'augmentation de gradient qui fonctionne également de manière très similaire à GBM. Dans XGBM, les arbres sont ajoutés séquentiellement (un à la fois) pour apprendre des erreurs des arbres précédents et les améliorer. Bien que les algorithmes XGBM et GBM soient similaires en apparence, il existe néanmoins quelques différences entre eux, comme suit :

  • XGBM utilise diverses techniques de régularisation pour réduire le sous-ajustement ou le sur-ajustement du modèle, ce qui augmente également les performances du modèle davantage que les machines d'augmentation de gradient.
  • XGBM suit le traitement parallèle de chaque nœud, contrairement à GBM, ce qui le rend plus rapide que les machines d'amplification de gradient.
  • XGBM nous aide à nous débarrasser de l'imputation des valeurs manquantes car par défaut le modèle s'en charge. Il apprend tout seul si ces valeurs doivent se trouver dans le nœud droit ou gauche.

Machines d'amplification de gradient de lumière (Light GBM)

Light GBM est une version plus améliorée de la machine de boosting Gradient en raison de son efficacité et de sa vitesse rapide. Contrairement à GBM et XGBM, il peut gérer une énorme quantité de données sans aucune complexité. En revanche, il ne convient pas aux points de données qui sont moins nombreux.

Au lieu d’une croissance par niveau, Light GBM préfère une croissance par feuille des nœuds de l’arbre. De plus, dans le GBM léger, le nœud principal est divisé en deux nœuds secondaires et choisit plus tard un nœud secondaire à diviser. Cette division d'un nœud secondaire dépend de celui entre deux nœuds qui présente la perte la plus élevée.

GBM dans l'apprentissage automatique

Par conséquent, en raison de la division par feuille, l’algorithme LGBM (Light Gradient Boosting Machine) est toujours préféré aux autres où une grande quantité de données est fournie.

carte java

CATBOOST

L'algorithme catboost est principalement utilisé pour gérer les caractéristiques catégorielles d'un ensemble de données. Bien que les algorithmes GBM, XGBM et Light GBM conviennent aux ensembles de données numériques, Catboost est conçu pour gérer des variables catégorielles dans des données numériques. Par conséquent, l’algorithme catboost consiste en une étape de prétraitement essentielle pour convertir les caractéristiques catégorielles en variables numériques qui ne sont présentes dans aucun autre algorithme.

Avantages des algorithmes de boosting :

  • Les algorithmes de boosting suivent l'apprentissage d'ensemble qui permet à un modèle de donner une prédiction plus précise qui ne peut être surpassée.
  • Les algorithmes de boosting sont beaucoup plus flexibles que les autres algorithmes car ils peuvent optimiser différentes fonctions de perte et offrent plusieurs options de réglage des hyperparamètres.
  • Il ne nécessite pas de prétraitement des données car il convient aussi bien aux variables numériques qu'aux variables catégorielles.
  • Il ne nécessite pas d'imputation des valeurs manquantes dans l'ensemble de données, il gère automatiquement les données manquantes.

Inconvénients des algorithmes de boosting :

Vous trouverez ci-dessous quelques inconvénients des algorithmes de boosting :

  • Les algorithmes de boosting peuvent provoquer un surajustement et une suraccentuation des valeurs aberrantes.
  • L'algorithme d'augmentation du gradient se concentre en permanence pour minimiser les erreurs et nécessite plusieurs arbres, ce qui le rend coûteux en calcul.
  • Il s’agit d’un algorithme long et gourmand en mémoire.
  • De nature moins interprétative, bien que cela soit facilement résolu avec divers outils.

Conclusion:

De cette manière, nous avons appris à booster des algorithmes pour la modélisation prédictive dans l’apprentissage automatique. Nous avons également discuté de divers algorithmes de boosting importants utilisés dans le ML, tels que GBM, XGBM, light GBM et Catboost. De plus, nous avons vu divers composants (fonction de perte, apprenant faible et modèle additif) et comment GBM fonctionne avec eux. Dans quelle mesure les algorithmes de boosting sont-ils avantageux pour le déploiement dans des scénarios du monde réel, etc.