L’avenir de l’IA, dévoilé en direct

Regardez gratuitement les discours d’ouverture du Summit les 1er et 2 juin.

Apprentissage ensembliste : combiner les modèles ML pour de meilleures prédictions

L’apprentissage ensembliste permet d’améliorer les performances prédictives en combinant des modèles qui abordent un même problème sous différents angles. Cet article explique le fonctionnement du bagging, du boosting, du stacking et d'autres stratégies ensemblistes, et ce que les équipes en entreprise doivent mettre en place pour les gérer de manière fiable en production.

DÉFINITION DE L’APPRENTISSAGE ENSEMBLISTE

L'apprentissage ensembliste est une approche de machine learning qui entraîne et combine plusieurs modèles, appelés modèles de base, afin d'agréger leurs sorties pour produire une prédiction finale unique. L'objectif est d'améliorer les performances prédictives, la stabilité ou la généralisation en réduisant les faiblesses d'un modèle individuel.

L’apprentissage ensembliste repose sur une idée simple mais puissante : les modèles peuvent être plus utiles ensemble qu’isolés. Un modèle peut capturer des régularités générales, un autre peut mieux performer sur les cas limites, et un autre encore peut réduire la variance en apprenant à partir d'une tranche différente des données.

Pour les équipes métier en entreprise, la valeur réside dans la combinaison de différentes perspectives sur le même problème de prédiction. Cela est particulièrement utile lorsque les prédictions commencent à orienter des décisions en matière de fraude, de demande, d'attrition, de risque ou d'opérations. L'apprentissage ensembliste contribue à réduire la dépendance aux hypothèses d'un modèle individuel, en offrant aux équipes un moyen de construire des systèmes de prédiction plus stables, plus adaptables et mieux adaptés à une utilisation en production.

La technique, cependant, ne constitue qu'une partie de l'équation. Pour utiliser efficacement l'apprentissage ensembliste, les équipes ont également besoin de caractéristiques cohérentes, de données d’entraînement gouvernées,du versionnage des modèles, de contrôles d’inférence et d'une supervision qui indique comment l'ensemble se comporte après le déploiement.

Qu’est-ce que l’apprentissage ensembliste ?

L’apprentissage ensembliste est une stratégie de machine learning qui combine plusieurs modèles pour générer une prédiction unique. Plutôt que de s’appuyer sur un seul modèle pour identifier chaque régularité dans les données, cette méthode entraîne plusieurs modèles et agrège leurs résultats par le biais d’un vote, d’une moyenne ou d’une autre stratégie de combinaison.

L’apprentissage ensembliste est conçu pour résoudre le problème des erreurs divergentes commises par les modèles individuels. Par exemple, un modèle peut souffrir de surapprentissage en raison du bruit dans les données d’entraînement, tandis qu’un autre peut être en sous-apprentissage car il est trop simple pour saisir des relations complexes. Un troisième modèle peut quant à lui s’avérer très performant pour les cas courants, mais éprouver des difficultés face à des événements rares. En combinant judicieusement ces modèles, leurs faiblesses respectives se compensent. On obtient ainsi un modèle global souvent plus performant qu’un modèle unique dans de nombreuses situations.

C’est ce que l’on appelle parfois la « sagesse des foules » appliquée au machine learning. Un groupe d’experts indépendants peut surpasser un expert unique si chacun apporte des informations différentes pour éclairer la décision. En apprentissage ensembliste, le même principe s’applique aux modèles : la diversité est essentielle. Si tous les modèles commettent la même erreur, les combiner n’est pas très utile. Si les modèles commettent des erreurs différentes, l’agrégation peut améliorer la performance de prédiction, selon les données et l’approche de modélisation. L'objectif est de créer des modèles qui abordent le même problème de prédiction sous des angles différents, puis de combiner leurs sorties d'une manière qui améliore la précision, la stabilité ou les deux.

Les méthodes ensemblistes aident généralement de deux manières :

  • La réduction de la variance : L’ensemble devient moins sensible aux particularités d’un échantillon d’entraînement spécifique, ce qui permet de réduire le surapprentissage.
  • La réduction du biais : L'ensemble devient plus efficace pour capturer les régularités qu'un seul apprenant faible pourrait manquer, ce qui contribue à réduire le sous-apprentissage.
