Après le Bagging et l’algorithme Random Forest j’avais envie de creuser un peu plus le boosting avec le cas particulier de l’algorithme Gradient Boosting Machine (GBM).
Il s’agit là encore d’une méthode d’agrégation de modèles et je vous propose de découvrir le principe de fonctionnement de cet algorithme.
Le principe du Boosting
L’algorithme GBM est un cas particulier du Boosting mais le Boosting comment ça marche?
L’idée de base ressemble à celle du bagging. Plutôt que d’utiliser un seul modèle, nous en utilisons plusieurs que nous agrégeons ensuite pour obtenir un seul résultat. Dans la construction des modèles, le Boosting travaille de manière séquentielle. Il commence par construire un premier modèle qu’il va évaluer. A partir de cette mesure, chaque individu va être pondéré en fonction de la performance de la prédiction. L’objectif est de donner un poids plus important aux individus pour lesquels la valeur a été mal prédite pour la construction du modèle suivant. Le fait de corriger les poids au fur et à mesure permet de mieux prédire les valeurs difficiles.
Le gradient boosting
Cet algorithme utilise le gradient de la fonction de perte pour le calcul des poids des individus lors de la construction de chaque nouveau modèle. Cela ressemble un peu à la descente de gradient pour les réseaux de neurones pour ceux qui connaissent (d’ailleurs pour en savoir plus sur les réseaux de neurones c’est ici)
GBM utilise généralement des arbres CART et on peut personnaliser l’algorithme en utilisant différents paramètres, différentes fonctions.
Eviter le sur-apprentissage
Il existe plusieurs méthodes pour éviter d’aller trop loin dans l’apprentissage :
- Limiter la taille des arbres
- Construire les modèles sur des échantillons de la population (on parle de stochastic gradient boosting)
Effet boîte noire
Encore une méthode qui ne peut pas être explicité sous forme de règles de calcul, mais est-ce vraiment un problème? Je ne pense pas, il faut simplement l’avoir en tête lorsqu’on choisit ce modèle (comme les Random Forest ou les réseaux de neurones).
Bonjour
dans le paragraphe ‘Le gradient boosting » le lien vers les réseaux de neurones semble mort.
Merci, j’avais effectivement modifié le titre de l’article sur les réseaux de neurones et le lien ne fonctionnait donc plus. Je l’ai remis à jour.
j’ai une présentationa faire pour le Gradient Boosting et je ne sais pas comment m’y prendre, pourriez- vous m’aider?
Bonjour Samia, je vous ai répondu en MP
Cordialement
Marie-Jeanne
Ping : Interprétez vos modèles avec LIME – Lovely Analytics
Ping : Détection de fraude en temps réel avec Python et LightGBM - Pensée Artificielle
Ping : Comment mesurer la performance d’un modèle ? – Lovely Analytics