Ensemble
Découvre comment l'apprentissage ensembliste améliore la précision et réduit le surapprentissage. Apprends à combiner plusieurs modèles comme Ultralytics YOLO26 pour des résultats supérieurs en vision par ordinateur.
L'apprentissage ensembliste est une stratégie robuste en machine learning (ML) où plusieurs modèles indépendants, souvent appelés « apprenants faibles », sont combinés pour produire un résultat prédictif unique. La prémisse fondamentale est qu'un groupe de modèles peut souvent atteindre une précision plus élevée et une meilleure généralisation que n'importe quel modèle agissant seul. En agrégeant les prédictions provenant d'algorithmes divers, les méthodes ensemblistes réduisent efficacement le risque de surapprentissage sur les données d'entraînement, lissent les erreurs aléatoires et améliorent la stabilité globale du système. Cette approche est analogue à la consultation d'un panel d'experts plutôt qu'à la confiance en l'opinion d'un seul individu pour prendre une décision critique.
Link to this sectionMécanismes de l'apprentissage ensembliste#
L'efficacité des méthodes ensemblistes réside dans leur capacité à manipuler le compromis biais-variance. Les modèles individuels peuvent souffrir d'une variance élevée (sensibilité au bruit) ou d'un biais élevé (sur-simplification). L'assemblage atténue ces problèmes grâce à des techniques spécifiques :
- Bagging (Bootstrap Aggregating) : Cette technique implique l'entraînement de multiples instances du même algorithme sur différents sous-ensembles du jeu de données. L'exemple le plus célèbre est l'algorithme Random Forest, qui agrège les décisions de nombreux arbres de décision pour réduire la variance.
- Boosting : Contrairement au bagging, le boosting entraîne les modèles séquentiellement. Chaque nouveau modèle se concentre sur la correction des erreurs commises par les précédents. Des frameworks populaires comme LightGBM et CatBoost utilisent cela pour créer des systèmes prédictifs hautement précis.
- Stacking (Généralisation empilée) : Cela implique l'entraînement d'un nouveau « méta-modèle » pour combiner les prédictions de plusieurs modèles de base hétérogènes (par exemple, un réseau neuronal et une machine à vecteurs de support).
Link to this sectionL'assemblage en vision par ordinateur#
Dans le domaine de la vision par ordinateur (CV), les ensembles sont fréquemment utilisés pour maximiser les performances lors de compétitions et pour des applications de sécurité critique. Pour la détection d'objets, cela implique souvent l'exécution de plusieurs modèles — tels que différentes versions de YOLO26 — sur la même image. Les boîtes englobantes résultantes sont ensuite fusionnées en utilisant des techniques comme la Non-Maximum Suppression (NMS) ou la Weighted Box Fusion (WBF) pour dériver les emplacements d'objets les plus probables.
Link to this sectionApplications concrètes#
Les méthodes ensemblistes sont omniprésentes dans les industries où la fiabilité prédictive est primordiale.
-
Diagnostic médical et imagerie : Dans le secteur de la santé, éviter les faux négatifs est crucial. Un ensemble pourrait combiner un réseau neuronal convolutif (CNN) entraîné sur des radiographies avec un Vision Transformer (ViT) pour détecter des anomalies. Le consensus entre les modèles fournit un score de confiance plus élevé, aidant les radiologues à détecter des tumeurs ou à diagnostiquer des conditions rares.
-
Détection de la fraude financière : Les institutions financières utilisent des ensembles pour analyser les modèles de transaction. En combinant des modèles de régression logistique avec des machines de gradient boosting, le système peut détecter des indicateurs subtils de fraude qu'un modèle unique pourrait manquer, tout en maintenant les taux de fausses alertes bas.
Link to this sectionImplémentation de l'assemblage de modèles avec Python#
Tu peux simuler un ensemble d'inférence de base en chargeant plusieurs modèles entraînés et en générant des prédictions pour la même entrée. La plateforme Ultralytics te permet d'entraîner facilement ces variantes. L'exemple suivant démontre le chargement de deux modèles Ultralytics YOLO différents (YOLO26n et YOLO26s) pour vérifier les détections sur une image.
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")Link to this sectionEnsemble vs Augmentation de données#
Il est important de distinguer l'apprentissage Ensemble de l'Augmentation de données.
- L'Ensemble se concentre sur l'architecture et la phase de prédiction, en combinant plusieurs modèles distincts entraînés pour améliorer les résultats.
- L'Augmentation de données se concentre sur la phase de données d'entraînement, en augmentant artificiellement la diversité du jeu de données (par exemple, via rotation ou retournement) pour entraîner un seul modèle plus robuste.
Alors que l'augmentation de données aide un modèle unique à mieux apprendre, l'apprentissage ensembliste aide plusieurs modèles à vérifier les sorties des uns et des autres. Les deux stratégies sont souvent utilisées ensemble pour obtenir des résultats de pointe dans des tâches comme la segmentation d'instance et l'estimation de pose.






