Cross-Validation
Apprends comment la validation croisée améliore la généralisation du modèle et prévient le surapprentissage. Découvre comment implémenter l'évaluation K-Fold avec Ultralytics YOLO26 pour un ML robuste.
La validation croisée est une procédure statistique robuste de rééchantillonnage utilisée pour évaluer les performances de modèles de machine learning (ML) sur un échantillon de données limité. Contrairement à une méthode de maintien (hold-out) standard, qui divise les données en un seul ensemble d'entraînement et de test, la validation croisée implique de partitionner le jeu de données en plusieurs sous-ensembles pour garantir que chaque point de donnée est utilisé à la fois pour l'entraînement et la validation. Cette technique est cruciale pour évaluer comment les résultats d'une analyse statistique se généraliseront à un jeu de données indépendant, aidant à détecter le surapprentissage (overfitting) où un modèle pourrait mémoriser des exemples d'entraînement au lieu d'apprendre des modèles généralisables.
Link to this sectionLe mécanisme de la validation croisée K-Fold#
La variante la plus largement utilisée de cette technique est la Validation croisée K-Fold. Dans ce processus, l'ensemble du jeu de données est divisé de manière aléatoire en k groupes de taille égale, ou « plis ». Le processus d'entraînement est ensuite répété k fois. À chaque itération, un seul pli sert de données de validation pour tester le modèle, tandis que les k-1 plis 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 (accuracy), la précision ou la Mean Average Precision (mAP) — obtenus à partir de chaque boucle. Cette approche réduit considérablement la variance associée à un essai unique de division train-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.
Link to this sectionImplémentation avec Ultralytics#
La validation croisée est particulièrement utile lorsque tu travailles avec des jeux de données plus petits ou lors de l'exécution d'un réglage des hyperparamètres (hyperparameter tuning) rigoureux. Bien que les frameworks de deep learning modernes comme PyTorch facilitent la boucle d'entraînement, la gestion des plis nécessite une préparation minutieuse des données.
The following example demonstrates how to iterate through pre-generated YAML configuration files for a 5-fold cross-validation experiment using the YOLO26 model. This assumes you have already split your dataset into five separate configuration files.
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 une plongée plus approfondie dans l'automatisation de la génération de divisions, consulte le guide sur la Validation croisée K-Fold.
Link to this sectionApplications concrètes#
La validation croisée est indispensable dans les secteurs où les données sont rares, coûteuses à collecter, ou là où une fiabilité critique pour la sécurité est requise.
- Diagnostics médicaux : Dans l'analyse d'images médicales, les jeux de données pour les pathologies rares sont souvent petits. Une seule division de validation pourrait exclure accidentellement des cas difficiles ou des pathologies rares. En utilisant la validation croisée, les chercheurs développant de l'IA dans la santé garantissent que leurs modèles de diagnostic sont testés contre chaque scan de patient disponible, validant que le système fonctionne à travers diverses démographies et types d'équipement.
- Agriculture de précision : Les conditions environnementales varient énormément dans les contextes extérieurs. Un modèle entraîné pour la détection des maladies des cultures peut être performant par temps ensoleillé mais échouer sous un ciel couvert si ces images ne figuraient que dans l'ensemble d'entraînement. La validation croisée garantit que le modèle est robuste face à de telles variations, aidant les agriculteurs à compter sur des outils d'apprentissage automatique automatisé (AutoML) pour une surveillance cohérente, indépendamment des conditions météorologiques.
Link to this sectionAvantages stratégiques dans le développement de modèles#
Intégrer la validation croisée dans le cycle de développement de l'IA fournit des informations cruciales sur le compromis biais-variance.
-
Évaluation de la stabilité : Si les métriques de performance varient considérablement entre les plis, 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'utilité de données limitées, car 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 digne de confiance pour sélectionner le meilleur taux d'apprentissage (learning rate), taille de lot (batch size), ou stratégies d'augmentation de données sans « jeter un œil » à l'ensemble de test final.
Link to this sectionDifférencier les concepts associés#
Il est important de distinguer la validation croisée d'autres termes d'évaluation :
- vs. Hold-out Validation: Hold-out involves a single split (e.g., 80/20). While faster and suitable for massive datasets like ImageNet, it is less statistically robust than cross-validation for smaller datasets.
- vs. Bootstrapping : Le bootstrapping implique un échantillonnage aléatoire avec remplacement, alors que la validation croisée K-Fold partitionne les données sans remplacement (chaque échantillon se trouve dans exactement un pli).
La gestion des artefacts, des métriques et des modèles issus de multiples plis peut être complexe. La plateforme Ultralytics simplifie cela en offrant un suivi centralisé des expériences, permettant aux équipes de comparer les performances entre différents plis et de visualiser les aperçus de l'évaluation de modèle sans effort.