Quote Icon

L'objectif est de créer des modèles qui abordent le même problème de prédiction sous différents angles, puis de combiner leurs sorties de manière à améliorer la précision, la stabilité ou les deux.

Les différents types de méthodes d’ensemble

L’apprentissage ensembliste comprend plusieurs grandes stratégies, chacune offrant une manière différente de créer de la diversité entre les modèles et de combiner les prédictions. Les trois principales sont le bagging, le boosting et le stacking, le vote et la moyenne étant souvent utilisés comme méthodes d'agrégation plus simples.

Bagging

Le bagging (abréviation de « bootstrap aggregating ») entraîne plusieurs versions d’un modèle sur différents échantillons aléatoires des données d’entraînement. Chaque échantillon est créé par échantillonnage bootstrap, ce qui signifie que les exemples sont sélectionnés avec remise. Certaines lignes peuvent apparaître plusieurs fois dans un même sous-ensemble d’entraînement, tandis que d’autres peuvent être exclues.

Une fois les modèles entraînés, leurs prédictions sont agrégées. Pour les problèmes de classification, l’ensemble peut utiliser le vote majoritaire. Pour les problèmes de régression, il peut faire la moyenne des valeurs prédites.

Le bagging est particulièrement utile pour réduire la variance. Un simple arbre de décision, par exemple, peut être extrêmement sensible aux données exactes qu’il analyse lors de l’entraînement. De légères modifications des données d’entraînement peuvent produire un arbre très différent. Une forêt aléatoire résout ce problème en entraînant de nombreux arbres de décision sur différents échantillons et sous-ensembles de caractéristiques, puis en combinant leurs prédictions. Le résultat est généralement plus stable que celui d’un simple arbre de décision.

Le bagging est également relativement simple à paralléliser, car chaque modèle peut être entraîné de manière indépendante. C’est donc un choix pratique lorsque les équipes souhaitent obtenir un modèle plus performant sans introduire les dépendances séquentielles propres au boosting.

Boosting

Le boosting entraîne les modèles de manière séquentielle. Chaque nouveau modèle se concentre davantage sur les exemples pour lesquels les modèles précédents ont obtenu de mauvais résultats, de sorte que l'ensemble apprend progressivement là où ses prédictions initiales étaient faibles.

Les premiers modèles d'une séquence de boosting peuvent être simples. Chaque apprenant suivant apporte une puissance corrective supplémentaire, améliorant la capacité de l'ensemble à capturer les régularités difficiles. C’est pourquoi le boosting est souvent utilisé pour réduire le biais, et peut également réduire la variance selon la mise en œuvre : Il peut transformer un ensemble d'apprenants faibles en un apprenant performant, tout en améliorant les performances sur des données complexes.

Les algorithmes de boosting courants comprennent AdaBoost, le gradient boosting, XGBoost, LightGBM et CatBoost. Ces méthodes sont largement utilisées pour les données structurées et tabulaires, car elles obtiennent souvent de bonnes performances sur les problèmes de prédiction métier, notamment la modélisation de l'attrition, la détection des fraudes, l'évaluation des risques et la prévision.

Le boosting est puissant, mais il nécessite un réglage minutieux. Comme chaque modèle apprend des erreurs précédentes, le boosting peut conduire à un surapprentissage lorsque les données d’entraînement contiennent du bruit, des exemples mal étiquetés ou des schémas instables. Les paramètres tels que le taux d’apprentissage, la profondeur de l’arbre, le nombre d’estimateurs et la régularisation sont essentiels, car ils influencent l’agressivité avec laquelle l’ensemble s’adapte aux cas difficiles.

Stacking

Le stacking, ou généralisation empilée, combine plusieurs modèles de base en entraînant un autre modèle à apprendre comment leurs prédictions doivent être utilisées. Ce modèle de second niveau est appelé un méta-apprenant.

Un ensemble par stacking peut inclure une forêt aléatoire, un modèle de gradient boosting et un réseau de neurones comme modèles de base. Chaque modèle de base génère des prédictions. Le méta-apprenant utilise ensuite ces prédictions comme entrées et apprend à les combiner pour obtenir le résultat final.

