Une fonction de perte dit au modèle à quel point il se trompe. Sans elle, il apprend à l’aveugle. Je vous montre l’idée simple, les cas MSE, MAE, entropie croisée, et surtout comment choisir sans se perdre dans les formules.
C’est quoi une fonction de perte ?
Une fonction de perte est un score d’erreur qui compare la prédiction du modèle à la vraie réponse. C’est aussi simple que ça au départ. Le modèle propose une réponse, on regarde la réponse attendue, puis on calcule l’écart entre les deux.
J’aime bien l’image du jeu de fléchettes. La cible, c’est la vérité terrain, donc la bonne réponse connue. Le lancer, c’est la prédiction du modèle. La perte mesure la distance entre l’endroit où la fléchette arrive et le centre de la cible. Si le lancer est proche, la perte est faible. Si le lancer part complètement à côté, la perte est élevée.
Le point important, c’est que le modèle ne sait pas spontanément qu’il se trompe. Il n’a pas de bon sens, pas d’intuition, pas de petite voix qui lui dit “là tu abuses”. Il reçoit juste un signal numérique. Plus ce nombre est haut, plus l’erreur est forte. Plus ce nombre baisse pendant l’entraînement, plus on peut dire que le modèle va dans la bonne direction.
Dans l’apprentissage, le cycle ressemble à ça. Le modèle fait une prédiction. La fonction de perte mesure l’erreur. Puis l’optimiseur ajuste les paramètres du modèle pour essayer de réduire cette erreur au prochain passage. Un optimiseur, c’est juste la méthode qui décide comment modifier les réglages internes du modèle. Des méthodes comme la descente de gradient utilisent ce signal pour savoir dans quelle direction bouger les poids du modèle. Les poids, ce sont les valeurs internes qui influencent les prédictions.
J’ai souvent vu des équipes regarder seulement le score final d’un modèle, alors que la courbe de perte raconte beaucoup mieux si le modèle apprend vraiment ou s’il part dans le décor. Une perte qui descend proprement, c’est souvent bon signe. Une perte qui explose ou qui stagne, c’est un signal à prendre au sérieux.
| Prédiction | Ce que le modèle propose comme réponse. |
| Vérité terrain | La bonne réponse connue, celle qu’on utilise comme référence. |
| Perte | Le score qui mesure l’écart entre la prédiction et la vérité terrain. |
Quand utiliser la MSE ?
La MSE s’utilise surtout en régression quand je veux pénaliser fortement les grosses erreurs. MSE signifie Mean Squared Error, ou erreur quadratique moyenne. Le principe est simple : je prends la différence entre la prédiction et la vraie valeur, je mets cette différence au carré, puis je fais la moyenne de toutes ces erreurs.
L’intuition est plus importante que la formule au début. Le carré fait deux choses très utiles. Il rend toutes les erreurs positives, donc une erreur de -10 et une erreur de +10 ne s’annulent pas. Et surtout, il grossit beaucoup les erreurs importantes. Une erreur de 2 devient 4. Une erreur de 10 devient 100. Ça change complètement le signal envoyé au modèle.
C’est pour ça que j’utilise souvent la MSE quand une grosse erreur coûte vraiment cher. Par exemple, si je prévois un stock et que je me trompe de 5 unités, ce n’est peut-être pas dramatique. Si je me trompe de 500 unités, là le business le sent passer. Même chose pour une prévision de chiffre d’affaires, de consommation électrique, de trafic, ou de délai de livraison.
Voici un calcul très simple en Python, sans bibliothèque :
y_true = [100, 200, 300]
y_pred = [110, 190, 330]
mse = sum((yt - yp) ** 2 for yt, yp in zip(y_true, y_pred)) / len(y_true)
print(mse)
Ici, les erreurs sont -10, 10 et -30. Une fois au carré, ça donne 100, 100 et 900. La dernière erreur pèse donc beaucoup plus dans le résultat final. C’est exactement le comportement recherché avec la MSE.
La limite, c’est que la MSE est très sensible aux outliers, c’est-à-dire aux valeurs aberrantes. Une seule valeur très bizarre peut dominer toute la perte et pousser le modèle à trop s’adapter à ce cas. Ce n’est pas mauvais en soi. C’est un choix. Si les grosses erreurs doivent vraiment faire mal, la MSE est cohérente. Si vos données sont bruitées, elle peut être trop nerveuse.
| Meilleur usage | Régression avec forte pénalité sur les grosses erreurs |
| Avantage | Force le modèle à corriger en priorité les écarts importants |
| Limite | Sensible aux valeurs aberrantes et aux données très bruitées |
| Exemple de cas | Prévision de stock, chiffre d’affaires, demande, consommation |
Quand préférer la MAE ?
Je préfère souvent la MAE quand je veux mesurer une erreur moyenne de façon lisible, sans me faire piéger par quelques valeurs aberrantes. MAE veut dire Mean Absolute Error, ou erreur absolue moyenne. Le principe est simple : je prends l’écart entre la vraie valeur et la valeur prédite, je garde sa valeur absolue, puis je fais la moyenne.
Avec la MAE, une erreur reste une erreur à taille réelle. Une erreur de 10 coûte 10. Une erreur de 20 coûte 20. Elle pénalise donc les erreurs de manière linéaire. Elle ne transforme pas une grosse erreur en punition énorme comme peut le faire la MSE, qui met les écarts au carré.
| Erreur | Coût avec MAE |
| 10 | 10 |
| 20 | 20 |
| 100 | 100 |
C’est très utile côté business. Si je prédis un chiffre d’affaires, un délai de livraison, des ventes ou une distance, la MAE me dit directement de combien je me trompe en moyenne. En euros. En minutes. En unités vendues. En kilomètres. C’est souvent beaucoup plus simple à expliquer à une direction ou à une équipe métier. J’ai déjà vu des modèles très bons “sur le papier” avec une MSE correcte, mais impossibles à défendre en réunion parce que personne ne comprenait ce que représentait vraiment l’erreur.
Voici le calcul en Python, sans bibliothèque :
y_true = [100, 200, 300]
y_pred = [110, 190, 330]
mae = sum(abs(yt - yp) for yt, yp in zip(y_true, y_pred)) / len(y_true)
print(mae) # 16.666...
Il faut quand même nuancer. La MAE est moins sensible aux outliers, oui, mais elle peut être un peu moins confortable pour certains algorithmes d’optimisation, parce qu’elle n’est pas parfaitement lisse au point zéro. Dit simplement, le modèle peut avoir un signal un peu moins “propre” pour ajuster ses paramètres. Dans la pratique, les frameworks modernes savent gérer ça. Le vrai choix entre MSE et MAE reste autant une décision métier qu’une décision technique.
Jusqu’ici, on parle de prédire des valeurs continues. Un prix, une durée, une quantité. Mais quand on prédit une classe, par exemple spam ou pas spam, malade ou non malade, client à risque ou non, la logique change complètement.
Pourquoi utiliser l’entropie croisée ?
L’entropie croisée sert surtout en classification parce qu’elle tient compte de deux choses à la fois : la probabilité donnée à la bonne réponse, et la confiance du modèle. En classification, un modèle ne dit pas juste “spam” ou “non spam”. Il sort souvent quelque chose comme : 0,90 pour spam, 0,10 pour non spam.
Et c’est là que ça devient intéressant. Une bonne prédiction très confiante donne une faible perte. Une bonne prédiction hésitante donne une perte moyenne. Une mauvaise prédiction très confiante donne une perte forte. Très forte même.
Par exemple, si la vraie classe est “chat” :
- Un modèle qui donne 0,95 à “chat” a une petite perte.
- Un modèle qui donne 0,55 à “chat” a une perte plus élevée, même s’il finit par choisir “chat”.
- Un modèle qui donne 0,01 à “chat” prend une grosse pénalité, parce qu’il était quasiment sûr que ce n’était pas un chat.
C’est le point central. Deux modèles peuvent avoir la même accuracy, c’est-à-dire le même pourcentage de bonnes réponses, mais ne pas avoir la même qualité de probabilité. J’ai déjà vu ça chez un client sur un modèle de détection de churn. Deux modèles semblaient équivalents sur le score global. Sauf qu’un des deux était beaucoup trop sûr de lui quand il se trompait. En prod, c’est dangereux, parce que les équipes finissent par faire confiance à des prédictions mal calibrées.
L’entropie croisée récompense les modèles qui mettent beaucoup de probabilité sur la bonne classe. Et elle punit fortement ceux qui partent avec confiance dans la mauvaise direction. C’est pour ça qu’elle est partout avec les réseaux de neurones en classification binaire ou multi-classes. Dans les bibliothèques de machine learning, vous verrez souvent binary cross-entropy pour deux classes, et categorical cross-entropy pour plusieurs classes.
Quand je regarde un modèle de classification, je ne veux pas juste savoir s’il a coché la bonne case. Je veux savoir s’il était sûr de lui, et s’il avait raison d’être sûr.
| Fonction de perte | Type de problème | Ce que la perte punit | Quand l’utiliser |
| MSE | Régression | Les grosses erreurs, très fortement | Quand les grandes erreurs doivent coûter cher |
| MAE | Régression | Les erreurs de manière plus régulière | Quand on veut être moins sensible aux valeurs extrêmes |
| Entropie croisée | Classification | Les mauvaises probabilités, surtout les erreurs confiantes | Quand le modèle prédit des classes avec des probabilités |
Perte ou accuracy que regarder ?
Je regarde les deux, mais pas pour la même raison. L’accuracy me dit combien de prédictions sont correctes. La perte, ou loss, me dit à quel point le modèle se trompe, et surtout avec quelle confiance il se trompe.
L’accuracy est plus simple à lire. C’est le fameux “90 % de bonnes réponses”. Tout le monde comprend ça vite. Mais elle est souvent moins fine, parce qu’elle ne voit que le résultat final, pas le niveau de certitude derrière.
Prenons deux modèles qui ont 90 % d’accuracy. Le premier se trompe avec prudence. Il dit “chat” au lieu de “chien”, mais avec 52 % de confiance. Le second fait la même erreur, mais avec 99,9 % de confiance. Sur le papier, leur accuracy est identique. En pratique, le second est beaucoup plus inquiétant. Sa perte sera plus élevée, parce qu’il se trompe fort, sans hésiter. C’est exactement ce que la perte révèle et que l’accuracy cache.
La perte est aussi continue. Elle bouge même quand la prédiction finale ne change pas. Si le modèle passe de 51 % à 80 % de confiance sur la bonne classe, l’accuracy peut rester la même, parce que la réponse était déjà correcte. Mais la perte s’améliore, elle voit que le modèle devient plus sûr de la bonne réponse. C’est pour ça que je la trouve beaucoup plus utile pendant l’entraînement.
J’ai déjà vu ça chez un client sur un modèle de classification d’emails. L’accuracy avait l’air propre, presque rassurante. Mais la loss racontait autre chose. Le modèle devenait trop confiant sur certains mauvais cas, et c’est là qu’on a compris qu’il fallait creuser.
L’accuracy reste utile, surtout pour expliquer rapidement un résultat à des non-techniciens ou comparer deux modèles quand les classes sont équilibrées. Mais dès que les classes sont déséquilibrées, elle peut devenir trompeuse. Si 95 % des emails ne sont pas du spam, un modèle qui prédit toujours “non spam” affiche 95 % d’accuracy. Pourtant, il rate complètement le vrai problème.
Ma règle simple : pendant l’entraînement, je suis la loss. Pour juger l’impact final, je regarde aussi des métriques adaptées au contexte : accuracy, précision, rappel ou F1. Le bon indicateur dépend toujours du problème métier.
Alors, vous regardez quel signal maintenant ?
Une fonction de perte, c’est le retour terrain du modèle. Elle lui dit s’il progresse ou s’il raconte n’importe quoi. La MSE tape fort sur les grosses erreurs, la MAE reste plus robuste et plus lisible, l’entropie croisée juge mieux les probabilités en classification. L’accuracy, elle, donne une vue simple, mais parfois trop plate. Mon conseil est simple : choisissez la perte selon le coût réel de l’erreur, pas juste parce que c’est l’option par défaut dans un framework. Vous gagnez un modèle plus compréhensible, mieux entraîné, et plus utile pour vos décisions business.
FAQ
- Quelle est la définition simple d’une fonction de perte ?
Une fonction de perte mesure l’écart entre la prédiction d’un modèle et la vraie réponse. Elle retourne un nombre. Plus ce nombre est élevé, plus le modèle s’est trompé. Pendant l’entraînement, le modèle essaie de réduire ce nombre. - Quelle différence entre MSE et MAE ?
La MSE met les erreurs au carré, donc elle pénalise beaucoup les grosses erreurs. La MAE prend la valeur absolue des erreurs, donc elle reste plus linéaire et plus robuste face aux valeurs aberrantes. Je choisis la MSE si les grosses erreurs coûtent très cher, et la MAE si je veux une erreur moyenne facile à lire. - Pourquoi l’entropie croisée est utilisée en classification ?
Parce qu’elle tient compte des probabilités prédites par le modèle. Une bonne réponse très confiante donne une faible perte. Une mauvaise réponse très confiante donne une forte perte. C’est exactement ce qu’on veut quand un modèle doit classer des emails, des images ou des clients dans différentes catégories. - La loss est-elle plus importante que l’accuracy ?
Pendant l’entraînement, la loss est souvent plus informative, car elle évolue même quand l’accuracy ne bouge pas. L’accuracy reste utile pour comprendre rapidement le pourcentage de bonnes prédictions, mais elle peut masquer la confiance du modèle ou poser problème avec des classes déséquilibrées. - Comment choisir la bonne fonction de perte ?
Je pars du problème. Pour une valeur numérique à prédire, je regarde MSE ou MAE selon la sensibilité aux grosses erreurs. Pour une classification avec probabilités, je regarde l’entropie croisée. Le bon choix dépend surtout de ce que coûte une erreur dans votre contexte business.
A propos de l’auteur
Je suis Franck Scandolera, responsable de l’agence webAnalyste et de l’organisme Formations Analytics. J’accompagne des équipes sur le tracking avancé server-side, l’Analytics Engineering, l’automatisation No/Low Code avec n8n, l’intégration de l’IA en entreprise et le SEO/GEO. J’ai travaillé avec des clients comme Logis Hôtel, Yelloh Village, BazarChic, la Fédération Française de Football ou Texdecor. Si vous voulez rendre vos données, vos modèles IA ou vos automatisations vraiment exploitables, contactez-moi.
⭐ Analytics engineer, Data Analyst et Automatisation IA indépendant ⭐
- Ref clients : Logis Hôtel, Yelloh Village, BazarChic, Fédération Football Français, Texdecor…
Mon terrain de jeu :
- Data Analyst & Analytics engineering : tracking avancé (GTM server, e-commerce, CAPI, RGPD), entrepôt de données (BigQuery, Snowflake, PostgreSQL, ClickHouse), modèles (Airflow, dbt, Dataform), dashboards décisionnels (Looker, Power BI, Metabase, SQL, Python).
- Automatisation IA des taches Data, Marketing, RH, compta etc : conception de workflows intelligents robustes (n8n, App Script, scraping) connectés aux API de vos outils et LLM (OpenAI, Mistral, Claude…).
- Engineering IA pour créer des applications et agent IA sur mesure : intégration de LLM (OpenAI, Mistral…), RAG, assistants métier, génération de documents complexes, APIs, backends Node.js/Python.






