- Vecteur. Une flèche partant de l'origine, ou la liste de ses coordonnées : v = (v1, v2). Les deux lectures servent, la flèche pour voir, la liste pour calculer.
- Somme et multiple. u + v coordonnée par coordonnée, λv allonge la flèche sans la tourner (elle se retourne si λ < 0).
- Produit scalaire et norme. ⟨u, v⟩ = Σ uivi et ‖v‖ = √⟨v, v⟩. Ils n'interviennent qu'au pas 8, pour parler de distance à une image.
- Aucune fiche préalable. Cette chaîne ouvre la partie 4 ; elle est le prérequis des suivantes, pas leur conséquence (la carte).
La chaîne
Le décor : quatre nombres, ou une machine
Une matrice 2 × 2, c'est quatre nombres dans un cadre. C'est aussi une machine : elle prend un vecteur et en rend un autre. Tant qu'on lit le tableau, il n'y a rien à comprendre ; dès qu'on regarde ce qu'il fait au plan, tout se déduit.
Deux machines tiennent toute la chaîne — l'une déforme, l'autre écrase.
« Quatre nombres ne disent rien, donc on regarde ce qu'ils font à un vecteur, donc une matrice se lit comme un geste sur le plan. »
| matrice | colonne 1 | colonne 2 | ce qu'elle fait |
|---|---|---|---|
| A = 2103 | (2 ; 0) | (1 ; 3) | étire et cisaille |
| B = 1224 | (1 ; 2) | (2 ; 4) | écrase sur une droite |
Les colonnes de B sont colinéaires : (2 ; 4) = 2 · (1 ; 2). Ce seul fait produit tout ce que B fait de particulier — pas 4, 5 et 6.
Ax = combinaison des colonnes tronc
Écrire Ax, c'est pondérer les colonnes de A par les coordonnées de x. Rien d'autre.
En particulier e1 = (1 ; 0) sélectionne col1, et e2 = (0 ; 1) sélectionne col2 : les colonnes sont les images de la base. Comme tout vecteur s'écrit x1e1 + x2e2, connaître les deux colonnes, c'est connaître l'action sur le plan entier.
« Le produit matrice-vecteur pondère les colonnes par les coordonnées, donc l'image de la base est la liste des colonnes, donc connaître les colonnes c'est connaître l'action entière. »
| x | combinaison | A x |
|---|---|---|
| (1 ; 0) | 1 · col1 | (2 ; 0) |
| (0 ; 1) | 1 · col2 | (1 ; 3) |
| (1 ; 1) | col1 + col2 | (3 ; 3) |
| (1 ; −1) | col1 − col2 | (1 ; −3) |
Aucune des trois dernières lignes n'a demandé de calcul nouveau : (3 ; 3) est (2 ; 0) + (1 ; 3), et (1 ; −3) est (2 ; 0) − (1 ; 3). Deux colonnes retenues, toutes les sorties disponibles.
Linéarité : la grille reste une grille
A(u + v) = Au + Av et A(λu) = λAu. Visuellement : les droites restent des droites, les parallèles restent parallèles, l'espacement reste régulier, et l'origine ne bouge pas.
Le carré unité devient donc le parallélogramme porté par les deux colonnes, et son aire porte un nom :
det = 0 signifie donc exactement : l'aire s'écrase, les deux colonnes sont alignées.
« L'image d'une somme est la somme des images, donc la grille reste une grille et l'origine reste fixe, donc le carré unité devient le parallélogramme des colonnes, donc son aire vaut la valeur absolue du déterminant. »
Sous A : les quatre sommets (0 ; 0), (1 ; 0), (1 ; 1), (0 ; 1) deviennent (0 ; 0), (2 ; 0), (3 ; 3), (1 ; 3). det A = 2 · 3 − 1 · 0 = 6, et l'aire du parallélogramme vaut 6 : le plan est dilaté six fois, rien n'est perdu.
Sous B : les mêmes sommets deviennent (0 ; 0), (1 ; 2), (3 ; 6), (2 ; 4) — tous alignés sur la droite dirigée par (1 ; 2). det B = 1 · 4 − 2 · 2 = 0, aire nulle : le carré est devenu un segment.
Les quatre curseurs sont les quatre coefficients ; la grille fine et régulière, comme le carré pointillé, est celle de départ : elle ne bouge jamais, seule la grille grasse est transformée. Les deux points colorés sont les colonnes, c'est-à-dire les images de e1 et e2 — et le troisième, l'image de (1 ; 1), reste toujours leur somme. Presse B : les deux colonnes s'alignent, le parallélogramme s'aplatit sur un segment, det et aire tombent à 0. Presse rotation ou cisaillement : det = 1, la forme change, l'aire ne change pas.
Image et rang : où atterrit le plan
L'image de A est l'ensemble de toutes les sorties possibles. Comme chaque sortie est une combinaison des colonnes, l'image est exactement l'espace engendré par les colonnes.
Le rang est le nombre de colonnes réellement indépendantes — pas le nombre de colonnes écrites.
« Toute sortie est une combinaison des colonnes, donc l'image est l'espace qu'elles engendrent, donc le rang est le nombre de colonnes indépendantes, donc deux colonnes alignées ne donnent qu'une droite. »
A : (2 ; 0) et (1 ; 3) ne sont pas colinéaires (det = 6 ≠ 0), donc rang 2 : l'image est le plan entier, toute cible est atteignable.
B : col2 = 2 · col1, donc rang 1 : l'image est la droite {t · (1 ; 2)}. Deux colonnes écrites, une seule direction disponible.
Test d'appartenance à cette droite : (y1 ; y2) y est si et seulement si 2y1 − y2 = 0.
| cible | 2y1 − y2 | dans Im B ? |
|---|---|---|
| (1 ; 2) | 0 | oui |
| (1 ; 1) | 1 | non |
| (3 ; 6) | 0 | oui |
Le noyau : ce qui est envoyé sur zéro tronc
Ker A = {x : Ax = 0}. Il contient toujours 0. La question est de savoir s'il contient autre chose.
Si k ≠ 0 est dans le noyau, alors A(x + k) = Ax + Ak = Ax : deux entrées distinctes, une seule sortie. L'information est perdue, et aucune matrice ne peut la rendre — A n'est pas inversible.
« Un vecteur du noyau est écrasé sur zéro, donc l'ajouter à une entrée ne change pas la sortie, donc deux entrées se confondent, donc on ne peut pas revenir en arrière. »
B(2 ; −1) = (1 · 2 + 2 · (−1) ; 2 · 2 + 4 · (−1)) = (0 ; 0). Le vecteur (2 ; −1) est donc dans Ker B, et avec lui toute la droite {t · (2 ; −1)}.
Conséquence immédiate, sans nouveau calcul : trois entrées, une sortie.
| x | écriture | B x |
|---|---|---|
| (1 ; 0) | x0 | (1 ; 2) |
| (3 ; −1) | x0 + (2 ; −1) | (1 ; 2) |
| (−1 ; 1) | x0 − (2 ; −1) | (1 ; 2) |
Compte : rang 1 + dim Ker 1 = 2. Pour A, det = 6 ≠ 0 donne Ker A = {0}, donc rang 2 + 0 = 2 — et l'inverse existe.
La grille affichée est celle d'arrivée : B l'a écrasée sur la droite bleue, son image — le bouton la déplie pour comparer. Le curseur t fait glisser l'entrée x (cercle creux, rouge) le long de la droite rouge, la direction du noyau : Bx (point plein, bleu) ne bouge pas d'un pixel — c'est cela, perdre de l'information. Le curseur s sort x de cette droite : alors la sortie bouge, d'un facteur affiché à droite. À s = −1, x tombe sur le noyau lui-même et la sortie est (0 ; 0).
Résoudre Ax = b : zéro, une, ou une infinité
Deux questions, dans cet ordre. La cible est-elle dans l'image ? Le noyau est-il trivial ?
Si b ∉ Im : aucune solution — et c'est là que les moindres carrés remplacent b par sa projection sur l'image. Si b ∈ Im et Ker = {0} : une seule. Si b ∈ Im et Ker ≠ {0} : une solution particulière plus tout le noyau — la droite de solutions équivalentes que la pénalité vient trancher.
« Les solutions forment une solution particulière plus le noyau, donc leur nombre est 0, 1 ou une infinité selon que b est atteignable et que le noyau est trivial. »
| système | image ? | noyau | solutions |
|---|---|---|---|
| A x = (1 ; 1) | oui (Im = plan) | {0} | 1 : (1/3 ; 1/3) |
| B x = (1 ; 1) | non | droite | 0 |
| B x = (1 ; 2) | oui | droite | ∞ : (1 ; 0) + t(2 ; −1) |
Vérification de la première : 3x2 = 1 donne x2 = 1/3, puis 2x1 + 1/3 = 1 donne x1 = 1/3. Vérification de la troisième : B(1 ; 0) = (1 ; 2), et ajouter t(2 ; −1) ne change rien puisque c'est le noyau.
Les deux dernières lignes se ressemblent et n'ont rien à voir : la deuxième échoue à cause de l'image, la troisième hésite à cause du noyau. C'est la droite de solutions du déroulé D4 sous colinéarité.
Affine ≠ linéaire : le biais décale
f(x) = Wx + b n'est pas linéaire dès que b ≠ 0, et le test tient en une ligne : f(0) = b ≠ 0. Une application linéaire fixe l'origine, une affine la déplace.
C'est une action linéaire suivie d'un décalage. Dans un neurone, W tourne et étire la frontière, b la translate ; sans biais, toute frontière est forcée de passer par l'origine.
« Le biais déplace l'image de zéro, donc f(0) vaut b et non 0, donc f est affine et non linéaire, donc une couche sans biais force toutes ses frontières à passer par l'origine. »
| quantité | valeur |
|---|---|
| f(0) | (1 ; 1) — l'origine a bougé |
| f(x) | (3 ; 3) + (1 ; 1) = (4 ; 4) |
| 2 f(x) | (8 ; 8) |
| f(2x) | (6 ; 6) + (1 ; 1) = (7 ; 7) |
| écart | (7 ; 7) − (8 ; 8) = (−1 ; −1) = −b |
L'écart ne dépend pas de x : il vaut −b, toujours. De même f(e1 + e2) = (4 ; 4) tandis que f(e1) + f(e2) = (5 ; 5) — le biais a été compté deux fois.
Même grille qu'à la figure 1, plus un décalage. Les deux curseurs sont les coordonnées de b : la grille entière glisse, et l'origine (cercle creux) s'éloigne de son image f(0) = b (point rouge). Les readouts comparent f(2x) et 2f(x) : leur écart vaut −b, quel que soit W. Remets les deux curseurs à 0 : l'écart s'annule et la linéarité revient — c'est le seul cas où elle tient.
Le témoin atteignable
Pour montrer qu'un minimum ne peut pas monter quand on élargit l'espace des candidats, il suffit d'exhiber un point du nouvel espace qui reproduit l'ancien optimum. Le nouveau minimum est alors au plus l'ancien.
Ajouter une variable, c'est ajouter une colonne à X : l'image grandit et contient l'ancienne, donc la projection de y ne peut que s'en rapprocher. Le témoin est la version algébrique de ce dessin.
« L'ancien optimum est atteignable dans le nouvel espace, donc le nouveau minimum est au plus l'ancien, donc élargir ne peut que faire baisser le RSS. »
x = (1, 2, 3, 4, 5), y = (2, 3, 5, 4, 6), et une variable ajoutée z = (1, 0, 1, 0, 1) choisie sans rapport avec y.
| modèle | ajustement | RSS | R2 |
|---|---|---|---|
| 1 + x | 1,3 + 0,9 x | 19/10 = 1,9 | 0,81 |
| 1 + x + z | 0,8 + 0,9 x + (5/6) z | 16/15 ≈ 1,067 | 67/75 ≈ 0,893 |
| témoin : βz = 0 | 1,3 + 0,9 x | 19/10 = 1,9 | 0,81 |
TSS = 10 dans les deux cas. La troisième ligne est le témoin : elle vit dans le grand espace et y vaut exactement l'ancien RSS, donc le minimum du grand espace lui est inférieur ou égal. Le calcul confirme (1,067 < 1,9), mais il n'était pas nécessaire : l'argument précède le chiffre.
Même geste pour le biais du max, pour un tuning évalué sur son propre test, pour l'OOB face au test — c'est le pont b02.
Où ça casse casse
La lecture par colonnes est une intuition, pas un théorème de calcul numérique. Trois endroits où elle se retourne contre soi, et un où l'implémentation triche.
« Le déterminant est un test exact sur le papier et fragile en machine, donc un zéro numérique ne se lit pas sur det, donc le vrai diagnostic est le conditionnement. »
- Lire par lignes. Ax ligne par ligne, c'est deux produits scalaires : correct pour calculer, muet pour voir. Aucune ligne ne dit où part la base. Pour l'intuition, toujours les colonnes ; pour le calcul à la main, les lignes.
- det = 0 en flottant. En machine, un déterminant vaut 10−15 et non 0 — et un det minuscule peut venir d'une simple mise à l'échelle. Le bon diagnostic n'est pas det mais le conditionnement (p04-03) : de combien une petite erreur sur b se propage sur x.
- Confondre « pas de solution » et « solution non unique ». La première vient de l'image (la cible n'est pas atteignable), la seconde du noyau (plusieurs entrées, même sortie). Les deux arrivent en même temps sur une matrice de rang 1 et n'ont pas le même remède : projeter d'un côté, choisir de l'autre.
- Un réseau sans biais. Toutes les frontières passent alors par l'origine : le modèle ne peut pas décaler son seuil. Standardiser les entrées recentre les données autour de 0 et masque le symptôme sans rendre au modèle le degré de liberté qui lui manque.
Résumé
- Ax = combinaison des colonnes ; les colonnes sont les images de la base, donc elles suffisent à décrire l'action.
- Linéaire ⇒ la grille reste une grille, l'origine reste fixe ; |det| = aire du parallélogramme ; det = 0 écrase.
- Image = espace engendré par les colonnes ; rang = sa dimension, c'est-à-dire le nombre de colonnes indépendantes.
- Noyau = les entrées envoyées sur 0. Non trivial ⇒ deux entrées se confondent ⇒ information perdue ⇒ non inversible. rang + dim Ker = n.
- Ax = b : 0 solution (image), 1 (noyau trivial), ou une infinité = x0 + Ker. Dans le dernier cas, c'est la pénalité qui choisit.
- Wx + b est affine : f(0) = b, l'écart de linéarité vaut −b. Sans biais, toute frontière passe par l'origine.
- Témoin atteignable : élargir l'espace ne fait jamais monter un minimum — l'ancien optimum y est encore disponible.
Chaîne verbalisée — une prise, à voix haute
- Que fait A à (1 ; 0) et (0 ; 1) ?Elle les envoie sur ses deux colonnes — et tout le reste suit par linéarité.
- Que signifie det A = 0, géométriquement et algébriquement ?Le carré unité s'écrase (aire nulle) ; les colonnes sont liées ; le noyau n'est pas trivial.
- Pourquoi une matrice à noyau non trivial n'est-elle pas inversible ?x et x + k ont la même image : on ne peut pas remonter de la sortie à l'entrée.
- Combien de solutions à Ax = b ?0 si b est hors de l'image ; 1 si le noyau est trivial ; une infinité sinon — x0 + Ker.
- Wx + b est-il linéaire ?Non : f(0) = b ≠ 0. C'est affine — une action linéaire puis un décalage.
- Pourquoi R2 ne baisse-t-il jamais quand on ajoute une variable ?Le témoin β = 0 est atteignable dans le grand espace et redonne l'ancien RSS.
Ponts et cartes
algebre::matrice-action (colonnes, image de la base) · algebre::noyau (noyau, rang, inversibilité) · algebre::affine (biais, f(0) = b) · algebre::temoin (le témoin atteignable).
Une carte qui résiste après cette chaîne est une carte à refondre, pas une section à relire.