Algorithmes et Mises à Jour : Underfitting (Sous-apprentissage) et Problèmes de Performance
Sommaire de l'article
Introduction
L’underfitting, ou sous-apprentissage, est un problème classique en machine learning et dans la conception d’algorithmes d’apprentissage automatique. Il survient lorsqu’un modèle est trop simple pour capturer les tendances, motifs et relations sous-jacentes présentes dans les données d’entraînement. Dans ce cas, le modèle performe mal aussi bien sur les données d’entraînement que sur les données de test, ce qui limite fortement l’efficacité des algorithmes et de leurs mises à jour.
Comprendre le sous-apprentissage est essentiel pour améliorer la précision prédictive, la capacité de généralisation et la fiabilité de vos systèmes basés sur les données. Dans cet article, nous allons détailler le concept d’underfitting, ses causes, ses symptômes, ses conséquences, ainsi que les bonnes pratiques et techniques concrètes pour le détecter, l’éviter et le corriger.
Nous présenterons également des exemples concrets, des recommandations de conception de modèles, ainsi que des outils et ressources pour optimiser vos algorithmes d’apprentissage, qu’il s’agisse de systèmes de recommandation, de moteurs de recherche internes ou de modèles prédictifs en environnement business.
Concepts clés de l’Underfitting (Sous-apprentissage)
Qu’est-ce que l’Underfitting ?
L’underfitting se produit lorsque votre modèle d’apprentissage automatique ne parvient pas à apprendre suffisamment la structure de vos données. Autrement dit, il est incapable de saisir la relation entre les variables d’entrée et la cible. Cela se traduit par :
- des erreurs élevées sur les données d’entraînement ;
- des erreurs également élevées sur les données de validation ou de test ;
- une capacité de généralisation très faible, même sur de nouveaux exemples simples.
Un exemple classique est celui d’un modèle linéaire tentant d’ajuster une relation qui suit une courbe non linéaire. Si vous essayez d’ajuster une simple droite à des points de données qui suivent une
Dans un cadre plus général, on dit qu’un modèle souffre de sous-apprentissage lorsqu’il ne dispose pas d’assez de capacité de représentation (trop peu de paramètres, structure trop simple, contraintes trop fortes) pour modéliser des données pourtant relativement bien structurées.
Underfitting, Biais et Variance
Le concept d’underfitting est intimement lié à la notion de compromis biais–variance en apprentissage automatique.
- Biais : le biais mesure l’écart systématique entre les prédictions moyennes du modèle et les valeurs réelles. Un modèle avec un biais élevé fait des hypothèses très fortes (par exemple, suppose systématiquement une relation linéaire), ce qui l’empêche de s’adapter à la réalité des données.
- Variance : la variance mesure la sensibilité du modèle aux fluctuations des données d’entraînement. Un modèle à faible variance réagit peu aux variations de l’échantillon d’apprentissage et donne des prédictions relativement stables d’un ensemble de données à l’autre.
Un modèle sous-ajusté se caractérise généralement par :
- un biais élevé (il simplifie exagérément le problème, ce qui le conduit à des erreurs systématiques) ;
- une variance faible (les prédictions sont relativement stables, mais globalement mauvaises).
À l’opposé, l’overfitting (sur-apprentissage) correspond à un modèle trop complexe, avec un biais faible mais une variance forte, qui mémorise le bruit de l’échantillon d’entraînement au lieu de capturer la tendance générale.
Symptômes typiques de l’Underfitting
Dans la pratique, l’underfitting se manifeste par plusieurs signaux clairs :
- Mauvaise performance sur le jeu d’entraînement : même sur les données qu’il a déjà vues, le modèle commet beaucoup d’erreurs.
- Mauvaise performance similaire sur le jeu de validation/test : les erreurs sur les données de test ne sont pas beaucoup plus élevées que sur l’entraînement, mais elles restent toutes deux trop importantes.
- Courbes d’apprentissage qui stagnent : en ajoutant plus de données d’entraînement, la performance ne s’améliore quasiment pas, ce qui montre que le modèle est limité par sa structure et non par la quantité de données.
- Prédictions trop simples ou caricaturales : le modèle prédit toujours des valeurs proches d’une moyenne ou ne capture pas les effets de variables importantes, ce qui donne des résultats peu nuancés.
Exemples concrets d’Underfitting
Pour mieux illustrer le problème, prenons quelques cas concrets.
1. Système de recommandation musical
Imaginez un système de recommandation de musique qui ne prend en compte que le genre musical (rock, jazz, classique, etc.) pour proposer des chansons aux utilisateurs. S’il ignore des facteurs essentiels comme :
- la durée du morceau ;
- le tempo (lent, rapide) ;
- l’année de sortie ;
- les artistes favoris de l’utilisateur ;
- le contexte d’écoute (sport, travail, détente) ;
alors le modèle est trop simpliste. Il risque fortement de sous-ajuster et de proposer des recommandations peu pertinentes, car il ne tient pas compte de suffisamment de caractéristiques explicatives.
2. Prédiction de ventes e-commerce
Un modèle de prédiction de ventes qui ne considère que le prix d’un produit, sans intégrer la saisonnalité, les promotions, la concurrence, la notoriété de la marque ou le canal d’acquisition, sera probablement sous-ajusté. Il ne capturera pas la dynamique réelle des ventes et fournira des estimations peu fiables, même sur l’historique des données.
3. Détection de fraude
Dans un système de détection de fraude, un modèle qui ne s’appuierait que sur le montant de la transaction, en ignorant la localisation, l’horaire, l’historique de l’utilisateur ou les habitudes de paiement, ne pourra pas identifier les schémas complexes caractéristiques des fraudes modernes. Il s’agit d’un cas typique d’underfitting : le modèle est trop rudimentaire pour distinguer les comportements légitimes des comportements suspects.
Causes principales de l’Underfitting
Modèle trop simple
La cause la plus courante de sous-apprentissage est un modèle intrinsèquement trop simple pour le problème traité. Quelques exemples :
- utiliser une régression linéaire pour un phénomène fortement non linéaire ;
- choisir un arbre de décision de profondeur très limitée qui ne peut pas segmenter correctement l’espace des données ;
- définir un réseau de neurones avec trop peu de couches ou trop peu de neurones par couche, insuffisants pour modéliser des relations complexes.
Dans ces cas, même avec une grande quantité de données de qualité, le modèle n’a pas la capacité structurelle de représenter correctement les relations entre les variables.
Régularisation trop forte
Les techniques de régularisation (L1, L2, dropout, pénalités de complexité, etc.) sont conçues pour lutter contre l’overfitting. Cependant, lorsqu’elles sont appliquées de manière excessive, elles peuvent contraindre le modèle au point de l’empêcher d’apprendre.
Par exemple :
- un coefficient de régularisation L2 très élevé dans une régression logistique peut pousser la plupart des coefficients vers zéro, rendant le modèle presque incapable d’exploiter les variables explicatives ;
- un taux de dropout trop important dans un réseau de neurones peut supprimer trop d’informations à chaque itération, empêchant le réseau de converger vers une solution riche.
Données d’entraînement insuffisantes ou non représentatives
Un autre facteur clé de sous-apprentissage est la qualité et la quantité des données. Même un modèle bien conçu peut sous-apprendre si les données sont problématiques.
- Volume trop faible : avec trop peu d’exemples, le modèle ne dispose pas de suffisamment de cas pour saisir les structures sous-jacentes.
- Données peu variées : si les données ne couvrent pas la diversité des situations réelles (par exemple, uniquement des cas simples), le modèle ne pourra pas apprendre des schémas plus complexes.
- Données biaisées ou bruitées : des données remplies d’erreurs, d’incohérences ou de valeurs aberrantes peuvent masquer les vrais motifs, ce qui conduit à un apprentissage superficiel.
Temps ou itérations d’entraînement insuffisants
Dans les modèles entraînés par optimisation itérative (réseaux de neurones, gradient boosting, etc.), il arrive que l’entrainement soit arrêté trop tôt. Le modèle n’a alors pas eu le temps de converger vers une solution satisfaisante.
On parle parfois d’early stopping trop agressif : par souci de rapidité ou pour éviter l’overfitting, on interrompt l’apprentissage alors que le modèle est encore loin de son optimum. Il reste alors « bloqué » dans une phase de sous-apprentissage.
Choix inadapté de caractéristiques (features)
Si les caractéristiques d’entrée sélectionnées ne sont pas pertinentes ou sont trop peu nombreuses, le modèle manquera d’informations pour faire des prédictions fines. Cela conduit naturellement à de l’underfitting, même si le modèle pourrait théoriquement être suffisamment complexe.
À l’inverse, une sélection judicieuse de variables explicatives, incluant les dimensions vraiment déterminantes, augmente la capacité du modèle à capturer les relations importantes sans nécessairement accroître de manière démesurée sa complexité.
Comment détecter l’Underfitting ?
Analyse des performances entraînement vs test
La méthode la plus courante pour détecter l’underfitting consiste à comparer les performances sur le jeu d’entraînement et sur le jeu de test (ou de validation) à l’aide de métriques adaptées :
- en classification : taux d’erreur, accuracy, F1-score, etc. ;
- en régression : erreur quadratique moyenne (MSE), RMSE, MAE, etc. ;
- en modèles probabilistes : log-loss, cross-entropy, etc.
Un modèle sous-appris présente typiquement :
- une erreur élevée sur l’entraînement ;
- une erreur du même ordre de grandeur sur le test, sans écart significatif.
Il n’existe pas de seuils chiffrés universels pour qualifier l’underfitting. Tout dépend du domaine, de la tâche et du niveau de performance attendu. On parle d’underfitting lorsque le modèle reste nettement en dessous du niveau de performance raisonnablement atteignable sur le problème donné.
Courbes d’apprentissage (learning curves)
Les courbes d’apprentissage représentent l’évolution de la performance en fonction :
- de la taille du jeu d’entraînement ;
- ou du nombre d’itérations/époques d’apprentissage.
Dans un scénario d’underfitting, on observe souvent :
- des performances faibles et quasi stables sur l’entraînement, même en ajoutant plus de données ;
- des performances similaires sur le test, sans amélioration notable.
Cela indique que le problème ne vient pas d’un manque de données, mais plutôt de la capacité limitée du modèle ou de réglages inadaptés.
Inspection qualitative des prédictions
Au-delà des métriques chiffrées, une analyse qualitative des prédictions peut être révélatrice :
- le modèle prédit des valeurs trop proches d’une moyenne, sans tenir compte des variations contextuelles ;
- les erreurs sont récurrentes sur des cas pourtant fréquents ou faciles à distinguer pour un humain ;
- les frontières de décision (dans des modèles graphiquement interprétables) sont trop simples par rapport à la distribution des données.
Techniques pour éviter ou corriger l’Underfitting
Augmenter la complexité du modèle
Une première stratégie consiste à accroître la capacité du modèle pour mieux représenter la complexité des données.
- Modèles linéaires : ajouter des termes polynomiaux, des interactions entre variables ou passer à des modèles non linéaires (arbres, SVM avec noyau, réseaux de neurones).
- Arbres de décision : augmenter la profondeur maximale, le nombre minimal d’échantillons par feuille ou le nombre d’arbres dans une forêt aléatoire.
- Réseaux de neurones : ajouter des couches, augmenter le nombre de neurones par couche, utiliser des architectures plus riches (CNN, LSTM, Transformers selon les données).
L’objectif est de donner au modèle suffisamment de flexibilité pour capturer les relations essentielles, tout en gardant un contrôle sur le risque de sur-apprentissage.
Adapter le niveau de régularisation
Si l’underfitting est causé par une régularisation trop forte, vous pouvez :
- réduire les coefficients de régularisation L1/L2 ;
- réduire le taux de dropout dans les réseaux de neurones ;
- relâcher certaines contraintes sur la structure (profondeur d’arbres, nombre de paramètres, etc.).
L’idée est de trouver le juste équilibre : une régularisation suffisante pour limiter l’overfitting, mais pas au point de bloquer la capacité d’apprentissage du modèle.
Améliorer la qualité et la pertinence des données
La qualité des données est un levier majeur pour réduire le sous-apprentissage.
- Collecter plus de données pertinentes : augmenter la taille et la diversité du jeu d’entraînement pour couvrir un plus large éventail de situations.
- Nettoyer les données : supprimer ou corriger les valeurs aberrantes, incohérences, doublons et erreurs de saisie.
- Enrichir les features : créer de nouvelles variables explicatives à partir des données existantes (agrégations temporelles, ratios, indicateurs métiers) pour fournir au modèle des signaux plus informatifs.
- Équilibrer les classes : dans les problèmes de classification déséquilibrés, recourir à des techniques comme le sur-échantillonnage de la classe minoritaire, le sous-échantillonnage de la classe majoritaire ou l’utilisation de métriques adaptées.
Allonger la durée ou le nombre d’itérations d’entraînement
Si le modèle est bien conçu mais n’a pas eu le temps d’apprendre suffisamment, il peut être utile de :
- augmenter le nombre d’époques d’entraînement ;
- ajuster le taux d’apprentissage pour favoriser une meilleure convergence ;
- réviser les critères d’early stopping (tolérance, patience, seuils) afin de ne pas interrompre l’apprentissage prématurément.
Utiliser des ensembles de modèles (bagging, boosting)
Les techniques d’ensemble peuvent également aider à limiter l’underfitting, à condition que chaque composant ait une capacité suffisante.
- Bagging (Bootstrap Aggregating) : entraîne plusieurs modèles en parallèle sur des sous-échantillons des données, puis agrège leurs prédictions. Des méthodes comme les forêts aléatoires améliorent la robustesse et la précision.
- Boosting : entraîne des modèles de manière séquentielle, chaque nouveau modèle se concentrant sur les erreurs des précédents. Des algorithmes comme XGBoost, LightGBM ou AdaBoost sont souvent capables de mieux capturer des relations subtiles dans les données.
Bonnes pratiques pour limiter l’Underfitting
Concevoir une structure de modèle adaptée au problème
La structure de votre modèle doit être alignée sur la nature des données et la complexité du problème.
- Pour des données tabulaires avec relations non linéaires : privilégier des modèles comme les arbres de décision, les forêts aléatoires ou le gradient boosting.
- Pour des images : utiliser des réseaux de neurones convolutifs (CNN) capables de capturer les motifs spatiaux.
- Pour des séries temporelles ou du texte : recourir à des modèles séquentiels, comme les LSTM, GRU ou des architectures basées sur l’attention.
Un modèle mal adapté à la modalité de données sous-jacente est exposé à un risque accru de sous-apprentissage.
Mettre en place une validation rigoureuse
Une stratégie de validation croisée fiable permet de détecter rapidement les signaux d’underfitting et d’ajuster les hyperparamètres en conséquence.
- Utiliser la validation croisée k-fold pour obtenir une estimation plus stable de la performance du modèle.
- Surveiller systématiquement les performances entraînement/validation à chaque itération d’optimisation d’hyperparamètres.
- Combiner différentes métriques (accuracy, F1-score, AUC, etc.) afin de ne pas se focaliser sur un indicateur partiel.
Documenter les hypothèses et itérations de modèle
Lors de la conception d’algorithmes et de leurs mises à jour successives, il est utile de :
- documenter les choix de modèles (type d’algorithme, structure, régularisation) ;
- conserver l’historique des versions et performances ;
- analyser les cas où le modèle échoue systématiquement pour identifier des causes potentielles de sous-apprentissage (variables manquantes, structures non capturées, etc.).
Outils et ressources pour analyser l’Underfitting
Outils spécialisés en machine learning
Plusieurs bibliothèques et plateformes permettent de diagnostiquer et corriger l’underfitting de manière efficace :
- Scikit-learn : bibliothèque Python très utilisée pour les modèles classiques (régressions, arbres, SVM, ensembles). Elle propose des fonctions pour tracer des courbes d’apprentissage, effectuer de la validation croisée et optimiser les hyperparamètres.
- TensorFlow et PyTorch : frameworks orientés réseaux de neurones, offrant un contrôle fin sur la structure des modèles et les stratégies de régularisation, ainsi que des outils de suivi de la performance en temps réel.
- Outils de monitoring ML (MLflow, Weights & Biases, etc.) : utiles pour suivre l’évolution des performances d’une version à l’autre et repérer les dérives de sous-apprentissage ou de sur-apprentissage.
Outils d’analyse de performance métier
Dans un contexte applicatif (SEO, recommandation, scoring, etc.), il est aussi pertinent de s’appuyer sur des outils métier pour relier l’underfitting aux indicateurs de performance réels.
- Google Analytics : permet d’observer l’impact des modèles de recommandation ou de personnalisation sur les taux de conversion, le temps passé ou le taux de rebond.
- Outils internes de BI : tableaux de bord métiers qui comparent les prédictions du modèle avec les résultats observés (ventes, clics, engagement, etc.).
Cela aide à mesurer l’effet d’une mise à jour d’algorithme et à détecter les situations où un modèle trop simplifié dégrade la performance globale.
Ressources pour approfondir
Pour aller plus loin dans la compréhension de l’underfitting, du compromis biais–variance et des techniques de modélisation avancées, vous pouvez consulter :
- des cours en ligne de machine learning sur des plateformes reconnues ;
- des ouvrages de référence comme The Elements of Statistical Learning ou des livres consacrés au deep learning ;
- des blogs techniques et retours d’expérience d’ingénieurs data, qui détaillent des cas réels de sous-apprentissage et les solutions adoptées.
FAQ sur l’Underfitting (Sous-apprentissage)
1. Qu’est-ce qui cause l’Underfitting ?
L’underfitting est généralement causé par une combinaison de facteurs :
- un modèle trop simple par rapport à la complexité du problème ;
- une régularisation trop forte qui limite la capacité du modèle ;
- un temps d’entraînement insuffisant, avec arrêt prématuré de l’optimisation ;
- des données insuffisantes, peu variées ou mal préparées ;
- un choix de caractéristiques inadapté, ne mettant pas en avant les variables réellement déterminantes.
2. Comment puis-je détecter un Underfitting ?
Pour détecter un sous-apprentissage, il est recommandé de :
- comparer les performances sur les données d’entraînement et de test : un underfitting se traduit par de mauvaises performances sur les deux ;
- analyser les courbes d’apprentissage pour vérifier si la performance stagne rapidement malgré l’ajout de données ;
- inspecter les prédictions pour repérer des comportements trop simplistes (valeurs moyennes, absence de prise en compte de facteurs clés) ;
- tester des versions plus complexes du modèle et observer si les performances s’améliorent.
3. Quelles sont les techniques pour éviter ou corriger l’Underfitting ?
Pour éviter ou corriger le sous-apprentissage, vous pouvez combiner plusieurs approches :
- augmenter la complexité du modèle (plus de paramètres, modèles non linéaires, architectures plus riches) ;
- réduire légèrement la régularisation pour laisser au modèle davantage de liberté d’apprentissage ;
- améliorer les données : collecte de nouveaux exemples, nettoyage, enrichissement de variables ;
- prolonger l’entraînement ou ajuster les critères d’arrêt précoce ;
- recourir à des méthodes d’ensemble (bagging, boosting) pour renforcer la capacité de modélisation sans perdre en robustesse ;
- mettre en place une validation systématique pour ajuster les hyperparamètres et trouver le juste équilibre entre underfitting et overfitting.
4. Underfitting et mises à jour d’algorithmes : quels risques ?
Lors de la mise à jour d’un algorithme en production, il est possible, en cherchant à simplifier ou à trop régulariser le modèle, de dégrader sa performance par sous-apprentissage. Les principaux risques sont :
- une baisse de la qualité des prédictions (recommandations moins pertinentes, scores moins fiables) ;
- une perte d’engagement utilisateur (dans le cas de systèmes de recommandation ou de personnalisation) ;
- une mauvaise prise de décision dans des contextes critiques (finance, santé, détection de fraude).
C’est pourquoi chaque mise à jour d’algorithme doit être accompagnée de tests contrôlés (A/B testing, analyses comparatives) pour s’assurer que l’on ne tombe ni dans l’overfitting, ni dans l’underfitting, mais que l’on améliore réellement la performance globale.
5. L’Underfitting peut-il être volontaire ?
Dans certains cas très spécifiques, on peut accepter un certain niveau de sous-apprentissage pour privilégier :
- la simplicité du modèle (interprétabilité, facilité de mise en production) ;
- la robustesse face au bruit ou à des données très variables ;
- des contraintes de calcul strictes (environnements embarqués, temps de réponse très court).
Cependant, ce compromis doit être explicitement assumé et évalué. Dans la grande majorité des applications, l’underfitting reste un problème à résoudre plutôt qu’un choix délibéré.
Besoin d'aide avec votre SEO ?
Notre équipe d'experts peut vous aider à optimiser votre site e-commerce