Le stacking est flexible, car il permet de combiner des types de modèles très différents. Il peut également apprendre des relations que le simple vote ou la moyenne ne saurait déceler. Par exemple, le méta-apprenant peut découvrir qu’un modèle est plus fiable pour un segment de données spécifique, tandis qu’un autre est plus performant pour un segment différent.

Cette flexibilité s’accompagne toutefois d’une plus grande complexité. Le stacking nécessite un fractionnement minutieux des données pour éviter les fuites, car le méta-apprenant doit être entraîné sur des prédictions qui reflètent la performance des modèles de base sur des données qu’ils n’ont pas utilisées pour leur entraînement. Si le processus d'entraînement du modèle n'est pas structuré correctement, le modèle empilé peut sembler performant lors des tests mais ne pas généraliser en production.

Vote et moyenne

Le vote et la moyenne sont des stratégies d’ensemble plus simples. En classification, le vote majoritaire sélectionne la classe prédite par la majorité des modèles. Le vote pondéré accorde plus d’influence aux modèles qui se sont révélés les plus fiables. En régression, la moyenne combine des prédictions numériques, tandis que la moyenne pondérée ajuste la contribution de chaque modèle.

Ces approches sont plus faciles à mettre en œuvre que le stacking, car elles ne nécessitent pas de méta-modèle entraîné. Elles sont utiles lorsque les équipes disposent de plusieurs modèles relativement performants et souhaitent les combiner de manière transparente. Bien qu’elles ne capturent pas forcément les relations complexes entre les sorties des modèles, elles permettent d’améliorer la stabilité à moindres frais opérationnels.

Comparatif des stratégies ensemblistes

Chaque méthode ensembliste présente des atouts différents :

MéthodeFonctionnementIdéal pour :Principal compromis
BaggingEntraîne des modèles de manière indépendante sur des échantillons aléatoires, puis agrège les prédictionsRéduire la variance et stabiliser les modèles instablesRisque de ne pas assez réduire le biais si les modèles de base sont trop simples
BoostingEntraîne les modèles de manière séquentielle afin que chaque apprenant se concentre sur les erreurs précédentesAméliorer les performances prédictives sur des données structurées complexesRisque de surapprentissage sur des données bruitées et nécessite plus de réglages
StackingEntraîne un méta-apprenant à combiner les prédictions des modèles de baseCombiner différents types de modèles et apprendre des relations complexesAugmente la complexité de l’entraînement et nécessite une validation rigoureuse
Vote ou moyenneCombine les prédictions par vote majoritaire, moyenne ou agrégation pondéréeCombinaison de modèles simple et transparenteRisque de ne pas déceler les régularités dans les interactions entre prédictions des modèles

La bonne stratégie dépend du problème de prédiction, des données, de l'objectif de performance et des contraintes liées à l'interprétabilité, à la latence et au coût.

PIÈGE COURANT

L’ajout de modèles supplémentaires n’améliore pas automatiquement les prédictions. L'apprentissage ensembliste ne fonctionne que lorsque les modèles de base apportent des forces complémentaires, et que la précision supplémentaire justifie la complexité accrue en termes d'entraînement, d'inférence et d'exploitation. Sans une validation, une supervision et une gestion des modèles rigoureuses, un ensemble peut devenir plus difficile à maintenir que ce que les gains de performance ne justifient.

Découvrez le témoignage de Tuhin Ghosh, Head of Data Science pour le Platform Product Group chez Coinbase, qui explique comment les fonctionnalités Snowflake ML simplifient le déploiement du machine learning à l’échelle chez Coinbase :

Comment fonctionne l’apprentissage ensembliste en pratique

En pratique, l’apprentissage ensembliste consiste moins à entraîner « plus de modèles » qu’à déterminer quels modèles doivent fonctionner ensemble, comment combiner leurs sorties et si la complexité ajoutée en vaut la peine par rapport au gain de performance.

Choisir les modèles de base

