- Bernoulli ⇒ log-loss (p02-01). Poser y ~ Bernoulli(p), écrire la vraisemblance, passer au −log : on obtient −Σ[y log p + (1 − y) log(1 − p)]. Rien à jeter : pas de paramètre de dispersion, la variance p(1 − p) est fixée par la moyenne.
- σ envoie ℝ dans ]0, 1[ (p02-01). σ(z) = 1/(1 + e−z) est croissante, bijective de ℝ sur ]0, 1[, et n'atteint jamais ses bornes.
- La log-loss est sensible (p03-01). Contrairement à l'accuracy, elle a une pente partout : un point bien classé mais de justesse pèse encore. C'est aussi pour cela que la séparation parfaite fait fuir β vers l'infini.
- ∇ = 0 non linéaire ⇒ itérer (p03-02). Une forme fermée n'existe que si annuler le gradient donne un système linéaire en β ; sinon on descend.
- « Linéaire en β » (p05-01). Ce qui est linéaire, c'est la dépendance en les coefficients, pas la forme du nuage en x.
La chaîne
Le décor
y ∈ {0, 1}. Tentons quand même une droite dessus : trois choses cassent d'un coup.
La sortie déborde — β0 + β1x parcourt ℝ, donc annonce des « probabilités » négatives et supérieures à 1. Le bruit ne peut pas être gaussien — à x fixé, y ne prend que deux valeurs, et sa variance p(1 − p) change avec x. Les carrés perdent leur mandat — ils venaient du gaussien (p05-01), qui n'est plus là.
« Une combinaison affine parcourt tout ℝ, donc elle sort de [0, 1], donc le modèle linéaire ne peut pas porter sur p elle-même, donc il faut le faire porter sur une quantité non bornée. »
default ~ balance10 000 clients, une variable binaire (a fait défaut, oui/non) contre le solde de carte. La droite des moindres carrés ajustée sur ces 0/1 prédit des probabilités négatives pour les petits soldes : elle est disqualifiée avant même qu'on discute de sa qualité.
La logistique, elle, donne :
| balance | log-cote | cote | p |
|---|---|---|---|
| 1 000 $ | −5,15 | 0,0058 | 0,0058 |
| 1 936 $ | ≈ 0 | ≈ 1 | 0,500 |
| 2 000 $ | 0,35 | 1,419 | 0,587 |
Quatre nombres feront toute la chaîne : 0,55 (l'effet de +100 $ sur la log-cote), 1,73 (son effet sur la cote), 1 936 $ (la frontière), et p(1 − p) (ce qui traduit en points de probabilité).
Ce qui est affine, c'est la log-cote tronc
La cote (odds) d'une probabilité est c = p/(1 − p) ; son logarithme est la log-cote, ou logit. C'est elle, et elle seule, que le modèle rend affine :
Trois échelles, trois natures. La log-cote vit dans ℝ et s'additionne. La cote vit dans ]0, ∞[ et se multiplie. La probabilité vit dans ]0, 1[ et se sature. Passer de l'une à l'autre ne préserve ni les écarts ni les rapports.
« La probabilité est bornée, donc on ne peut pas la rendre affine, donc on rend affine sa log-cote, donc p est une sigmoïde de la combinaison linéaire. »
Client à 1 000 $ : log-cote −5,15, cote e−5,15 = 0,0058, probabilité 0,0058. Les deux derniers coïncident à trois décimales : quand p est petit, p/(1 − p) ≈ p. Cette coïncidence est locale — retenez-la, c'est elle qui rend « la probabilité double » presque vrai en bas, et franchement faux au milieu.
Client à 2 000 $ : log-cote 0,35, cote 1,419, probabilité 0,587. Cette fois la cote et la probabilité n'ont plus rien à voir.
Le sens de lecture compte : une cote de 1,419 se dit « à peu près trois défauts pour deux non-défauts » ; une probabilité de 0,587 se dit « 58,7 chances sur 100 ». Les deux décrivent le même client.
Glisse balance : le même client apparaît au même endroit dans les trois panneaux. En haut, la log-cote — une droite, c'est la seule échelle où le modèle est affine. Au milieu, la cote — une exponentielle, qui sort du cadre bien avant 3 000 $. En bas, la probabilité — une sigmoïde qui s'écrase contre 0 et contre 1. Avance de 1 000 $ à 2 000 $ : la log-cote gagne 5,5 partout pareil, la probabilité gagne 0,58 ici et presque rien plus bas.
La loss, et pourquoi il n'y a pas de forme fermée
H1 et H2 donnent la vraisemblance d'une Bernoulli par observation, donc la NLL (p02-01), et son gradient a exactement la forme de celui d'OLS — à ceci près que pi = σ(xi⊤β) :
La NLL est convexe en β (p03-02), donc un minimum local est global. Mais pi passe par σ : annuler ∇ n'est pas un système linéaire en β, donc pas de forme fermée (b06). On itère — descente de gradient, ou Newton/IRLS.
« Le gradient contient σ, donc annuler le gradient n'est pas linéaire en β, donc on ne résout pas, on itère ; convexe, donc on arrive au minimum global. »
| OLS (p05-01) | logistique | |
|---|---|---|
| gradient | Σ(yi − yi)xi | Σ(pi − yi)xi |
| prédiction | xi⊤β — affine en β | σ(xi⊤β) — pas affine |
| ∇ = 0 | système linéaire | système transcendant |
| solution | (X⊤X)−1X⊤y | on itère |
Un terme du gradient, en chiffres. À l'optimum trouvé, un client qui n'a pas fait défaut (y = 0) avec balance = 2 000 pousse β1 de (0,587 − 0) × 2 000 = 1 174 ; le même client à 1 000 $ ne pousse que de 0,0058 × 1 000 = 5,8. Le résidu p − y n'est jamais nul : il n'y a pas de point « réglé », seulement des poussées qui s'équilibrent (p03-01).
L'odds ratio est un rapport de cotes tronc
Passer de x à x + 1 ajoute β1 à la log-cote. Exponentier une somme, c'est multiplier :
C'est l'odds ratio. Le facteur est le même partout sur l'axe des x : c'est ce que H1 affirme. Et il porte sur la cote : rien n'est ajouté à p, rien n'est multiplié sur p. β = 0 ⟺ OR = 1 ⟺ x ne change rien.
« β s'ajoute à la log-cote, donc eβ multiplie la cote, donc l'effet sur la probabilité dépend d'où l'on part. »
Par dollar, e0,0055 = 1,0055 : illisible. Par 100 $, le coefficient vaut 0,55 et l'odds ratio e0,55 = 1,73.
| de → à | cote | rapport | p | Δp |
|---|---|---|---|---|
| 1 000 → 1 100 $ | 0,0058 → 0,0100 | 1,733 | 0,0058 → 0,0099 | +0,42 pt |
| 2 000 → 2 100 $ | 1,419 → 2,460 | 1,733 | 0,587 → 0,711 | +12,4 pts |
Colonne « rapport » : identique, à la quatrième décimale. Colonne Δp : un facteur trente entre les deux. Le même odds ratio, la même hausse de solde, et deux effets sans commune mesure sur la probabilité — c'est tout le contenu des deux pas suivants.
« La probabilité double » est faux tronc
Multiplier la cote par m ne multiplie pas p par m. En repartant de c = p/(1 − p) :
Ce rapport vaut m quand c → 0, et tombe vers 1 quand c grandit. Autrement dit : « la probabilité est multipliée par eβ » n'est vrai qu'en bas, et n'y est qu'une approximation. Au milieu, c'est franchement faux — et il y a un mur : p ne peut pas dépasser 1.
« La cote double, donc p passe de c/(1 + c) à 2c/(1 + 2c), donc elle ne double que si c est négligeable devant 1. »
La cote double (m = 2) dans les deux lignes :
| cote avant | p avant | cote après | p après | facteur sur p |
|---|---|---|---|---|
| 1 | 0,500 | 2 | 0,667 | 1,33 |
| 0,02 | 0,0196 | 0,04 | 0,0385 | 1,96 |
Ligne du haut : p passe de 0,5 à 0,667, pas à 1. Ligne du bas : ×1,96, presque le double — parce que p ≈ c quand c est petit (le pas 2).
Avec l'odds ratio du fil rouge (m = 1,73). Départ p = 0,50 : cote 1 → 1,733, p → 0,634, facteur réel 1,27. Départ p = 0,02 : cote 0,0204 → 0,0354, p → 0,0342, facteur réel 1,71. Le chiffre annoncé, 1,73, n'est le bon que dans le second cas.
En abscisse la probabilité de départ, en ordonnée celle d'arrivée après avoir multiplié la cote par eβ. La courbe bleue est la vraie ; la droite rouge est la règle fausse « p × eβ ». Elles se confondent près de 0 et divergent dès que p monte : pose p de départ à 0,02, le facteur réel affiché vaut 1,71 ; remonte-le à 0,5, il tombe à 1,27 alors que eβ n'a pas bougé. La vraie courbe (bleue) reste sous 1 quoi qu'il arrive ; la fausse sort du cadre par le haut, ce qu'une probabilité ne peut pas faire. La diagonale ambre est la référence « rien ne change ».
L'effet marginal dépend de la probabilité
Dériver p(x) = σ(β0 + β1x) donne, via σ′ = σ(1 − σ) :
La pente de la sigmoïde est maximale au milieu et quasi nulle aux extrêmes. Donc « une unité de x change p de β » est faux partout sauf près de 0,5, et seulement pour un β petit. Et l'effet marginal est une dérivée : sur un pas fini, il ne donne qu'une approximation.
« L'effet sur p est β fois p(1 − p), donc il est maximal en p = 0,5 et quasi nul aux extrêmes, donc la même unité de x ne vaut pas le même nombre de points de probabilité selon le client. »
| client | p | p(1 − p) | +100 $, linéarisé | +100 $, exact |
|---|---|---|---|---|
| 1 936 $ | 0,500 | 0,250 | +13,75 pts | +13,42 pts |
| 1 229 $ | 0,020 | 0,0196 | +1,08 pt | +1,42 pt |
Même modèle, même hausse de 100 $, un rapport de treize entre les deux effets. Aucun « effet de balance sur la probabilité de défaut » n'existe donc en tant que nombre unique : il n'existe qu'un effet à un endroit donné.
Et la linéarisation elle-même se paie. Sur 100 $ la tangente surestime au sommet (13,75 pour 13,42) et sous-estime en bas (1,08 pour 1,42), parce que la sigmoïde tourne. Seul le pas 4 est exact sans condition : la cote, elle, est multipliée par 1,733 dans les deux cas.
La sigmoïde p(balance) et sa tangente au point courant, de pente β1p(1 − p). Glisse le curseur : la courbe ne bouge pas, la tangente bascule. À la frontière (trait vertical, 1 936 $) elle est au plus raide — 13,75 points pour 100 $ ; à 1 229 $ elle est presque plate — 1,08 point. Compare les deux readouts du bas : linéarisé et exact se séparent d'autant plus que la courbe tourne.
La frontière, elle, est linéaire
Classer, c'est comparer p à un seuil t. Comme logit est croissante, cela revient à comparer une fonction affine à une constante :
La frontière est donc un point en 1D, une droite en 2D, un hyperplan en général — et changer le seuil ne fait que le translater (p06-03). La logistique est un classifieur linéaire : ce qui est non linéaire, c'est p(x), pas la frontière.
« Comparer p à un seuil revient à comparer la log-cote à une constante, donc la frontière est l'ensemble où une fonction affine prend une valeur fixée, donc c'est un hyperplan quel que soit le seuil. »
| seuil t | log t/(1−t) | balance frontière |
|---|---|---|
| 0,2 | −1,386 | 1 684 $ |
| 0,5 | 0 | 1 936 $ |
| 0,8 | +1,386 | 2 188 $ |
À t = 0,5 : 10,65/0,0055 = 1 936 $. Les trois frontières sont équidistantes — 252 $ d'écart chaque fois — parce que ±1,386 sur la log-cote, c'est ±252 $ sur la balance. La géométrie est celle de la log-cote, pas celle de p.
Corollaire pratique : si la vraie frontière est courbe, aucun seuil ne rattrapera rien. Il faut de nouvelles colonnes (x², interactions), et la frontière redevient un hyperplan — dans ces features-là.
Lire la sortie
Un coefficient se lit dans une unité sensée : 0,0055 par dollar ne dit rien, 0,55 par 100 $ se retient. Changer d'unité change β et l'odds ratio ; le z et la p-value, eux, ne bougent pas.
Le SE et le test portent sur β, où la normalité approchée vit (p01-02). L'intervalle sur l'odds ratio s'obtient en exponentiant les bornes :
« L'intervalle se construit sur β, où l'approximation normale tient, donc on exponentie ses bornes pour l'odds ratio, donc l'intervalle obtenu est asymétrique autour de eβ et ne contient jamais de valeur négative. »
| par dollar | par 100 $ | |
|---|---|---|
| β1 | 0,0055 | 0,55 |
| SE | 0,00022 | 0,022 |
| z = β/SE | 25,0 | 25,0 |
| odds ratio | 1,0055 | 1,73 |
IC95 sur β (par 100 $) : 0,55 ± 1,96 × 0,022 = [0,507 ; 0,593]. Exponentié : OR ∈ [1,66 ; 1,81] — 0,073 sous 1,733 et 0,076 au-dessus, donc asymétrique. Et l'intervalle ne contient pas 1, ce qui est exactement la même information que « l'IC sur β ne contient pas 0 ».
Au-delà de deux classes : softmax, une log-cote par classe contre une classe de référence, et un odds ratio par couple (p08-03). Le mécanisme est celui d'ici, répliqué.
Où ça casse casse
Trois des quatre pannes ne se voient pas dans les coefficients : elles se voient dans leur taille, dans la forme des résidus, ou dans une autre population que celle d'entraînement.
« Chaque hypothèse casse à un endroit distinct, donc on regarde la taille des coefficients, la forme de la log-cote et la population d'arrivée avant de lire un odds ratio, donc on sait laquelle est tombée. »
- Séparation parfaite (H3 tombe). Si un hyperplan sépare exactement les classes, pousser ‖β‖ vers l'infini fait tendre la NLL vers 0 sans l'atteindre : pas de minimum, donc pas d'estimateur. Signature : coefficients et SE énormes après convergence « réussie ». Remède : une pénalité, qui rétablit l'existence (p02-02) — pas plus d'itérations.
- Log-cote non affine en x (H1 tombe). Si logit p n'est pas affine, β est biaisé et l'odds ratio n'est plus constant sur l'axe. Signature : la log-cote empirique par tranches de x dessine une courbe. Remède : ajouter x², des interactions, ou changer de modèle — la frontière restera linéaire dans les features données.
- Colinéarité. Mêmes symptômes qu'en OLS : les SE explosent, les coefficients individuels bougent énormément pour une perturbation minuscule, alors que les p restent stables (p04-03). Remède : ridge, ou retirer une colonne. Ne jamais lire un odds ratio individuel dans ce cas.
- Calibration. Les p sont calibrés sur la distribution d'entraînement. Rééchantillonner les classes, ou déployer sur une population de prévalence différente, décale l'intercept et casse la calibration sans toucher au classement (p06-04). Remède : recalibrer, ou corriger l'intercept.
Résumé
- Ce qui est affine, c'est la log-cote, pas p : p = σ(β0 + β1x) ∈ ]0, 1[. Trois échelles : on additionne des log-cotes, on multiplie des cotes, on sature des probabilités.
- Log-loss (Bernoulli), gradient Σ(pi − yi)xi, convexe mais ∇ = 0 passe par σ : pas de forme fermée, on itère.
- eβ multiplie la cote, du même facteur partout : 1,73 par 100 $ sur Default.
- « La probabilité double » est faux : cote 1 → 2 donne p = 0,5 → 0,667. Ce n'est vrai qu'en bas, où p ≈ cote.
- Effet marginal βp(1 − p) : maximal en p = 0,5 (β/4), quasi nul aux extrêmes — +13,75 pts contre +1,08 pt pour le même +100 $.
- La frontière est un hyperplan quel que soit le seuil ; la non-linéarité est dans p(x).
- Lire en unité sensée ; l'IC sur l'OR est l'exponentielle de l'IC sur β, donc asymétrique : [1,66 ; 1,81] autour de 1,73.
Chaîne verbalisée — une prise, à voix haute
- Qu'est-ce qui est linéaire dans une logistique ?La log-cote : logit p = β0 + β1x. p est une sigmoïde de cette combinaison, donc bornée et non affine. Ni p ni la cote ne sont affines.
- Pourquoi pas de forme fermée ?∇NLL = Σ(pi − yi)xi avec pi = σ(xi⊤β) : annuler ∇ n'est pas linéaire en β. Convexe, donc on itère sans risque de minimum local.
- Que veut dire eβ = 1,73 ?Par unité de x (ici 100 $), la cote est multipliée par 1,73 — le même facteur partout. Rien n'est dit directement sur p.
- « La probabilité double » : vrai ?Non. Cote 1 → 2 : p = 0,5 → 0,667, pas 1. Cote 0,02 → 0,04 : 0,0196 → 0,0385, ×1,96 — presque vrai, parce que p ≈ cote quand p est petit.
- Effet de +100 $ sur p ?βp(1 − p) × 100 : +13,75 points à p = 0,5 (client à 1 936 $), +1,08 point à p = 0,02 (client à 1 229 $). Même β, rapport de treize.
- La frontière est-elle linéaire ?Oui : p ≥ t ⟺ log-cote ≥ log t/(1 − t), un hyperplan pour tout seuil. C'est p(x) qui est non linéaire, pas la frontière.
Ponts et cartes
ml::logistique (affine en log-cote ; NLL de Bernoulli ; pas de forme fermée) · ml::odds-ratio (eβ multiplie la cote ; IC exponentié, asymétrique) · ml::effet-marginal (βp(1 − p), maximal en 0,5) · ml::frontiere-lineaire (hyperplan pour tout seuil).
Une carte qui résiste après cette chaîne est une carte à refondre, pas une section à relire.
Suite directe : p05-03, régularisation et biais-variance — la pénalité qui sauve la séparation parfaite, vue comme un réglage et plus comme un sauvetage.