Création de modèles d'IA robustes avec bagging : techniques, avantages et applications
Publié: 2025-01-09Le bagging est une technique d'apprentissage automatique (ML) d'ensemble qui améliore la cohérence des modèles prédictifs. Ce guide décrit le fonctionnement de l'ensachage, discute de ses avantages, de ses défis et de ses applications, et le compare à des techniques connexes telles que le boosting.
Table des matières
- Qu’est-ce que l’ensachage ?
- Variance vs biais
- Ensachage ou boosting
- Comment fonctionne l'ensachage
- Types d'algorithmes d'ensachage
- Applications de l'ensachage
- Avantages de l'ensachage
- Défis et limites de l’ensachage
Qu’est-ce que l’ensachage ?
Le bagging (ou, plus formellement, l'agrégation debootstrap) est une technique d'apprentissage d'ensemble qui améliore la précision de la sortie en utilisant plusieurs modèles ML similaires. À la base, l’apprentissage d’ensemble combine plusieurs modèles pour obtenir de meilleures performances que n’importe quel modèle individuel.
L'approche consiste à diviser les données de formation en sous-ensembles aléatoires et à former un modèle différent sur chacun. Pour les nouvelles entrées, les prédictions de tous les modèles sont regroupées pour produire un résultat final. En utilisant des sous-ensembles randomisés, la technique réduit les écarts entre les modèles, ce qui permet d'obtenir des prédictions plus cohérentes.
L'ensachage est particulièrement efficace pour améliorer la cohérence en minimisant la variance du système ML.
Variance vs biais
La réduction des biais et de la variance est un objectif fondamental de tout modèle ou système de ML.
Le biais décrit les erreurs commises par un système ML en raison de ses hypothèses sur les données qu'il voit. Il est généralement déterminé en calculant à quel point le modèle est erroné en moyenne. La variance mesure la cohérence du modèle. Elle est estimée en vérifiant à quel point les sorties du modèle sont différentes pour des entrées similaires.
Biais élevé
À titre d'exemple, considérons le problème de la prédiction du prix de vente d'une maison à partir de ses caractéristiques (telles que la superficie en pieds carrés et le nombre de chambres). Un modèle simple peut faire de nombreuses hypothèses simplificatrices et ne prendre en compte que la superficie en pieds carrés, ce qui lui confère un biais élevé. Il se trompera systématiquement, même sur les données d'entraînement, car la réalité est plus compliquée que ses hypothèses. Il est donc tout simplement incapable de déterminer les véritables indicateurs de prix (tels que l'emplacement, la qualité de l'école et le nombre de chambres).
Écart élevé
Un modèle plus complexe peut détecterchaquetendance des données d'entraînement et présenter une variance élevée. Par exemple, ce modèle peut trouver une petite corrélation entre le numéro de maison (essentiellement la partie numérique d'une adresse postale) et le prix dans les données de formation et l'utiliser, même s'il ne s'agit pas d'un véritable prédicteur. Il fonctionnera bien sur les données d'entraînement mais mal sur les données du monde réel.
Le compromis variance-biais
Un modèle idéal aurait un faible biais et une faible variance, générant ainsi les bons résultats de manière cohérente pour des entrées similaires. Un biais élevé résulte généralement du fait que le modèle est trop simple pour capturer les modèles dans les données de formation : sous-ajustement. Une variance élevée résulte généralement du fait que le modèle capture des modèles parasites dans les données d'entraînement : le surajustement.
Augmenter la sophistication d'un modèle peut lui permettre de capturer davantage de modèles, ce qui conduit à un biais plus faible. Cependant, ce modèle plus sophistiqué aura tendance à surajuster les données d’entraînement, ce qui entraînera une variance plus élevée, et vice versa. En pratique, il est difficile d’obtenir un compromis biais-variance bien équilibré.
L'ensachage se concentre sur la réduction de la variance. Chaque modèle de l'ensemble peut présenter une variance élevée car il surajuste son ensemble de données. Mais comme chaque modèle reçoit un ensemble de données aléatoires, ils découvriront différents modèles parasites. Dans l’exemple du prix de l’immobilier, un modèle peut surévaluer les maisons portant des numéros pairs, un autre peut les sous-évaluer et la plupart peuvent ignorer complètement les numéros de maison.
Ces modèles arbitraires ont tendance à faire la moyenne lorsque nous faisons la moyenne de leurs prédictions, nous laissant avec les véritables relations sous-jacentes. L'ensemble atteint ainsi une variance plus faible et un surajustement réduit par rapport à n'importe quel modèle individuel.
Ensachage ou boosting
Vous entendrez peut-être parler du bagging dans le même contexte que du boosting. Il s'agit des techniques d'apprentissage d'ensemble les plus courantes et qui sous-tendent de nombreux modèles de ML populaires. Le boosting est une technique où les modèles sont formés sur les erreurs des modèles précédents. Ensuite, ce groupe de modèles est utilisé pour répondre à toutes les entrées. Discutons plus en détail des différences entre les deux techniques.
Ensachage | Booster | |
Formation sur modèle | Les modèles sont entraînés en parallèle sur différents sous-ensembles de données | Les modèles sont entraînés séquentiellement, chaque modèle se concentrant sur les erreurs du modèle précédent |
Objectif de réduction des erreurs | Réduit la variance | Réduit les biais |
Algorithmes courants | Forêt aléatoire, arbres de décision en sac | AdaBoost, augmentation de dégradé, XGBoost |
Risque de surapprentissage | Risque moindre de surapprentissage grâce à l'échantillonnage aléatoire | Risque plus élevé de surapprentissage |
Complexité informatique | Inférieur | Plus haut |
Les deux techniques sont courantes, bien que le boosting soit plus populaire. Le boosting peut réduire à la fois le biaisetla variance, tandis que l'ensachage n'affecte généralement que la variance.
Comment fonctionne l'ensachage
Voyons comment fonctionne réellement l'ensachage. L'essentiel est de diviser les données d'entraînement de manière aléatoire, d'entraîner des modèles en parallèle sur les données fractionnées et d'utiliser tous les modèles pour répondre aux entrées. Nous les aborderons tour à tour.
Fractionnement des données
Supposons que nous disposions d'un ensemble de données d'entraînement avecnpoints de données et que nous souhaitions créer un ensemble demmodèles. Ensuite, nous devons créermensembles de données (un pour chaque modèle), chacun avecnpoints. S'il y a plus ou moins denpoints dans chaque ensemble de données, certains modèles seront sur ou sous-entraînés.
Pour créer un seul nouvel ensemble de données aléatoires, nous choisissons au hasardnpoints dans l'ensemble de données d'entraînement d'origine. Il est important de noter que nous remettons les points à l'ensemble de données d'origine après chaque sélection. En conséquence, le nouvel ensemble de données aléatoires contiendra plus d’une copie de certains des points de données d’origine tout en n’ayant aucune copie des autres. En moyenne, cet ensemble de données sera composé de 63 % de points de données uniques et de 37 % de points de données dupliqués.
Nous répétons ensuite ce processus pour créer tousles mensembles de données. La variation dans la représentation des points de données contribue à créer de la diversité parmi les modèles d'ensemble, ce qui est l'une des clés de la réduction globale de la variance.
Formation sur modèle
Avec nosmensembles de données aléatoires, nous formons simplementmmodèles, un modèle pour chaque ensemble de données. Nous devrions utiliser le même type de modèle partout pour garantir des biais similaires. Nous pouvons entraîner les modèles en parallèle, ce qui permet une itération beaucoup plus rapide.
Modèles d'agrégation
Maintenant que nous disposonsde mmodèles formés, nous pouvons les utiliser comme un ensemble pour répondre à n’importe quelle entrée. Chaque point de données d'entrée est alimenté en parallèle à chacun des modèles, et chaque modèle répond avec sa sortie. Ensuite, nous regroupons les résultats des modèles pour arriver à une réponse finale. S'il s'agit d'un problème de classification, on prend le mode des sorties (la sortie la plus courante). S'il s'agit d'un problème de régression, on prend la moyenne des sorties.
La clé pour réduire la variance ici est que chaque modèle est meilleur pour certains types d'entrées et moins bon pour d'autres en raison des différences dans les données d'entraînement. Cependant, dans l’ensemble, les erreurs d’un modèle devraient être annulées par les autres modèles, ce qui entraînerait une variance plus faible.
Types d'algorithmes d'ensachage
Le bagging en tant qu’algorithme peut être appliqué à tout type de modèle. En pratique, il existe deux modèles en sac qui sont très courants : les forêts aléatoires et les arbres de décision en sac. Explorons brièvement les deux.
Forêts aléatoires
Une forêt aléatoire est un ensemble d'arbres de décision, chacun formé sur des ensembles de données aléatoires. Un arbre de décision est un modèle qui fait des prédictions en répondant à des questions oui/non sur les données d'entrée jusqu'à ce qu'il trouve une étiquette appropriée.
Dans une forêt aléatoire, chaque arbre de décision a les mêmes hyperparamètres (configurations prédéfinies comme la profondeur maximale de l'arbre ou les échantillons minimum par division), mais il utilise des fonctionnalités différentes (choisies au hasard) de l'ensemble de données d'entraînement. Sans randomisation des fonctionnalités, chaque arbre de décision peut converger vers des réponses similaires malgré les différences dans les données d'entraînement. Les forêts aléatoires sont un choix extrêmement populaire pour le ML et constituent souvent un bon point de départ pour résoudre les tâches de ML.
Arbres de décision en sac
Les arbres de décision en sac sont très similaires aux forêts aléatoires, sauf que chaque arbre utilise les mêmes fonctionnalités de l'ensemble de données d'entraînement. Cela réduit la diversité des résultats des arbres, ce qui présente des avantages et des inconvénients. Du côté positif, les arbres sont plus stables et donneront probablement des réponses similaires ; cela peut être utilisé pour déterminer quelles fonctionnalités sont importantes. L’inconvénient est que la variance ne sera pas autant réduite. Pour cette raison, les forêts aléatoires sont bien plus utilisées que les arbres de décision en sac.
Applications de l'ensachage
L'ensachage peut être utilisé dans n'importe quel problème de ML où la variance est supérieure à celle souhaitée. Tant qu'il existe un modèle ML, il peut être mis en sac. Pour rendre cela plus concret, nous passerons en revue quelques exemples.
Classification et régression
La classification et la régression sont deux des principaux problèmes du ML. Un utilisateur peut souhaiter étiqueter le sujet d’une image comme un chat ou comme un chien – classification. Ou encore, un utilisateur peut vouloir prédire le prix de vente d'une maison à partir de ses caractéristiques : régression. L'ensachage peut aider à réduire la variance dans les deux cas, comme nous l'avons vu.
En classification, le mode des modèles d'ensemble est utilisé. En régression, la moyenne est utilisée.
Sélection des fonctionnalités
La sélection de fonctionnalités consiste à trouver les fonctionnalités les plus importantes dans un ensemble de données, celles qui prédisent le mieux la sortie correcte. En supprimant les données de fonctionnalités non pertinentes, un développeur de modèles peut réduire le risque de surajustement.
Connaître les caractéristiques les plus importantes peut également rendre les modèles plus interprétables. De plus, les développeurs de modèles peuvent utiliser ces connaissances pour réduire le nombre de fonctionnalités dans les données de formation, ce qui accélère la formation. Les arbres de décision en sac fonctionnent bien pour découvrir des fonctionnalités importantes. Les fonctionnalités qui y occupent une place importante seront probablement les plus importantes.
L'ensachage dans le e-commerce
L'ensachage dans le commerce électronique est particulièrement utile pour prédire le taux de désabonnement des clients. Les modèles de ML formés sur les données de désabonnement présentent souvent une variance élevée en raison de modèles de comportement complexes et bruyants des clients ; ils peuvent surajuster leur ensemble de données de formation. Ils peuvent également déduire des relations fallacieuses, par exemple en supposant que le nombre de voyelles dans le nom d'un client affecte sa probabilité de désabonnement.
L'ensemble de données d'entraînement peut contenir uniquement quelques exemples à l'origine de ce surapprentissage. À l’aide de modèles groupés, l’ensemble peut mieux identifier les véritables indicateurs de désabonnement tout en ignorant les fausses corrélations, ce qui conduit à des prévisions de désabonnement plus fiables.
Avantages de l'ensachage
L'ensachage réduit la variance et le surajustement du modèle et peut résoudre les problèmes de données. C'est également l'une des techniques d'ensachage les plus parallélisables et les plus efficaces.
Écart réduit
La variance du modèle indique qu'un modèle n'apprend pas les modèles véritables et significatifs des données. Au lieu de cela, il détecte des corrélations aléatoires qui ne signifient pas grand-chose et sont le symptôme de données d’entraînement imparfaites.
L'ensachage réduit la variance des modèles ; l’ensemble dans son ensemble se concentre sur les relations significatives entre l’entrée et la sortie.
Bien généraliser aux nouvelles données
Étant donné que les modèles groupés sont plus susceptibles de détecter des relations significatives, ils peuvent se généraliser à des données nouvelles ou invisibles. Une bonne généralisation est l’objectif ultime de l’apprentissage automatique, c’est pourquoi l’ensachage est souvent une technique utile pour de nombreux modèles.
Dans presque tous les problèmes de ML, l'ensemble de données d'entraînement n'est pas entièrement représentatif des données réelles, une bonne généralisation est donc essentielle. Dans d’autres cas, la véritable distribution des données peut changer au fil du temps, un modèle adaptable est donc nécessaire. L'ensachage aide dans les deux cas.
Hautement parallélisable
Contrairement au boosting, la création de modèles en sac est hautement parallélisable. Chaque modèle peut être entraîné indépendamment et simultanément, ce qui permet une expérimentation rapide et un réglage plus facile des hyperparamètres (à condition, bien sûr, que vous disposiez de suffisamment de ressources de calcul pour vous entraîner en parallèle).
De plus, comme chaque modèle est indépendant des autres, il peut être remplacé ou remplacé. Par exemple, un modèle faible peut être recyclé sur un sous-ensemble aléatoire différent pour améliorer ses performances sans toucher aux autres modèles.
Défis et limites de l’ensachage
Malheureusement, l’ajout de modèles supplémentaires ajoute plus de complexité. Les défis d'une complexité supplémentaire signifient que les modèles en sac nécessitent beaucoup plus de ressources de calcul, sont plus difficiles à interpréter et à comprendre et nécessitent davantage de réglages d'hyperparamètres.
Plus de ressources informatiques nécessaires
Un plus grand nombre de modèles nécessitent plus de ressources pour les exécuter, et souvent, les ensembles en sac comptent plus de 50 modèles. Cela peut bien fonctionner pour les modèles plus petits, mais avec les plus grands, cela peut devenir insoluble.
Les temps de réponse de l’ensemble peuvent également souffrir à mesure qu’il grandit. Les ressources ont également un coût d'opportunité : elles peuvent être mieux utilisées pour former un modèle plus grand et meilleur.
Plus difficile à interpréter
Les modèles ML, dans leur ensemble, sont difficiles à interpréter. Les arbres de décision individuels sont un peu plus simples car ils montrent sur quelle fonctionnalité ils fondent leurs décisions. Mais lorsque vous en regroupez plusieurs, comme dans une forêt aléatoire, les réponses contradictoires de chaque arbre peuvent prêter à confusion.
Prendre le mode ou la moyenne des prédictions n’explique pas en soi pourquoi il s’agit de la prédiction correcte. La sagesse de la foule, même si elle a souvent raison, est difficile à comprendre.
Plus de réglage des hyperparamètres
Avec plus de modèles, les effets des hyperparamètres sont amplifiés. Une légère erreur dans les hyperparamètres peut désormais affecter des dizaines, voire des centaines de modèles. Le réglage du même ensemble d’hyperparamètres nécessite plus de temps, ce qui peut imposer une charge encore plus lourde à des ressources limitées.