Home » AI » À quoi sert une fonction de perte en machine learning ?

À quoi sert une fonction de perte en machine learning ?

Une fonction de perte sert à dire au modèle à quel point il se trompe. Sans ce signal, il ne sait pas quoi corriger. Je vais vous montrer l’idée simple derrière la loss, les cas MSE, MAE, cross-entropy, et pourquoi ce n’est pas pareil qu’une métrique.

C’est quoi une fonction de perte ?

Une fonction de perte, ou “loss function” en anglais, c’est simplement le thermomètre de l’erreur du modèle.

Elle mesure l’écart entre ce que le modèle prédit et ce qui est vrai. Si le modèle annonce qu’un appartement vaut 420 000 € alors que le prix réel est 400 000 €, la fonction de perte transforme cet écart en un nombre. Ce nombre devient un signal pendant l’entraînement. Plus il est bas, plus le modèle est proche de la bonne réponse. Plus il est haut, plus le modèle doit se corriger.

Je prends souvent l’image du lancer de fléchettes. La cible, c’est la vérité. Le tir, c’est la prédiction du modèle. Si la fléchette tombe au centre, l’erreur est faible. Si elle part complètement à côté, l’erreur est forte. La fonction de perte donne un score à chaque tir, selon sa distance à la cible.

Le point important, c’est que le modèle ne “comprend” rien comme nous. Il n’a pas de bon sens. Il ne se dit pas “Ah oui, là je me suis trompé parce que j’ai sous-estimé la surface du logement”. Il reçoit juste un nombre. Ce nombre lui indique que ses paramètres internes doivent bouger un peu, dans une direction qui réduit l’erreur au prochain essai.

Quand j’accompagne des clients, je vois souvent une confusion à cet endroit. Beaucoup imaginent qu’un modèle qui sort une prédiction est déjà un modèle qui apprend. Pas forcément. Prédire, c’est donner une réponse. Apprendre, c’est comparer cette réponse à la réalité, mesurer l’erreur, puis ajuster le modèle pour faire mieux ensuite. La fonction de perte est exactement ce mécanisme de feedback.

On peut résumer comme ça :

  • Perte faible : Le modèle prédit quelque chose de proche de la réalité.
  • Perte élevée : Le modèle est loin de la réalité et doit corriger ses paramètres.
  • Entraînement : Le modèle cherche à réduire cette perte, encore et encore.

Après, toutes les erreurs ne se mesurent pas de la même manière. Prédire un prix, classer un email en spam, détecter une fraude ou reconnaître une image, ce ne sont pas les mêmes problèmes. C’est pour ça qu’il existe plusieurs fonctions de perte, chacune adaptée à un type de tâche.

Quand utiliser la MSE ?

J’utilise la MSE quand je travaille sur un problème de régression et que les grosses erreurs doivent vraiment faire mal au modèle. MSE veut dire Mean Squared Error, en français erreur quadratique moyenne. Le principe est simple : on prend l’écart entre la prédiction et la vraie valeur, on met cet écart au carré, puis on fait la moyenne de tous ces écarts.

Formule : MSE = (1 / n) × Somme((valeur réelle − valeur prédite)²). Ici, n représente le nombre d’observations.

Un exemple très simple. J’ai un modèle qui prédit le prix d’un bien à 200 000 €, alors que le vrai prix est 210 000 €. L’erreur est de 10 000 €. Avec la MSE, on met cette erreur au carré, donc 10 000² = 100 000 000. Ça peut sembler énorme, mais c’est justement l’idée : plus l’erreur est grosse, plus elle pèse lourd dans l’apprentissage.

Le carré joue deux rôles importants. Il rend toutes les erreurs positives, parce qu’une erreur de −10 et une erreur de +10 doivent toutes les deux compter. Et surtout, il amplifie les grosses erreurs. Une erreur deux fois plus grande ne compte pas deux fois plus, elle compte beaucoup plus.

C’est utile quand une grosse erreur coûte cher au business. Par exemple, si je prédis une demande beaucoup trop basse, l’entreprise peut manquer de stock. Si je sous-estime fortement une consommation d’énergie, le pilotage opérationnel peut partir dans le mur. Si je minimise un risque financier, les conséquences peuvent être lourdes. Dans ces cas-là, je veux que le modèle apprenne vite à éviter les gros écarts.

La limite, c’est que la MSE peut devenir trop sensible aux valeurs aberrantes. Si quelques données sont extrêmes, fausses ou très rares, le modèle peut se mettre à trop réagir à ces cas-là. Je l’ai vu chez un client avec des montants de ventes exceptionnels liés à trois très gros contrats. Le modèle finissait par surestimer presque tout le reste.

Intuition Je mesure l’écart, je le mets au carré, puis je fais la moyenne.
Usage typique Régression avec prix, demande, consommation, chiffre d’affaires ou température.
Avantage Les grosses erreurs sont fortement pénalisées.
Limite Les valeurs aberrantes peuvent trop influencer le modèle.

