Model ensembling

Reading time10 min

En bref

Résumé de l’article

Le model ensembling est une technique d’apprentissage automatique qui combine plusieurs modèles pour améliorer la performance prédictive et la robustesse. En agrégeant les forces de divers modèles, il réduit les erreurs et améliore la généralisation sur des données non vues.

Points clés

  • L’ensemblage combine plusieurs modèles pour améliorer la précision et réduire les erreurs.

  • Les techniques courantes incluent le bagging, le boosting, le stacking et le voting.

  • La diversité entre les modèles est essentielle pour un ensembling réussi.

  • L’ensemblage peut nécessiter plus de ressources informatiques mais offre des gains de performance significatifs.

Contenu de l’article

Le model ensembling s’appuie sur l’idée qu’aucun modèle unique ne peut capturer tous les aspects d’un jeu de données. En combinant des modèles aux forces complémentaires, on peut obtenir de meilleurs résultats.

1 — Introduction au model ensembling

En apprentissage automatique, aucun modèle unique ne peut systématiquement fournir les meilleurs résultats pour tous les jeux de données et toutes les tâches. Cette limitation provient du fait que différents modèles excellent à capturer des motifs et caractéristiques distincts des données. Le model ensembling est une technique qui répond à cela en combinant les prédictions de plusieurs modèles pour atteindre une meilleure précision, robustesse et généralisation qu’un modèle individuel seul.

L’idée centrale de l’ensemblage repose sur la sagesse des foules : agréger des perspectives diverses (ou dans ce cas, des sorties de modèles) réduit les erreurs et conduit à des prédictions plus fiables. Ce concept est particulièrement précieux dans les applications réelles où les jeux de données sont bruyants, complexes ou déséquilibrés.

L’ensemblage n’est pas une méthode unique mais un ensemble d’approches, allant de techniques simples d’agrégation comme le voting à des méthodes plus sophistiquées comme le stacking et le boosting. Il a été déterminant dans la victoire de compétitions d’apprentissage automatique, telles que celles sur Kaggle, et est largement utilisé dans des secteurs allant de la finance à la santé.

Dans cet article, nous explorerons les principales méthodes d’ensemblage, leurs avantages et leurs applications pratiques. Nous aborderons également des techniques avancées pour vous aider à repousser les limites de la performance des modèles. Que vous travailliez sur une tâche de classification, régression ou clustering, l’ensemblage offre un cadre polyvalent pour construire des modèles robustes.

2 — Techniques courantes d’ensemblage

Voici un aperçu détaillé des techniques d’ensemblage les plus courantes :

2.1 — Bagging

Le bagging, abréviation de Bootstrap Aggregating, est une technique d’ensemblage conçue pour réduire la variance et améliorer la stabilité du modèle. Elle fonctionne en entraînant plusieurs instances du même modèle sur différents sous-ensembles des données d’entraînement, générés par bootstrapping — un échantillonnage aléatoire avec remise. Chaque modèle de l’ensemble apprend des motifs légèrement différents des données en raison de ces sous-ensembles d’entraînement variés. Une fois entraînés, leurs prédictions sont agrégées, soit par moyenne (pour les tâches de régression), soit par vote majoritaire (pour les tâches de classification). L’étape d’agrégation lisse les erreurs des modèles individuels, ce qui améliore la généralisation.

Un exemple emblématique de bagging est l’algorithme Random Forest, qui construit un ensemble d’arbres de décision. Le bagging est particulièrement efficace pour les modèles à haute variance comme les arbres de décision, car il aide à contrer leur tendance à surajuster les données d’entraînement tout en conservant leur capacité à capturer des relations complexes.

2.2 — Boosting

