~/teaching · machine learning · séance 2, mercredi 14 octobre 2026
Maximum de vraisemblance, régression logistique et validation honnête, pas à pas
Pourquoi la perte découle de la loi de la cible, et comment mesurer un modèle sans se mentir.
Résumé
Ce support couvre l'après-midi de la séance 2 du cours de Machine Learning de Centrale Méditerranée (option DDEFI, 2026-2027). Il répond à une question laissée en suspens le matin, consacré aux moindres carrés : pourquoi des carrés ? La réponse tient en une recette. On choisit une loi de probabilité pour la cible, on écrit la probabilité des données observées, on passe au logarithme, on change le signe, et l'on obtient la perte. Une cible gaussienne donne les moindres carrés ; une cible 0/1 donne la log-loss de la régression logistique.
Le support construit ensuite la régression logistique pièce par pièce : la sigmoïde et sa réciproque le logit, le gradient en trois lignes, la hessienne et la convexité qui garantit un minimum unique, la softmax pour plusieurs classes, puis la lecture d'un coefficient comme rapport de cotes. La seconde partie traite de la généralisation : décomposition biais-variance, validation croisée, les deux fuites les plus courantes, et le nombre de lignes de test qu'il faut avant de croire un chiffre.
L'exemple fil rouge est un problème de défaut de crédit, le jeu UCI de 30 000 titulaires de cartes à Taïwan (Yeh et Lien, 2009, données de 2005), avec 22,1 % de défauts. Après lecture, on sait dériver le gradient logistique à la main, présenter correctement un coefficient dans un rapport et monter une validation qui ne fuit pas.
Plan du deck
- De la loi à la perte. Vraisemblance de Bernoulli, logarithme, log-loss, puis la même recette sur une cible gaussienne, qui redonne les moindres carrés.
- La sigmoïde et le logit. Comment un score réel devient une probabilité, la dérivée à retenir, et pourquoi la logistique est linéaire sur les log-cotes.
- Gradient, hessienne, convexité. Le gradient vaut prédit moins observé, pondéré par les variables, et la perte n'a pas de faux minimum.
- Softmax et entropie croisée. La même idée avec K classes, et le cas binaire retrouvé pour K = 2.
- Lire un coefficient. Cotes, rapport de cotes, intervalle de confiance, et l'erreur classique qui lit un rapport de cotes comme une hausse du risque.
- Biais-variance et validation sans fuite. La décomposition en trois termes, la validation croisée, les fuites, les coupes temporelles et la borne de Hoeffding sur le jeu de test.
- Lancement du projet en équipe. Audit SQL avec DuckDB, fiche de données, carte des fuites, coupe stratifiée figée, deux modèles de référence et une première décision écrite.
De la vraisemblance de Bernoulli à la log-loss
Un bon classifieur donne une forte probabilité à ce qui s'est réellement passé, et la log-loss est le prix qu'il paie quand ce n'est pas le cas.
Chaque client fait défaut () ou non (). On modélise cette issue comme une pièce truquée dont le biais dépend de ses caractéristiques : c'est une loi de Bernoulli. Un jeu d'exposants écrit la probabilité de l'issue observée sans distinguer les cas : vaut si le client a fait défaut et sinon.
Si l'on suppose les clients indépendants sachant leurs caractéristiques, la probabilité du jeu de données entier est le produit de ces termes. Ce produit, vu comme une fonction des paramètres , est la vraisemblance (likelihood). Le maximum de vraisemblance (maximum likelihood estimation, MLE) retient le qui la rend la plus grande.
Deux raisons pratiques poussent vers le logarithme. Un produit de 30 000 nombres inférieurs à 1 tombe sous la précision des flottants, et une somme se dérive plus facilement qu'un produit. Comme le logarithme est croissant, le maximiseur ne bouge pas. L'apprentissage automatique préfère minimiser : on change le signe et l'on obtient la log-loss, appelée aussi entropie croisée (cross-entropy) binaire.
Pour un client qui fait vraiment défaut, il ne reste que . Le tableau montre la sévérité de la perte envers les erreurs commises avec assurance (logarithme népérien, l'unité est donc le nat).
| prédit | Perte | Lecture |
|---|---|---|
| 0,99 | 0,010 | sûr et juste, presque gratuit |
| 0,80 | 0,223 | assez sûr, coût modéré |
| 0,50 | 0,693 | pile ou face, |
| 0,10 | 2,303 | faux, et ça se paie |
| 0,01 | 4,605 | sûr et faux, 460 fois la première ligne |
Même recette, cible gaussienne : les moindres carrés
Les moindres carrés ne sont pas un choix arbitraire, c'est ce que donne le maximum de vraisemblance quand le bruit autour de la prédiction est gaussien.
Appliquons la recette à une cible continue. Supposons le prix observé gaussien autour de la prédiction linéaire, . Chaque densité vaut une constante fois , où est le résidu. En prenant le logarithme du produit, les constantes s'accumulent en un terme indépendant de et les exposants s'additionnent en une somme de résidus au carré.
Un facteur positif et une constante additive ne déplacent pas un minimum : l'estimateur du maximum de vraisemblance gaussien est donc exactement celui des moindres carrés ordinaires (ordinary least squares, OLS) du matin, avec ses équations normales. Avec un bruit de Laplace, l'exposant contiendrait et la recette donnerait les moindres écarts absolus, la médiane au lieu de la moyenne.
Remarque (Une loi, une perte). Quand on demande pourquoi un modèle utilise telle perte, la réponse est la loi supposée pour la cible, pas un réglage par défaut de la bibliothèque. Gaussienne : carrés. Bernoulli : log-loss. Le reste est de l'optimisation.
Le plancher que tout modèle doit battre
Prédisons le taux de base pour tous les clients. Sa log-loss moyenne est l'entropie de la cible, environ 0,528 nat. Un modèle de crédit qui ne descend pas sous ce nombre sur les données de validation n'a rien appris d'utile.
Le support montre aussi la forme que calculent réellement les bibliothèques, écrite avec le score : la moyenne de . La fonction est la softplus, que l'on évalue sans dépassement même pour des scores très négatifs.
La sigmoïde et le logit
La sigmoïde comprime n'importe quel score réel en une probabilité, et sa réciproque montre que la régression logistique est une droite sur l'échelle des log-cotes.
Un score linéaire parcourt toute la droite réelle ; une probabilité vit dans . La fonction sigmoïde (sigmoid) relie les deux. Comme , le dénominateur dépasse 1 et le résultat reste strictement entre 0 et 1 : le modèle ne prédit jamais la certitude, ce qui tient aussi la log-loss à l'écart de .
La dérivée est la seule formule à apprendre par cœur : elle fait tomber le gradient en quelques lignes, et son maximum d'un quart en expliquera plus tard pourquoi les gradients s'éteignent dans les réseaux profonds à sigmoïdes. En résolvant en , on obtient le logit (log-odds), logarithme des cotes :
Vérification pour un score de 2
- Exponentielle. , donc le dénominateur vaut environ 1,135.
- Probabilité. .
- Pente. , sous le plafond de 0,25.
- Retour au score. : le logit défait la sigmoïde.
Le gradient, la hessienne et la convexité
La direction dans laquelle bouger les coefficients est donnée par l'écart entre ce que le modèle a prédit et ce qui s'est passé, et la perte n'a qu'une seule vallée.
Chaque terme de la log-vraisemblance ne dépend de qu'à travers le score . On dérive d'abord par rapport au score : grâce à , tous les dénominateurs se simplifient et il reste , observé moins prédit. La dérivation en chaîne multiplie ensuite par , et l'empilement des clients donne un produit matriciel.
Comparons avec les moindres carrés, dont le gradient est : même forme, autre résidu. C'est la sigmoïde qui interdit une solution explicite ; les coefficients se trouvent donc par itérations, en descente de gradient (gradient descent) ou par la méthode de Newton (que les statisticiens appellent IRLS).
Une dérivée de plus donne la matrice hessienne (Hessian), une matrice de même structure que mais pondérée par , des nombres entre 0 et un quart. Pour toute direction , la forme quadratique est une somme pondérée de carrés, jamais négative. La log-loss est donc convexe : tout minimum local est global, et il est unique quand les colonnes de sont linéairement indépendantes.
Exemple chiffré : cinq clients, une variable (mois de retard)
- Données. Retards , issues , probabilités prédites (chiffres d'illustration).
- Écarts. : les deux clients en défaut sont sous-estimés.
- Gradient. On pondère chaque écart par et l'on somme : . Négatif, donc augmenter le coefficient des retards fait baisser la perte.
- Hessienne. : la perte est tournée vers le haut.
- Pas de Newton. Moins le gradient divisé par la hessienne, , donne la hausse du coefficient en une étape.
Remarque (Quand le minimum n'existe pas). Si un hyperplan sépare parfaitement les clients en défaut des autres, la vraisemblance continue de croître quand les coefficients partent à l'infini (Albert et Anderson, 1984). Scikit-learn le masque parce qu'il régularise par défaut ; le remède, la régularisation, fait l'objet de la séance suivante.
Softmax et entropie croisée à plusieurs classes
Avec plus de deux classes, chaque classe reçoit un score, la softmax transforme les scores en probabilités, et le gradient garde la forme prédit moins observé.
On donne à chacune des classes son propre score linéaire, on passe à l'exponentielle pour les rendre positifs, puis on divise par leur somme : c'est la softmax. La cible est un vecteur indicateur, si bien que l'entropie croisée ne garde qu'un terme, moins le logarithme de la probabilité donnée à la vraie classe. La dérivation à travers le log-somme-exp donne un résultat d'une grande simplicité.
Avec les scores , les exponentielles valent environ 7,389, 2,718 et 1, de somme 11,107 ; les probabilités sont 0,665, 0,245 et 0,090. Si la vraie classe est la première, la perte vaut et le gradient fait monter le bon score et descendre les autres. Il somme à zéro, car ajouter la même constante à tous les scores ne change rien.
Avec deux classes, diviser en haut et en bas par donne : la régression logistique binaire est la softmax pour , et seule la différence des scores compte, d'où un unique vecteur de coefficients. La même couche termine presque tous les réseaux de classification (voir l'article sur l'attention).
Lire un coefficient comme un rapport de cotes
Un coefficient logistique multiplie les cotes par un facteur fixe, mais la variation de probabilité dépend du point de départ du client.
Les cotes (odds) valent : un client à 10 % a une cote de 1 contre 9, environ 0,111. Le logit étant linéaire, augmenter d'une unité, tout le reste fixé, ajoute aux log-cotes et multiplie les cotes par , le rapport de cotes (odds ratio). Ce facteur est le même pour tous les clients, et c'est ce qui en fait le bon nombre à publier.
L'intervalle se construit sur le coefficient, où l'approximation normale est bonne, puis on l'exponentie : il est donc asymétrique autour du rapport de cotes. L'erreur-type vient de l'inverse de la hessienne, , au point estimé.
| Client | de départ | Cotes | Cotes après | d'arrivée | Écart |
|---|---|---|---|---|---|
| peu risqué | 0,10 | 0,111 | 0,202 | 0,168 | +6,8 points |
| à égalité | 0,50 | 1,000 | 1,822 | 0,646 | +14,6 points |
Même rapport de cotes, effet double en probabilité. Écrire « le risque augmente de 82 % » est donc faux, et un valideur le repère aussitôt. Un rapport sérieux donne le rapport de cotes avec son intervalle, plus la probabilité avant et après pour un client type. Quand des variables catégorielles sont encodées en indicatrices, il nomme aussi la modalité de référence.
Biais-variance et validation sans fuite
L'erreur de test a trois sources, dont une seule dépend de vous, et la mesurer honnêtement exige qu'aucune information du jeu de test n'atteigne le modèle.
Pour et un modèle ajusté sur un échantillon aléatoire , l'erreur quadratique attendue en un point se répartit entre le bruit irréductible, le biais au carré (l'écart systématique d'une famille trop simple) et la variance (combien l'ajustement bouge quand on retire l'échantillon). C'est le compromis biais-variance (bias-variance trade-off). La preuve ajoute et retranche deux fois la prédiction moyenne, et les deux termes croisés s'annulent.
| Degré du polynôme | Biais² | Variance | Diagnostic | Erreur mesurée |
|---|---|---|---|---|
| 0 | 0,999 | 0,019 | sous-apprend | 1,103 |
| 3 | 0,000 | 0,011 | à peu près juste | 0,102 |
| 9 | 0,000 | 0,055 | sur-apprend | 0,145 |
En pratique, on ne voit jamais les trois termes séparément ; on voit une erreur d'apprentissage qui baisse sans cesse et une erreur de validation qui remonte. La validation croisée (cross-validation) estime cette seconde courbe sans toucher au jeu de test : on découpe les lignes restantes en plis stratifiés, on entraîne sur , on évalue le pli mis de côté, on fait la moyenne. La moyenne est presque sans biais pour la procédure, mais l'écart-type affiché n'est pas un intervalle de confiance, car les jeux d'apprentissage se recouvrent largement (Bengio et Grandvalet, 2004).
Une fuite de données (data leakage) est toute statistique des données de test qui entre dans le modèle. Les deux classiques : standardiser tout le fichier avant de couper (remède, un Pipeline ajusté dans chaque pli), et l'encodage par la cible (target encoding) calculé sur toutes les lignes, où chaque ligne voit sa propre étiquette (remède, un encodage hors pli). Sur des données datées, des plis mélangés laissent le modèle apprendre sur le futur ; un TimeSeriesSplit apprend sur le passé et valide sur la suite.
Reste à savoir jusqu'où croire un score de test. L'inégalité de Hoeffding (Hoeffding's inequality) borne l'écart entre erreur mesurée et erreur vraie pour une perte dans et des lignes indépendantes, sans hypothèse sur le modèle. En fixant le risque et en résolvant, on obtient la marge :
Avec et 1 000 lignes de test, , divisé par 2 000 puis passé à la racine, donne environ 0,043 : deux modèles à 81 % et 84 % ne se distinguent pas. La marge décroît comme , la diviser par deux coûte quatre fois plus de lignes ; les 6 000 lignes de test du projet donnent environ 1,8 point. La garantie ne tient que si l'on regarde le jeu de test une seule fois.
Le lancement du projet en équipe applique tout cela aux données de crédit : un audit SQL avec DuckDB, une fiche de données qui dit exactement ce que signifie la cible, une carte des fuites (leakage map) qui date chaque colonne par rapport à la date de prédiction, une coupe stratifiée 60/20/20 figée par une graine et une empreinte du fichier, et deux modèles de référence (le modèle constant à 0,528 et une régression logistique par défaut dans un pipeline). La page du projet prend la suite.
À retenir
- Choisir une loi pour la cible, c'est choisir la perte : un bruit gaussien donne les moindres carrés, une cible de Bernoulli donne la log-loss.
- La sigmoïde envoie un score sur une probabilité, sa dérivée vaut , et sa réciproque, le logit, est linéaire en les variables.
- Le gradient logistique vaut , la même forme que pour les moindres carrés ; la hessienne rend la perte convexe.
- Un coefficient multiplie les cotes par : on publie le rapport de cotes avec son intervalle et les probabilités avant et après, jamais une hausse du risque en pourcentage.
- L'erreur de test vaut bruit plus biais au carré plus variance ; seul l'arbitrage entre les deux derniers dépend de vos choix de modélisation.
- Toute statistique du jeu de test qui atteint le modèle est une fuite : on ajuste standardisation et encodages dans les plis, et l'on respecte l'ordre du temps sur des données datées.
- Un score de test a une marge d'environ : quelques centaines de lignes ne départagent pas des modèles proches.
Glossaire
- vraisemblance (likelihood)
- La probabilité des données observées, vue comme une fonction des paramètres du modèle.
- maximum de vraisemblance (maximum likelihood estimation, MLE)
- Choisir les paramètres qui rendent les données observées les plus probables.
- entropie croisée (cross-entropy)
- Moins la log-vraisemblance moyenne ; pour une cible 0/1, c'est la log-loss que minimise la régression logistique.
- fonction sigmoïde (sigmoid)
- La fonction qui envoie un score réel sur une probabilité strictement entre 0 et 1.
- logit (log-odds)
- Le logarithme de , réciproque de la sigmoïde, linéaire en les variables dans la régression logistique.
- cotes (odds)
- Le rapport entre la probabilité d'un événement et celle de son contraire.
- rapport de cotes (odds ratio)
- Le facteur qui multiplie les cotes quand une variable augmente d'une unité.
- matrice hessienne (Hessian)
- La matrice des dérivées secondes de la perte, ici semi-définie positive, d'où la convexité.
- compromis biais-variance (bias-variance trade-off)
- Les modèles simples se trompent de façon systématique, les modèles souples varient avec l'échantillon, et l'erreur de test additionne les deux au bruit.
- validation croisée (cross-validation)
- Moyenne de l'erreur sur k plis, chacun mis de côté une fois, pour estimer l'erreur d'une procédure.
- fuite de données (data leakage)
- Toute information des données de test, ou du futur, qui entre dans l'entraînement du modèle.
- encodage par la cible (target encoding)
- Remplacer une modalité par la moyenne de la cible dans cette modalité, ce qui fuit sauf calcul hors pli.
- inégalité de Hoeffding (Hoeffding's inequality)
- Une borne sur l'écart entre erreur mesurée et erreur vraie qui ne demande qu'une perte bornée et des lignes indépendantes.
Les autres fiches du cours
Un résumé public par deck, dans l'ordre du cours.
Précédent : Cadrage de projet et moindres carrésSuivant : Descente de gradient, ridge et lasso
- IntroductionHivers de l'IA, emploi et méthode
- OutilsKaggle, GitHub, Python : les outils
- Séance 1Cadrage de projet et moindres carrés
- Séance 2Vraisemblance et régression logistique
- Séance 3Descente de gradient, ridge et lasso
- Séance 4Seuil de décision et ML reproductible
- DevoirUn modèle de référence défendable
- Séance 5Noyaux, SVM et arbres de décision
- Séance 6Forêts, boosting, comparaison honnête
- Séance 7SHAP, équité, ACP et partitionnement
- DevoirUn modèle champion documenté
- Séance 8Réseaux de neurones, dérive, prédiction conforme
- DevoirUn projet de machine learning livré
- Séance 9Soutenir un projet de machine learning
- RéférenceProjet de score de défaut de crédit
- RéférenceRendements boursiers : XGBoost et sentiment
- RéférenceLe code Python de chaque modèle
- RéférenceDeep learning, l'essentiel
- RéférenceDonnées ouvertes et projets par secteur
- RéférenceManuel de l'expert data et IA
- RéférenceData engineering, SRE et cloud
- RéférencePanorama des modèles de machine learning
À propos de ces fiches
Écrites par l'enseignant à partir des slides du deck, comme un résumé public : les idées clés, les formules et un exemple calculé. Les exercices, leurs corrigés, les contrôles et la notation restent dans le deck, pour les élèves du cours.
Révision : .