Ensemble d'entraînement, de validation et de test - Méthodes d'entrainement
By Paul Claret
5 minutes read - 09/12/24
Si vous voulez entraîner une intelligence artificielle (IA) ou un modèle de machine learning performant, il est crucial de comprendre la gestion des données. La clé d’un bon modèle repose sur une chose simple : comment on divise les données en ensembles d’entraînement, de validation et de test.
Pourquoi diviser les données ?
Quand on entraîne un modèle, on veut qu’il apprenne à faire des prédictions précises sur des nouvelles données, pas seulement celles qu’il a déjà vues. Si on utilise toutes les données pour l’entraînement, il est possible que le modèle “triche” en mémorisant au lieu de généraliser. C’est pour ça qu’on divise les données en plusieurs parties :
- Ensemble d’entraînement : Pour apprendre.
- Ensemble de validation : Pour vérifier si l’apprentissage se passe bien.
- Ensemble de test : Pour évaluer les performances finales.
Les trois ensembles expliqués
1. Ensemble d’entraînement
L’ensemble d’entraînement est la base de l’apprentissage. C’est sur ces données que le modèle ajuste ses paramètres pour minimiser l’erreur.
- Taille : C’est généralement la plus grande portion des données (environ 60-80 %).
- Rôle : Fournir des exemples pour que le modèle apprenne les relations entre les entrées (features) et les sorties (labels).
2. Ensemble de validation
L’ensemble de validation permet de suivre les performances du modèle pendant son entraînement.
- Taille : Environ 10-20 % des données.
- Rôle : Aider à ajuster les hyperparamètres (par exemple, le taux d’apprentissage, la profondeur des arbres de décision, ou la taille de K dans KNN).
- Important : Les données de validation ne sont jamais utilisées pour mettre à jour les paramètres du modèle, elles servent uniquement à guider les choix pendant l’entraînement.
3. Ensemble de test
L’ensemble de test est utilisé une fois que l’entraînement et la validation sont terminés. Il sert à mesurer les performances finales du modèle sur des données complètement nouvelles.
- Taille : Environ 10-20 % des données.
- Rôle : Évaluer la capacité du modèle à généraliser à de nouvelles données.
- Important : Cet ensemble ne doit jamais intervenir pendant l’entraînement ou le choix des hyperparamètres.
Méthodes de division des ensembles
Il existe plusieurs façons de diviser les données en ensembles d’entraînement, de validation et de test, en fonction des objectifs et de la quantité de données disponibles.
1. Division simple
C’est la méthode la plus basique : on divise les données en trois ensembles distincts.
- Avantage : Simple et rapide.
- Inconvénient : Si les données sont limitées, certains ensembles peuvent être trop petits pour donner des résultats fiables. Il se peut aussi que vos données soient mal proportionées. Si votre dataset d’entrainement contient une majorité d’homme (disons 80%) et très peu de femmes (20%), votre model risque d’être biaisé. Il faut donc en général bien répartir les données pour que les proportions soient respectés. (voir 4. shuffle and split)
2. Validation croisée (Cross-Validation)
La validation croisée est une méthode plus robuste.
Principe :
- Les données sont divisées en plusieurs sous-ensembles (ou “folds”).
- À chaque itération, un fold est utilisé comme ensemble de validation, et les autres comme ensemble d’entraînement.
- À la fin, les résultats sont moyennés pour donner une évaluation plus fiable.
Exemple : Une validation croisée à 5 folds.
- Le modèle est entraîné 5 fois, chaque fois avec un fold différent comme ensemble de validation.
- Cela permet d’utiliser efficacement toutes les données.
- Avantage : Réduit le risque de surapprentissage sur un ensemble de validation unique.
- Inconvénient : Plus coûteux en termes de calcul, car le modèle est entraîné plusieurs fois.
3. Méthode du train-test split avec “hold-out”
Une variante consiste à conserver un ensemble de test complètement séparé dès le début, sans l’utiliser avant la phase finale. Cela garantit une évaluation impartiale.
4. Shuffle and Split
Cette méthode mélange (shuffle) les données avant de les diviser, ce qui permet de garantir que les ensembles sont bien représentatifs de la population totale.
Bonnes pratiques
1. Éviter la contamination entre ensembles
Il est crucial que les données d’un ensemble ne se retrouvent pas accidentellement dans un autre. Cela pourrait fausser les résultats et donner une fausse impression des performances du modèle.
Exemple :
- Si une image apparaît dans l’ensemble d’entraînement et dans l’ensemble de test, le modèle peut sembler performant uniquement parce qu’il a déjà vu cette image.
2. Équilibrer les données
Si vous travaillez sur des données déséquilibrées (par exemple, 90 % de chats et 10 % de chiens), assurez-vous que chaque ensemble contient une proportion similaire de classes.
3. Tester avec des données réelles
Quand c’est possible, testez votre modèle avec des données réellement nouvelles, collectées après l’entraînement. Cela donne une meilleure idée de sa performance dans des situations réelles.
Conclusion
Diviser ses données en ensembles d’entraînement, de validation et de test est une étape indispensable pour créer un modèle fiable et performant. En suivant des méthodes rigoureuses et en respectant les bonnes pratiques, vous maximisez les chances d’avoir un modèle qui généralise bien sur des données qu’il n’a jamais vues.
L’IA n’est pas magique : elle dépend de la qualité des données et de la manière dont elles sont utilisées. Une bonne gestion des ensembles est donc la base pour tout projet réussi.
Vous voulez apprendre l'IA en autonomie ?
Si vous êtes nouveau sur mon site, je vous invite à aller voir ma page sur Roadmap IA qui regroupe tous mes articles dans l'ordre pour vous facilitez l'apprentissage.