Le boosting est une technique d’ensemblage qui se concentre sur la réduction du biais en entraînant séquentiellement des modèles, où chaque modèle suivant tente de corriger les erreurs commises par ses prédécesseurs. Contrairement au bagging, le boosting n’entraîne pas les modèles indépendamment mais les construit de manière itérative, en accordant plus de poids aux points de données mal classifiés ou mal prédits à chaque étape. Ce processus permet à l’ensemble de se concentrer sur les instances les plus difficiles à prédire, améliorant progressivement sa précision. Les prédictions finales sont faites en combinant les sorties de tous les modèles, souvent en utilisant une moyenne ou une somme pondérée.

Des algorithmes comme AdaBoost, Gradient Boosting Machines (GBM) et XGBoost sont des implémentations populaires du boosting. Ces techniques sont particulièrement efficaces pour gérer des jeux de données complexes et atteindre une haute performance prédictive. Cependant, le boosting est plus sensible au surapprentissage, surtout lorsqu’on travaille avec des données bruyantes, donc une régularisation soigneuse et un réglage des hyperparamètres sont essentiels.

2.3 — Stacking

Le stacking est une technique d’ensemblage avancée qui combine plusieurs modèles, appelés base learners, en entraînant un méta-modèle pour intégrer leurs prédictions. Contrairement au bagging et au boosting, où l’objectif est d’améliorer les modèles individuels, le stacking exploite les forces de modèles divers, indépendamment de leur type ou complexité. Les base learners sont entraînés indépendamment sur le jeu de données, et leurs prédictions (ou sorties transformées) sont passées comme caractéristiques au méta-modèle, qui apprend comment les combiner au mieux pour faire la prédiction finale.

Par exemple, un ensemble de stacking pourrait combiner les sorties d’un classificateur k-Nearest Neighbors (kNN), d’un arbre de décision et d’une machine à vecteurs de support (SVM), avec un modèle de régression logistique comme méta-apprenant. Cette flexibilité permet au stacking d’exploiter les forces complémentaires de différents algorithmes, conduisant souvent à une performance supérieure. Cependant, le stacking nécessite une attention particulière au surapprentissage, surtout pour le méta-modèle, qui ne doit pas s’appuyer trop fortement sur un seul base learner. Des techniques comme la validation croisée peuvent être utilisées pour assurer un entraînement et une validation robustes de l’ensemble.

2.4 — Voting

Le voting est l’une des techniques d’ensemblage les plus simples et intuitives, où les prédictions de plusieurs modèles sont combinées pour prendre une décision finale. Il est particulièrement utile dans les tâches de classification, où il peut être implémenté sous forme de “hard voting” ou “soft voting”. Dans le hard voting, chaque modèle contribue d’un vote unique pour une étiquette de classe, et la classe majoritaire est sélectionnée comme prédiction de l’ensemble. Dans le soft voting, les modèles fournissent des probabilités pour chaque classe, et la classe avec la probabilité moyenne la plus élevée est choisie.

Les ensembles de voting fonctionnent mieux lorsque les modèles de base sont divers et relativement précis, car cela réduit la probabilité qu’ils fassent les mêmes erreurs. Cette méthode est efficace en termes de calcul, car elle ne nécessite pas d’entraînement supplémentaire au-delà des modèles de base. Cependant, sa simplicité peut être une limitation lorsque les prédictions des modèles de base ont des dépendances complexes, auquel cas des techniques plus sophistiquées comme le stacking peuvent être plus efficaces. Le voting est une technique de choix pour améliorer rapidement la performance avec une complexité minimale dans des tâches comme la classification ou la régression.

Pour aller plus loin

3 — Techniques avancées en model ensembling

3.1 — Ensembling pondéré

Dans l’ensemblage pondéré, les sorties des modèles individuels sont combinées avec des poids spécifiques attribués à chaque modèle, reflétant leur importance ou performance. Cette approche permet aux modèles les plus performants d’avoir une influence plus grande sur la prédiction finale.

Étapes clés :

  • Entraîner plusieurs modèles indépendamment.
  • Évaluer leur performance sur un ensemble de validation.
  • Attribuer des poids à chaque modèle basés sur des métriques telles que la précision, la précision, le rappel ou le score F1.
  • Combiner les prédictions en utilisant la formule : $$P_{final} = \sum_{i = 1}^n w_i P_i$$$w_i$ est le poids pour le modèle $i$, et $P_i$ est la prédiction du modèle $i$.

