Accueil les sujets Qu'est-ce que le bagging ? Qu'est-ce que le bagging ?
Découvrez comment le bootstrap aggregating, ou bagging, peut améliorer l'exactitude de vos modèles d'apprentissage automatique afin de développer des informations de meilleure qualité.
Illustration isométrique de Software for Z
Qu'est-ce que le bagging ?

Le bagging, ou bootsrap aggregation, est la méthode d'entraînement ensembliste couramment utilisée pour réduire la variance dans un fichier bruyant. Dans le bagging, un échantillon aléatoire de données dans un ensemble d'entraînement est sélectionné avec remplacement, ce qui signifie que les points de données individuels peuvent être choisis plusieurs fois. Après avoir généré plusieurs échantillons de données, ces modèles faibles sont ensuite entraînés indépendamment et, selon le type de tâche (régression ou classification, par exemple), la moyenne ou la majorité de ces prédictions produisent une estimation plus précise. 

Pour rappel, l'algorithme de forêt aléatoire est considéré comme une extension de la méthode bagging, car il utilise à la fois le bagging et le caractère aléatoire de la fonction pour créer une forêt non corrélée d'arbres de décision.

Entraînement ensembliste

L'entraînement ensembliste donne du crédit au concept de « sagesse des foules », qui suggère que la prise de décision d'un grand groupe de personnes est généralement meilleure que celle d'un spécialiste. De même, l'entraînement ensembliste fait référence à un groupe (ou ensemble) d'apprenants de base, ou modèles, qui travaillent collectivement pour obtenir une prédiction finale de meilleure qualité. Un modèle unique, également appelé base ou apprenant faible, peut ne pas être performant individuellement en raison d'une variance élevée ou d'un biais important. Cependant, lorsque les apprenants faibles sont agrégés, ils peuvent former un apprenant fort, car leur combinaison réduit le biais ou la variance, ce qui rend le modèle plus performant.

Les méthodes ensemblistes sont fréquemment illustrées à l'aide d'arbres de décision, car cet algorithme peut être sujet à un surajustement (variance élevée et faible biais) lorsqu'il n'a pas été élagué et il peut également se prêter à un ajustement insuffisant (variance faible et biais élevé) lorsqu'il est très petit, comme une souche de décision, qui est un arbre de décision à un seul niveau. Notez que lorsqu'un algorithme s'adapte trop ou pas assez à son ensemble d'entraînement, il ne peut pas bien permettre la généralisation aux nouveaux fichiers. Les méthodes ensemblistes sont donc utilisées pour contrecarrer ce comportement et permettre la généralisation du modèle aux nouveaux fichiers. Si les arbres de décision peuvent présenter une variance ou un biais élevé, il convient de noter que ce n'est pas la seule technique de modélisation qui exploite l'entraînement ensembliste pour trouver le « point idéal » dans le compromis biais-variance.

Bagging et boosting

Le bagging et le boosting sont les deux principaux types de méthode d'entraînement ensembliste. Comme le souligne cette étude (PDF, 248 Ko) (lien externe à ibm.com), la principale différence entre ces méthodes d'entraînement réside dans la manière dont elles sont entraînées. Dans le bagging, les apprenants faibles sont entraînés en parallèle, alors que dans le boosting, ils apprennent de manière séquentielle. Cela signifie qu'une série de modèles est construite et qu'à chaque nouvelle itération du modèle, les poids des données mal classifiées dans le modèle précédent sont augmentés. Cette redistribution des poids permet à l'algorithme d'identifier les paramètres sur lesquels il doit se concentrer pour améliorer ses performances. AdaBoost, contraction de « adaptative boosting algorithm » (algorithme de boosting adaptatif), est l'un des algorithmes de boosting les plus utilisés, car il a été l'un des premiers du genre. XGBoost, GradientBoost et BrownBoost sont d'autres types d'algorithme de boosting.

Une autre différence entre le bagging et le boosting réside dans les scénarios dans lesquels ils sont utilisés. Par exemple, les méthodes de bagging sont généralement utilisées sur des apprenants faibles qui présentent une variance élevée et un faible biais, tandis que les méthodes de boosting le sont lorsque la variance est faible et le biais élevé.

Fonctionnement du bagging

En 1996, Léo Breiman (PDF, 829 Ko) (lien externe à ibm.com) a introduit l'algorithme de bagging qui comporte trois étapes de base :

  1. Bootstrapping :  le bagging utilise une technique d'échantillonnage bootstrapping pour créer divers échantillons. Cette méthode de rééchantillonnage génère différents sous-ensembles du fichier d'entraînement en sélectionnant des points de données de manière aléatoire et avec remplacement. Ainsi, chaque fois que vous sélectionnez un point de données du fichier d'entraînement, vous pouvez sélectionner la même instance plusieurs fois. Il en résulte une valeur/instance répétée deux fois (ou plus) dans un échantillon.
  2. Entraînement parallèle : ces échantillons bootstrap sont ensuite entraînés de façon indépendante et parallèlement les uns aux autres à l'aide d'apprenants faibles ou de base.
  3. Agrégation : enfin, en fonction de la tâche (régression ou classification), une moyenne ou une majorité des prédictions est utilisée pour calculer une estimation plus précise. Dans le cas de la régression, une moyenne de toutes les sorties prédites par les classificateurs individuels est calculée, il s'agit du soft voting. Pour les problèmes de classification, la classe ayant la plus grande majorité de votes est acceptée, il s'agit du hard voting.