Quand préférer la MAE ?

La MAE, pour Mean Absolute Error, je la préfère quand je veux savoir de combien je me trompe en moyenne, sans laisser une valeur aberrante prendre toute la place.

Elle calcule la moyenne des erreurs absolues. Dit simplement, je regarde l’écart entre la prédiction et la vraie valeur, j’enlève le signe négatif s’il y en a un, puis je fais la moyenne.

MAE = (1 / n) × Σ |y_i – ŷ_i|

  • n représente le nombre total de prédictions.
  • y_i représente la vraie valeur observée.
  • ŷ_i représente la valeur prédite par le modèle.
  • |y_i – ŷ_i| représente l’erreur absolue, donc l’écart sans tenir compte du signe.

La grosse différence avec la MSE, c’est qu’ici je ne mets pas l’erreur au carré. Une grosse erreur reste une grosse erreur, oui, mais elle ne vient pas écraser toutes les autres. Et dans la vraie vie, c’est souvent ça qui change tout.

Imaginez un modèle qui prédit des délais de livraison en jours.

Livraison Réel Prédit Erreur absolue
Commande 1 3 4 1
Commande 2 5 4 1
Commande 3 2 3 1
Commande 4 30 5 25

Avec la MAE, l’erreur moyenne vaut (1 + 1 + 1 + 25) / 4 = 7 jours. La commande 4 pèse dans le calcul, évidemment. Mais elle ne détruit pas complètement le signal des autres commandes.

Avec la MSE, l’erreur de 25 devient 625, parce qu’on la met au carré. Là, le modèle va surtout apprendre à éviter ce genre de cas extrême, quitte à moins bien prédire les cas normaux. Parfois c’est ce qu’on veut. Souvent, non.

J’ai vu ça chez un client qui prédisait des volumes de commandes. Quelques pics liés à des opérations commerciales faussaient tout. Avec la MSE, le modèle courait après les pics. Avec la MAE, il redevenait plus stable sur le quotidien.

La MAE est donc souvent plus robuste quand les données sont bruitées, incomplètes, ou quand les outliers ne doivent pas faire dévier tout le modèle. La MSE et la MAE servent surtout à prédire des nombres. Quand je veux choisir une classe, par exemple spam ou non spam, il faut une autre logique.

Pourquoi utiliser la cross entropy ?

La cross-entropy, je l’utilise surtout quand un modèle doit choisir une classe. Pas juste dire “spam” ou “non spam”, mais donner une probabilité derrière sa décision. Et c’est là que ça devient intéressant, parce qu’un modèle peut avoir raison en étant très sûr, avoir raison en hésitant, ou se tromper avec une confiance énorme.

Prenons un email à classer. Le modèle reçoit un message et sort deux scores : 95% spam, 5% non spam. Si le vrai label est “spam”, très bien. La perte est faible, parce que le modèle a choisi la bonne réponse avec une forte confiance. Si le modèle sort 55% spam et que c’est bien un spam, il a raison, mais il hésite. La perte sera plus élevée, parce qu’il n’a pas vraiment appris un signal clair.

Le vrai problème, c’est quand le modèle annonce 99% non spam alors que l’email est un spam. Là, la cross-entropy tape fort. Et c’est normal. Une erreur confiante est plus grave qu’une erreur hésitante, parce qu’elle dit en gros : “Je suis sûr de moi, mais je pars complètement dans la mauvaise direction”. En pratique, c’est souvent ce qu’on veut corriger en priorité pendant l’entraînement.

Cas Exemple Niveau de perte
Bonne prédiction confiante Le modèle prédit 95% spam, et l’email est bien un spam Faible
Bonne prédiction incertaine Le modèle prédit 55% spam, et l’email est bien un spam Moyenne
Mauvaise prédiction confiante Le modèle prédit 99% non spam, alors que l’email est un spam Très élevée

La cross-entropy est très courante pour les problèmes de classification binaire, comme spam ou non spam, et pour la classification multiclasse, comme reconnaître si une image contient un chat, un chien ou une voiture. Elle pousse le modèle à mettre beaucoup de probabilité sur la bonne classe, pas juste à tomber juste par chance. C’est pour ça qu’elle marche bien dans beaucoup de cas réels.

Loss et accuracy c’est pareil ?

La loss et l’accuracy parlent toutes les deux de performance, mais elles ne racontent pas la même histoire. C’est un point important, parce que j’ai souvent vu des projets où tout le monde regardait l’accuracy, alors que le modèle était en train d’apprendre de travers.

La loss, ou fonction de perte, est le signal que l’algorithme utilise pendant l’entraînement. Elle mesure à quel point le modèle se trompe, mais avec de la nuance. Elle est souvent continue et différentiable, ce qui veut dire qu’on peut calculer dans quelle direction ajuster les paramètres du modèle pour réduire l’erreur. C’est ça qui permet au modèle d’apprendre, petit à petit.

