FichesCarte › Partie 04 · Matrice = action › chaîne 01

Une matrice est une action

Que fait une matrice quand on la multiplie par un vecteur ? Une seule lecture tient toute la chaîne : Ax est une combinaison des colonnes de A, donc les colonnes sont les images de la base, donc tout le reste suit. Deux machines servent de fil rouge : A = 2103, qui déforme le plan sans rien perdre, et B = 1224, dont les deux colonnes sont colinéaires — B écrase le plan sur une droite, et ce qui est écrasé ne revient pas.

Ce que cette chaîne suppose acquis
  • 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).
Hypothèses posées
H1On lit une matrice par colonnes : Ax = Σ xj · (colonne j). C'est le seul réflexe de la chaîne ; la lecture par lignes est reléguée au pas 9. H2Dimension 2, pour voir. Rien de ce qui suit ne dépend de la dimension : les mêmes phrases valent pour une matrice 768 × 768.

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. »

Application — les deux machines du fil rouge
matricecolonne 1colonne 2ce 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.

A x = x1 · col1 + x2 · col2

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. »

Application — quatre vecteurs passés dans A
xcombinaisonA 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 abcd = adbc  ;  aire = |det|

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. »

Application — le carré unité sous A, puis sous B

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.

Le signe du déterminant. Négatif, il dit que l'orientation est retournée (le plan a été replié comme un miroir) ; l'aire, elle, est la valeur absolue. On n'en fera rien de plus ici.
Figure 1 — la grille bouge, l'origine reste

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.

Im A = {Ax} = vect(col1, col2)  ;  rang = dim Im

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. »

Application — A couvre le plan, B 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 2y1y2 = 0.

cible2y1y2dans Im B ?
(1 ; 2)0oui
(1 ; 1)1non
(3 ; 6)0oui

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.

rang A + dim Ker A = n   (théorème du rang)

« 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. »

Application — le noyau de B est une droite

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écritureB 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.

Figure 2 — tout un segment d'entrées, une seule sortie

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 ?

{x : Ax = b} = x0 + Ker A

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. »

Application — trois systèmes, trois verdicts
systèmeimage ?noyausolutions
A x = (1 ; 1)oui (Im = plan){0}1 : (1/3 ; 1/3)
B x = (1 ; 1)nondroite0
B x = (1 ; 2)ouidroite : (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.

f(u + v) − f(u) − f(v) = −b  ;  f(2x) − 2f(x) = −b

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. »

Application — W = A, b = (1 ; 1), x = (1 ; 1)
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.

Le tour du vecteur augmenté. On retrouve une vraie linéarité en ajoutant une coordonnée constante à 1 : b devient une colonne de plus. Le décalage n'a pas disparu, il a changé de place.
Figure 3 — l'origine n'est plus fixe

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.

minnouveau ≤ valeur au témoin = minancien

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. »

Application — R2 ne baisse jamais, sur cinq points

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èleajustementRSSR2
1 + x1,3 + 0,9 x19/10 = 1,90,81
1 + x + z0,8 + 0,9 x + (5/6) z16/15 ≈ 1,06767/75 ≈ 0,893
témoin : βz = 01,3 + 0,9 x19/10 = 1,90,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. »

Quatre limites
  • 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é

À retenir
  1. Ax = combinaison des colonnes ; les colonnes sont les images de la base, donc elles suffisent à décrire l'action.
  2. Linéaire ⇒ la grille reste une grille, l'origine reste fixe ; |det| = aire du parallélogramme ; det = 0 écrase.
  3. Image = espace engendré par les colonnes ; rang = sa dimension, c'est-à-dire le nombre de colonnes indépendantes.
  4. Noyau = les entrées envoyées sur 0. Non trivial ⇒ deux entrées se confondent ⇒ information perdue ⇒ non inversible. rang + dim Ker = n.
  5. Ax = b : 0 solution (image), 1 (noyau trivial), ou une infinité = x0 + Ker. Dans le dernier cas, c'est la pénalité qui choisit.
  6. Wx + b est affine : f(0) = b, l'écart de linéarité vaut −b. Sans biais, toute frontière passe par l'origine.
  7. Témoin atteignable : élargir l'espace ne fait jamais monter un minimum — l'ancien optimum y est encore disponible.
« Je lis une matrice par ses colonnes : ce sont les images de la base, et tout le reste suit par linéarité. Si les colonnes sont liées, le noyau n'est pas trivial, deux entrées se confondent et la matrice n'est pas inversible ; résoudre Ax = b donne alors soit rien, soit une solution plus tout le noyau — et c'est là qu'une pénalité choisit. »

Chaîne verbalisée — une prise, à voix haute

6 maillons · clique pour révéler après avoir dit
  1. Que fait A à (1 ; 0) et (0 ; 1) ?
    Elle les envoie sur ses deux colonnes — et tout le reste suit par linéarité.
  2. 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.
  3. 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.
  4. Combien de solutions à Ax = b ?
    0 si b est hors de l'image ; 1 si le noyau est trivial ; une infinité sinon — x0 + Ker.
  5. Wx + b est-il linéaire ?
    Non : f(0) = b ≠ 0. C'est affine — une action linéaire puis un décalage.
  6. 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.