Le premier choix de conception réside dans la sélection des modèles. Un ensemble fonctionne mieux lorsque ses modèles de base sont diversifiés. Cette diversité peut provenir de plusieurs facteurs :

  • Différents algorithmes, tels que les arbres de décision, les modèles linéaires, les réseaux neuronaux et les modèles de gradient boosting
  • Différents ensembles de caractéristiques, tels que les signaux comportementaux, les attributs de transaction, les agrégats historiques ou les caractéristiques dérivées de textes
  • Différents échantillons d’entraînement, tels que des échantillons bootstrap ou des jeux de données spécifiques à un segment
  • Différents hyperparamètres, tels que la profondeur de l’arbre, le taux d’apprentissage ou la force de régularisation

Un ensemble homogène utilise le même type de modèle de base de manière répétée, comme dans une forêt aléatoire. Un ensemble hétérogène combine différentes familles de modèles, comme c’est souvent le cas avec le stacking. Les deux approches peuvent fonctionner, mais l’objectif reste le même : L’ensemble doit combiner des modèles qui ne se contentent pas de répéter les mêmes hypothèses.

Par exemple, un ensemble de détection des fraudes peut combiner un modèle basé sur des règles qui capture les régularités de fraude connues, un modèle arborescent qui apprend les interactions entre les attributs de transaction et un modèle neuronal qui identifie des signaux comportementaux subtils. La prédiction finale peut ainsi refléter plusieurs visions du risque, plutôt que de dépendre de l’interprétation de la transaction par un seul modèle.

Structurer le processus d’entraînement

Un processus d’entraînement ensembliste classique comprend plusieurs étapes :

  1. Préparer et diviser les données : Les équipes définissent les données d’entraînement, de validation et de test, en veillant à ce que la répartition reflète l’utilisation future du modèle en production.
  2. Entraîner les modèles de base : Chaque apprenant de base est entraîné selon la stratégie d’ensemble choisie.
  3. Générer des prédictions : Les modèles de base produisent des sorties sur les données de validation ou de test.
  4. Combiner les prédictions : L'ensemble utilise le vote, la moyenne, l'agrégation pondérée ou un méta-apprenant pour produire une prédiction finale.
  5. Évaluer les performances : Les équipes comparent l’ensemble aux modèles individuels à l’aide de métriques appropriées, telles que l’exactitude, la précision, le rappel, le score F1, l’aire sous la courbe, l’erreur absolue moyenne ou des mesures de coût spécifiques à l’activité.
  6. Valider par segment : L’ensemble est testé sur différents groupes de clients, zones géographiques, catégories de produits, niveaux de risque ou autres segments pertinents.
  7. Préparer le déploiement : Les artefacts de modèle, les définitions de caractéristiques, les métadonnées de version et la logique d’inférence sont packagés pour une utilisation en production.

La répartition des données est particulièrement importante pour le stacking et d’autres stratégies de combinaison par apprentissage. Si le méta-apprenant s’entraîne sur des prédictions issues de modèles de base ayant déjà vu ces mêmes données, il risque d’obtenir une vision trop optimiste des performances du modèle. Une validation croisée appropriée ou une conception rigoureuse du jeu de test permet à l'ensemble de refléter le comportement prédictif réel.

ASTUCE

Traitez un ensemble comme un système en supervisant à la fois les modèles individuels et la prédiction combinée.

Gérer les compromis en matière de ressources de calcul

Les ensembles sont généralement plus coûteux à entraîner et à exécuter que les modèles uniques. En plus des nombreuses étapes d’entraînement séquentielles impliquant souvent plusieurs familles de modèles, le système peut également devoir exécuter plusieurs modèles lors de l’inférence pour générer une seule prédiction.

Ces frais opérationnels peuvent en valoir la peine lorsque la prédiction apporte une valeur métier significative. Par exemple, dans la détection des fraudes, une légère amélioration du rappel peut éviter des pertes importantes. Dans la prévision de la demande, une prévision plus précise peut réduire les ruptures de stock, les excédents de stock ou le manque à gagner. Dans l’évaluation des risques, des prédictions plus stables peuvent favoriser de meilleures décisions sur l’ensemble des portefeuilles ou des segments de clientèle.

