Cross-Validation
Découvre comment la validation croisée améliore la généralisation des modèles et prévient le surapprentissage. Apprends à mettre en œuvre une évaluation K-Fold avec Ultralytics YOLO26 pour un ML robuste.
La validation croisée est une procédure robuste de rééchantillonnage statistique utilisée pour évaluer les performances de modèles d’apprentissage automatique (ML) sur un échantillon de données limité. Contrairement à une méthode standard de séparation en ensembles d’entraînement et de test, qui divise les données en un seul ensemble d’entraînement et un seul ensemble de test, la validation croisée consiste à partitionner le jeu de données en plusieurs sous-ensembles afin de garantir que chaque point de données est utilisé à la fois pour l’entraînement et la validation. Cette technique est essentielle pour évaluer dans quelle mesure les résultats d’une analyse statistique se généraliseront à un ensemble de données indépendant, et aide à détecter le surapprentissage, lorsqu’un modèle risque de mémoriser les exemples d’entraînement au lieu d’apprendre des motifs généralisables.
Le mécanisme de la validation croisée K-Fold#
La variante la plus utilisée de cette technique est la validation croisée K-Fold. Dans ce processus, l’ensemble du jeu de données est divisé aléatoirement en k groupes de taille égale, ou « folds ». Le processus d’entraînement est ensuite répété k fois. À chaque itération, un fold sert de données de validation pour tester le modèle, tandis que les k-1 folds restants servent de données d’entraînement.
La métrique de performance finale est généralement calculée en faisant la moyenne des scores — tels que l’exactitude, la précision ou la précision moyenne (mAP) — obtenus à chaque boucle. Cette approche réduit considérablement la variance associée à un seul essai de séparation entraînement-test, fournissant une estimation plus fiable de l’erreur de généralisation. Elle garantit que l’évaluation n’est pas biaisée par une sélection arbitraire des données de test.
Implémentation avec Ultralytics#
La validation croisée est particulièrement utile lorsque tu travailles avec de petits jeux de données ou lorsque tu effectues un réglage rigoureux des hyperparamètres. Si les frameworks modernes d’apprentissage profond, comme PyTorch, facilitent la boucle d’entraînement, la gestion des folds nécessite une préparation minutieuse des données.
L’exemple suivant montre comment parcourir des fichiers de configuration YAML pré-générés pour une expérience de validation croisée à 5 folds utilisant le modèle YOLO26. Il suppose que tu as déjà réparti ton jeu de données dans cinq fichiers de configuration distincts.
from ultralytics import YOLO
# List of dataset configuration files representing 5 folds
fold_yamls = [f"dataset_fold_{i}.yaml" for i in range(5)]
for i, yaml_file in enumerate(fold_yamls):
# Load a fresh YOLO26 Nano model for each fold
model = YOLO("yolo26n.pt")
# Train the model, saving results to a unique project directory
results = model.train(data=yaml_file, epochs=20, project="cv_experiment", name=f"fold_{i}")Pour approfondir l’automatisation de la génération des partitions, consulte le guide sur la validation croisée K-Fold.
Applications concrètes#
La validation croisée est indispensable dans les secteurs où les données sont rares, coûteuses à collecter ou lorsqu’une fiabilité critique pour la sécurité est nécessaire.
- Diagnostic médical : dans l’analyse d’images médicales, les jeux de données associés aux pathologies rares sont souvent de petite taille. Une seule séparation de validation pourrait exclure accidentellement des cas difficiles ou des pathologies rares. En utilisant la validation croisée, les chercheurs qui développent une IA dans le secteur de la santé s’assurent que leurs modèles de diagnostic sont testés sur chaque scan de patient disponible, ce qui permet de vérifier que le système fonctionne avec des profils démographiques et des types d’équipements variés.
- Agriculture de précision : les conditions environnementales varient énormément en extérieur. Un modèle entraîné pour la détection des maladies des cultures peut être performant les jours ensoleillés, mais échouer par temps couvert si ces images figuraient uniquement dans l’ensemble d’entraînement. La validation croisée garantit la robustesse du modèle face à ces variations et aide les agriculteurs à s’appuyer sur des outils d’apprentissage automatique automatisé (AutoML) pour assurer un suivi cohérent quelles que soient les conditions météorologiques.
Avantages stratégiques pour le développement des modèles#
L’intégration de la validation croisée dans le cycle de vie du développement de l’IA fournit des informations essentielles sur le compromis biais-variance.
-
Évaluation de la stabilité : si les métriques de performance varient considérablement d’un fold à l’autre, cela indique que le modèle est très sensible aux points de données spécifiques utilisés pour l’entraînement, ce qui suggère une variance élevée.
-
Efficacité des données : elle maximise l’utilisation de données limitées, puisque chaque observation est finalement utilisée à la fois pour l’entraînement et la validation.
-
Optimisation des hyperparamètres : elle fournit une référence fiable pour sélectionner le meilleur taux d’apprentissage, la meilleure taille de lot ou les meilleures stratégies d’augmentation des données sans « jeter un coup d’œil » à l’ensemble de test final.
Distinguer les concepts associés#
Il est important de distinguer la validation croisée des autres termes d’évaluation :
- par rapport à la validation par séparation : la validation par séparation implique une division unique (par exemple, 80/20). Bien qu’elle soit plus rapide et adaptée aux jeux de données massifs comme ImageNet, elle est statistiquement moins robuste que la validation croisée pour les petits jeux de données.
- par rapport au bootstrap : le bootstrap implique un échantillonnage aléatoire avec remise, tandis que la validation croisée K-Fold partitionne les données sans remise (chaque échantillon se trouve exactement dans un fold).
La gestion des artefacts, des métriques et des modèles issus de plusieurs folds peut être complexe. L’Ultralytics Platform simplifie ce processus en proposant un suivi centralisé des expériences, ce qui permet aux équipes de comparer facilement les performances entre différents folds et de visualiser les informations issues de l’évaluation des modèles.