Avantages et défis du bagging

La méthode bagging présente un certain nombre d'avantages et de défis majeurs lorsqu'elle est utilisée pour des problèmes de classification ou de régression. Les principaux avantages du bagging sont les suivants :

  • Facilité de mise en œuvre : les bibliothèques Python comme scikit-learn (ou sklearn) facilitent la combinaison des prédictions des apprenants de base ou des estimateurs pour améliorer les performances du modèle. Leur documentation (lien externe à IBM) présente les modules disponibles que vous pouvez exploiter dans votre optimisation du modèle.
  • Réduction de la variance : le bagging permet de réduire la variance au sein d'un algorithme d'entraînement. Il est particulièrement utile avec des données de grande dimension, où des valeurs manquantes peuvent créer une plus grande variance en les rendant plus sujettes au surajustement et en empêchant la généralisation précise aux nouveaux fichiers.

Les principaux défis du bagging sont les suivants :

  • Perte d'interprétabilité : il est difficile de déduire des informations métier très précises du bagging en raison de la moyenne impliquée dans les prédictions. Alors que la sortie est plus précise que n'importe quel point de données individuel, un fichier plus précis ou complet peut également générer plus de précision au sein d'une classification unique ou d'un modèle de régression.
  • Coûteux en ressources informatiques : le bagging ralentit et devient plus intense à mesure que le nombre d'itérations augmente. Il n'est donc pas bien adapté aux applications en temps réel. Les systèmes en grappe ou un grand nombre de noyaux de traitement sont idéaux pour créer rapidement des ensembles ayant été soumis au bagging dans de grands jeux de tests.
  • Moins souples : en tant que technique, le bagging fonctionne particulièrement bien avec des algorithmes qui sont moins stables. Ceux qui sont plus stables ou sujets à de forts biais n'offrent pas autant d'avantages car il y a moins de variation dans le fichier du modèle. Comme indiqué dans le Hands-On Guide to Machine Learning (lien externe à IBM), « le bagging d'un modèle de régression linéaire ne renverra en fait que les prédictions d'origine pour une valeur b suffisamment grande. »
Applications du bagging

La technique du bagging est utilisée dans un grand nombre de secteurs d'activité. Elle fournit des informations sur la valeur réelle et des perspectives intéressantes comme dans GRAMMY Debates with Watson. Exemples de cas d'utilisation :

  • Soins de santé : le bagging est utilisé pour former des prédictions de données médicales. Par exemple, la recherche (PDF, 2,8 Mo) (lien externe à ibm.com) montre que des méthodes ensemblistes ont été utilisées pour une série de problèmes de bio-informatique, comme la sélection de gènes et de protéines pour identifier un caractère d'intérêt spécifique. Plus précisément, cette recherche (lien externe à ibm.com) en explore l'utilisation pour prédire l'apparition du diabète en fonction de divers prédicteurs de risque.
  • Informatique : le bagging peut également améliorer la précision et l'exactitude des systèmes informatiques, tels que celles des systèmes de détection d'intrusion dans un réseau. Dans le même temps, cette recherche (lien externe à ibm.com) examine comment le bagging peut améliorer l'exactitude de la détection d'intrusion sur un réseau et réduire les taux de faux positifs.
  • Environnement : des méthodes ensemblistes, comme le bagging, sont appliquées dans le domaine de la détection à distance. Plus précisement, cette recherche (lien externe à ibm.com) montre comment il est utilisé pour mapper les types de zones humides dans un environnement côtier.
  • Finance : le bagging est également utilisé avec des modèles d'apprentissage en profondeur dans la finance afin d'automatiser les tâches critiques, notamment la détection des fraudes, les évaluations de risque de crédit et les problèmes de tarification. Cette recherche (lien externe à ibm.com) montre comment le bagging, parmi d'autres techniques d'apprentissage automatique, est utilisé pour évaluer les risques de défaut de paiement des prêts. Cette étude (lien externe à ibm.com) souligne comment le bagging permet de réduire les risques en évitant la fraude à la carte de crédit au sein des institutions bancaires et financières.
Solutions connexes
IBM SPSS Modeler

IBM SPSS Modeler fournit des analyses prédictives permettant de reconnaître des modèles de données, d'obtenir des prévisions précises et d'améliorer la prise de décision.

Explorer IBM SPSS Modeler
Watson Studio

Créez et mettez à l'échelle une IA fiable quel que soit le cloud. Automatisez le cycle de vie de l'IA pour ModelOps.

Explorer Watson Studio
Bagging et boosting

Explorez la communauté IBM Data Science pour en savoir plus sur la science des données et l'apprentissage automatique.

Explorer la communauté IBM Data Science
Pour aller plus loin

Les solutions IBM prennent en charge le cycle de vie de l'apprentissage automatique de bout en bout. Découvrez comment les outils de modélisation des données IBM, comme IBM SPSS Modeler et Watson Studio, peuvent vous aider à développer différents modèles et à les affiner pour plus de précision, améliorant ainsi vos prédictions et toutes les analyses de données ultérieures. Inscrivez-vous pour obtenir un IBMid et rejoindre la communauté IBM Data Science pour en savoir plus sur la science des données et l'apprentissage automatique.

Rejoindre la communauté de la science des données d'IBM dès aujourd'hui