Mais ce coût supplémentaire n’est pas toujours justifié. Si un modèle unique atteint déjà l’objectif de performance, respecte les exigences de latence et s’avère plus facile à expliquer, un ensemble risque d’ajouter une complexité inutile. La question est de savoir si la complexité supplémentaire du modèle apporte une amélioration suffisante pour justifier le coût d’entraînement, la latence d’inférence et la charge opérationnelle.

Appliquer les ensembles à des problèmes concrets

L’apprentissage ensembliste permet souvent d’améliorer les performances prédictives sur des problèmes complexes. Dans la détection des fraudes, les ensembles peuvent combiner des modèles qui capturent des régularités connues, des signaux comportementaux inhabituels et le risque au niveau des transactions. Dans les systèmes de recommandation, les ensembles peuvent associer le filtrage collaboratif, des modèles basés sur le contenu et des modèles de classement pour améliorer la pertinence. Dans la prédiction sur données tabulaires, les ensembles arborescents tels que les forêts aléatoires et les modèles de gradient boosting obtiennent souvent de bonnes performances, car ils capturent les relations non linéaires et les interactions entre caractéristiques sans nécessiter de spécification manuelle approfondie.

Les ensembles sont également utiles lorsque différentes parties des données se comportent différemment, par exemple lorsqu'une prévision de la demande doit refléter la saisonnalité régionale, le stade du cycle de vie du produit et l'activité promotionnelle. Un modèle unique risque d’apprendre une tendance moyenne qui occulte ces différences, tandis qu’un ensemble peut combiner des modèles qui capturent des signaux distincts.

Savoir quand ne pas utiliser les ensembles

L’apprentissage ensembliste n’est pas toujours le bon choix. Outre les implications financières, l’infrastructure existante peut ne pas être en mesure de supporter la complexité opérationnelle ajoutée. Par ailleurs, les modèles plus simples peuvent être préférables lorsque la prédiction doit être expliquée à des régulateurs, à des clients ou à des décideurs internes. Dans certains cas, un modèle individuel bien ajusté offre une précision suffisante, et la meilleure décision d'ingénierie est de maintenir le système plus simple.

Les équipes en entreprise doivent également prendre en compte les exigences de supervision. Un ensemble n’est pas un simple modèle unique. C’est un système de modèles. Si la prédiction finale change, les équipes doivent pouvoir identifier si ce changement provient d'un modèle composant, de la stratégie de combinaison, d'une modification de caractéristique ou d'une dérive de la distribution des données. C’est pourquoi l’observabilité et la gestion des modèles sont au cœur de l’apprentissage ensembliste en production.

L’apprentissage ensembliste sur Snowflake

L’apprentissage ensembliste va bien au-delà de la simple technique de modélisation. Les équipes ont besoin de données gouvernées, de caractéristiques réutilisables, d’un suivi des modèles, de capacités de calcul évolutives et d’un moyen de superviser le comportement des prédictions après leur déploiement. Snowflake prend en charge ce cycle de vie plus large du ML en aidant les équipes à préparer les données, à développer des modèles, à gérer les artefacts de modèles et à exécuter l’inférence au plus près des données qui alimentent les prédictions.

Snowflake ML fournit des outils pour gérer les processus de machine learning de bout en bout, notamment le développement et la gestion des modèles, l’inférence et l’observabilité. Le Snowflake Model Registry permet aux équipes d’enregistrer et de gérer les modèles ML, qu’ils soient entraînés dans Snowflake ou sur d’autres plateformes, et d’utiliser ces modèles enregistrés pour exécuter des inférences à l’échelle. Snowflake ML Observability fournit des outils pour surveiller les performances et la dérive des modèles en production, configurer des alertes et calculer les valeurs de Shapley pour les modèles du registre. Le Model Registry prend également en charge les types de modèles courants, notamment Snowpark ML Modeling, scikit-learn, XGBoost, LightGBM, CatBoost, PyTorch, TensorFlow, Keras, MLflow PyFunc, Hugging Face pipeline, et bien d'autres, offrant ainsi aux équipes une flexibilité pour travailler avec différents modèles de base.