Exemples d’applications :

  • Prévision financière, où certains modèles peuvent mieux gérer des conditions de marché spécifiques que d’autres.
  • Tâches de classification d’images où certaines architectures excellent à détecter des caractéristiques spécifiques.

3.2 — Blending

Le blending est similaire au stacking mais utilise un jeu de données de validation (une portion des données d’entraînement mise de côté) pour entraîner le méta-modèle au lieu d’effectuer une validation croisée. Cela réduit la complexité computationnelle mais peut entraîner un entraînement moins robuste du méta-modèle.

Étapes clés :

  • Diviser les données d’entraînement en deux parties : la majorité pour entraîner les modèles de base, et un petit ensemble de validation pour entraîner le méta-modèle.
  • Entraîner les modèles de base sur le plus grand sous-ensemble.
  • Utiliser l’ensemble de validation pour générer des prédictions des modèles de base et entraîner le méta-modèle sur ces prédictions.

Avantages :

  • Plus simple que le stacking car il ne nécessite pas de validation croisée.
  • Plus rapide à entraîner et à mettre en œuvre.

Limites :

  • Dépend de la qualité et de la représentativité de l’ensemble de validation.

3.3 — Modèles hybrides

Les modèles hybrides combinent des techniques non supervisées comme le clustering avec l’apprentissage supervisé pour tirer parti des forces des deux. Par exemple, le clustering kMeans peut être utilisé pour prétraiter ou regrouper les données, qui sont ensuite fournies à des modèles supervisés comme kNN ou des arbres de décision.

Applications :

  • Apprentissage semi-supervisé : utiliser le clustering non supervisé pour étiqueter les données et l’apprentissage supervisé pour les prédictions finales.
  • Augmentation de données : générer des échantillons synthétiques en modifiant les centroïdes des clusters pour équilibrer les distributions de classes.
  • Ingénierie des caractéristiques : extraire des informations de cluster comme nouvelles caractéristiques pour enrichir le jeu de données.

3.4 — Maximisation de la diversité

Le succès de l’ensemblage dépend de la diversité des modèles de base. Des modèles divers sont plus susceptibles de capturer différents motifs ou erreurs dans les données. Les techniques pour maximiser la diversité incluent :

  • Utiliser des modèles avec des architectures différentes (ex. arbres de décision, réseaux de neurones, SVM).
  • Entraîner les modèles sur différents sous-ensembles de données (bagging).
  • Appliquer différents sous-ensembles de caractéristiques à chaque modèle (feature bagging).
  • Varier significativement les hyperparamètres entre les modèles.

Métriques pour la diversité :

  • Corrélation des erreurs : une faible corrélation entre les erreurs des modèles indique une meilleure diversité.
  • Gain de précision de l’ensemble : comparer la précision de l’ensemble à la précision moyenne des modèles individuels.

3.5 — Ensembles spécialisés pour le deep learning

Les modèles de deep learning, étant intrinsèquement complexes, peuvent aussi bénéficier de l’ensemblage.

Techniques incluent :

  • Snapshot Ensembling : entraîner un seul modèle de deep learning avec des taux d’apprentissage cycliques, en sauvegardant des “snapshots” du modèle à différents moments. Combiner ces snapshots en un ensemble.
  • Model Distillation : utiliser un grand ensemble pour entraîner un modèle plus simple (étudiant) afin d’obtenir une performance comparable avec des coûts computationnels réduits.
  • Ensemble Averaging : combiner les prédictions de plusieurs réseaux de neurones profonds entraînés indépendamment.

Applications :

  • Vision par ordinateur (ex. ensembling de CNN pour la classification d’images).
  • Traitement du langage naturel (ex. ensembling de transformers comme BERT ou GPT).

Pour aller au-delà