L’accuracy, elle, est plus simple à lire pour nous. Elle dit juste : Sur 100 prédictions, combien sont correctes ? Si le modèle classe correctement 80 exemples sur 100, son accuracy est de 80 %. C’est clair, c’est pratique, ça parle bien en réunion. Mais ce n’est pas toujours suffisant pour piloter l’apprentissage.

Pourquoi ? Parce que deux modèles peuvent avoir la même accuracy, mais pas du tout la même loss. Imaginez 10 cas à classer. Deux modèles en classent correctement 8 sur 10. Même accuracy : 80 %. Sauf que le premier hésite partout. Il prédit les bonnes réponses avec 52 % de confiance, et les mauvaises avec 48 %. Il est mou, incertain, pas très exploitable. Le deuxième prédit ses 8 bonnes réponses avec 95 % de confiance, et sur ses 2 erreurs il reste moins sûr, par exemple 55 %. Même score visible, mais comportement très différent.

Dans un projet concret, je regarde les deux. La loss me dit si l’entraînement progresse vraiment, si le modèle affine ses probabilités, s’il devient plus cohérent. Les métriques comme l’accuracy me servent à parler performance avec des personnes qui n’ont pas envie de rentrer dans les détails mathématiques. Et franchement, c’est normal.

Mesure Rôle Avantage Limite
Loss Guide l’apprentissage pendant l’entraînement Donne un signal fin, continu, souvent différentiable Moins intuitive à lire pour un humain
Accuracy Mesure la part de prédictions correctes Simple à comprendre et à communiquer Ignore le niveau de confiance du modèle

Alors, quelle loss choisir pour entraîner votre modèle ?

Une fonction de perte, c’est le retour d’erreur qui permet au modèle d’apprendre. Pour une prédiction numérique, je regarde souvent MSE si les grosses erreurs doivent coûter cher, MAE si les données sont plus bruitées ou pleines d’exceptions. Pour une classification, la cross-entropy est logique parce qu’elle juge aussi la confiance du modèle. Et je ne mélange pas tout : la loss sert à optimiser, l’accuracy sert plutôt à lire la performance. Le bon choix dépend du problème, des données et du coût réel des erreurs. Le bénéfice pour vous, c’est un modèle mieux entraîné, plus stable, et plus utile pour votre business.

FAQ

  • Qu’est-ce qu’une fonction de perte en machine learning ?
    Une fonction de perte est un calcul qui mesure l’écart entre la prédiction d’un modèle et la vraie valeur attendue. Elle donne au modèle un signal d’erreur pendant l’entraînement, pour l’aider à ajuster ses paramètres et produire de meilleures prédictions.
  • Quelle est la différence entre MSE et MAE ?
    La MSE met les erreurs au carré, donc elle pénalise beaucoup plus les grosses erreurs. La MAE prend simplement la valeur absolue des erreurs, donc elle est moins sensible aux valeurs aberrantes. En pratique, j’utilise plutôt MSE quand les grosses erreurs sont très coûteuses, et MAE quand les données sont bruitées.
  • Pourquoi la cross-entropy est utilisée en classification ?
    La cross-entropy est adaptée à la classification parce qu’elle ne regarde pas seulement si la classe prédite est bonne. Elle regarde aussi la confiance du modèle. Une bonne prédiction très confiante donne une faible perte. Une mauvaise prédiction très confiante donne une perte élevée.
  • La loss et l’accuracy mesurent-elles la même chose ?
    Non. La loss sert surtout à guider l’apprentissage du modèle, avec un signal numérique plus fin. L’accuracy sert à comprendre facilement combien de prédictions sont correctes. Un modèle peut avoir une bonne accuracy mais une loss moins bonne s’il est trop confiant sur ses erreurs.
  • Comment choisir la bonne fonction de perte ?
    Je pars toujours du problème. Pour prédire une valeur numérique, MSE ou MAE sont des choix classiques. Pour classer des éléments, la cross-entropy est souvent plus adaptée. Ensuite je regarde les données, les valeurs aberrantes, et surtout le coût réel des erreurs pour le business.

 

 

A propos de l’auteur

Je suis Franck Scandolera, expert et formateur en tracking avancé server-side, Analytics Engineering, automatisation No/Low Code avec n8n, intégration de l’IA en entreprise et SEO/GEO. J’accompagne des équipes qui veulent rendre leurs données plus fiables et leurs modèles plus utiles, pas juste plus impressionnants sur le papier. J’ai travaillé avec des références comme Logis Hôtel, Yelloh Village, BazarChic, la Fédération Française de Football ou Texdecor. Je dirige l’agence webAnalyste et l’organisme Formations Analytics. Si vous voulez mettre de l’IA, de la data ou de l’automatisation au service de votre business, contactez-moi.

Retour en haut
ClickAIpro