L’homogénéité des caractéristiques est également importante. Plusieurs modèles peuvent dépendre des mêmes caractéristiques ou de groupes de caractéristiques qui se chevauchent. Si ces définitions changent d’une équipe ou d’un entraînement à l’autre, la comparaison des modèles devient moins fiable. Snowflake Feature Store aide les équipes à créer, maintenir et réutiliser des caractéristiques ML au sein de Snowflake, avec une gouvernance, des dispositifs de contrôle d'accès et une traçabilité qui relient les données sources aux caractéristiques, aux jeux de données et aux modèles entraînés.

Le contexte opérationnel est ce qui relie l’apprentissage ensembliste au ML d’entreprise. Les modèles peuvent être entraînés avec des algorithmes, des caractéristiques ou des échantillons différents, mais l'organisation doit néanmoins savoir quelles données les ont entraînés, quelles versions de modèles ont contribué à une prédiction et si les performances ont évolué après le déploiement. Les capacités ML de Snowflake aident les équipes à gérer ces exigences périphériques, afin que l'apprentissage ensembliste puisse passer de l'expérimentation à une utilisation en production gouvernée.

De meilleures prédictions nécessitent de meilleures opérations ML

L’apprentissage ensembliste permet d’améliorer les prédictions en combinant des modèles qui appréhendent un problème sous différents angles. Mais dans le ML d’entreprise, la valeur métier de l’apprentissage ensembliste ne se limite pas aux seules performances des modèles. Les équipes de data science et d'ingénierie ML doivent gouverner les données, réutiliser des caractéristiques homogènes, suivre les versions des modèles, gérer les processus d'inférence et superviser si les prédictions se comportent toujours comme prévu. Elles ont besoin d’un socle plus connecté pour créer des modèles d’ensemble qui soient non seulement précis lors des tests, mais aussi faciles à gérer en production.

À RETENIR

L’apprentissage ensembliste améliore les prédictions de machine learning en combinant des modèles qui capturent différentes régularités et compensent mutuellement leurs faiblesses. Le choix de la bonne stratégie ensembliste, qu'il s'agisse du bagging, du boosting, du stacking ou du vote, dépend de la tâche de prédiction. La réussite en entreprise exige également une gouvernance des données solide, une gestion des modèles et une supervision rigoureuses pour maintenir la fiabilité des modèles ensemblistes en production.

Foire aux questions

Les réponses des experts Snowflake à vos questions les plus fréquentes sur l’apprentissage ensembliste.

Les principaux types d’apprentissage ensembliste sont le bagging, le boosting, le stacking, le vote et la moyenne. Le bagging entraîne des modèles de manière indépendante sur différents échantillons de données, puis combine leurs prédictions pour réduire la variance. Le boosting entraîne les modèles de manière séquentielle, de sorte que chaque nouveau modèle se concentre sur les erreurs commises par les modèles précédents. Le stacking entraîne un modèle de second niveau, appelé méta-apprenant, pour apprendre à combiner les prédictions de plusieurs modèles de base. Le vote combine les prédictions de classe de plusieurs modèles, tandis que la moyenne combine les prédictions numériques, souvent pour des problèmes de régression.

L’apprentissage ensembliste est utile lorsqu’un modèle unique n’est pas assez précis, stable ou robuste pour la tâche de prédiction. Il est souvent utilisé pour des cas d’usage tels que la détection des fraudes, la prévision de l’attrition, la prévision de la demande, l’évaluation des risques et les systèmes de recommandation. Il peut s’avérer particulièrement précieux lorsque de légères améliorations de la qualité des prédictions ont un impact commercial significatif.

Les algorithmes d'apprentissage ensembliste les plus courants comprennent la forêt aléatoire (random forest), AdaBoost, le gradient boosting, XGBoost, LightGBM et CatBoost. La forêt aléatoire (random forest) est une méthode courante de bagging, tandis qu'AdaBoost et les méthodes de gradient boosting sont des exemples de boosting. Le stacking n’est pas un algorithme spécifique, mais une stratégie permettant de combiner plusieurs modèles à l’aide d’un méta-apprenant.

Explorez les ressources sur l’IA

Explorez les sujets liés à l’IA

Une analyse approfondie de chaque aspect de l’intelligence artificielle