Algèbre linéaire pour l’apprentissage automatique : vecteurs, matrices et pourquoi l’IA multiplie surtout
Vecteurs, produit scalaire et similarité cosinus, matrices comme transformations, déterminant, couche de réseau de neurones comme Wx + b et vecteurs propres — avec des figures calculées par le code.
Série Bases de l’IA Partie 9 sur 52
- Carte de l’intelligence artificielle : qu’est-ce qui est quoi et comment tout s’emboîte
- Brève histoire de l’intelligence artificielle : de Turing aux modèles de langage
- Données, modèle, entraînement, inférence : les notions de base sur un seul exemple
- Lire la notation mathématique : symboles, indices, sommes et quantificateurs
- Ensembles et relations : les briques dont sont faites les définitions en IA
- Fonctions et applications : pourquoi tout modèle d’IA est une fonction
- Logique et démonstrations : les règles selon lesquelles on raisonne en IA
- Graphes et arbres : la structure sur laquelle reposent la recherche et les réseaux de neurones
- Algèbre linéaire pour l’apprentissage automatique : vecteurs, matrices et pourquoi l’IA multiplie surtout
- Dérivées, gradient et règle de dérivation en chaîne : comment un modèle sait dans quelle direction apprendre
- Descente de gradient : comment un modèle apprend
- Qu’est-ce que la probabilité : du lancer de dé aux axiomes de Kolmogorov
- Probabilité conditionnelle et théorème de Bayes : comment réviser une estimation quand on apprend du nouveau
- Variable aléatoire et fonction de répartition : une seule fonction qui dit tout de la loi
- Fonction de densité et fonction de masse : pourquoi une variable continue a une probabilité nulle en chaque point
- Espérance, variance et covariance : où se situe une loi, quelle est sa largeur et ce qui varie avec quoi
- Panorama des lois de probabilité : Bernoulli, binomiale, Poisson, uniforme, normale et exponentielle
- Loi des grands nombres et théorème central limite : pourquoi les moyennes sont si prévisibles
- Statistique et estimation de paramètres : maximum de vraisemblance, MAP et intervalles de confiance
- Théorie de l’information : entropie, entropie croisée et divergence KL — d’où viennent les fonctions de perte
- Recherche dans l’espace d’états : BFS, DFS, UCS et A* en animations
- Jeux et adversaires : minimax, élagage alpha-bêta et Monte Carlo tree search
- Satisfaction de contraintes : backtracking, propagation de contraintes et AC-3 sur un sudoku et une carte des régions tchèques
- Logique et systèmes à base de connaissances : chaînage avant et arrière, résolution et systèmes experts
- Planification : STRIPS, monde des blocs, heuristiques par relaxation et planification dans les agents IA
- Recherche locale et recuit simulé : un voyageur de commerce à travers les chefs-lieux de région tchèques
- Algorithmes génétiques : population, croisement, mutation et sélection sur un sac à dos de randonnée
- Stratégies d’évolution et programmation génétique : de la règle du cinquième à la loi de Kepler
- Optimisation par colonies de fourmis : comment une piste de phéromone trouve un chemin court
- Optimisation par essaim de particules : inertie, expérience propre et expérience de l’essaim
- Neuroévolution : faire évoluer les poids et la forme des réseaux de neurones, et l’algorithme NEAT
- Ensembles flous et fonctions d’appartenance : comment écrire « un peu chaud »
- Logique floue et probabilité : pourquoi « un peu chaud » ne veut pas dire « probablement chaud »
- Logique floue : t-normes, implications et règles SI–ALORS
- Commande floue : Mamdani et Sugeno, du ventilateur au pendule inversé sur un chariot
- Clustering flou : l’algorithme fuzzy c-means et les points entre les clusters
- Systèmes neuro-flous (ANFIS) : des règles floues qui apprennent à partir des données
- Chaînes de Markov : matrice de transition, distribution stationnaire et PageRank
- Modèles de Markov cachés : l’algorithme de Viterbi et le casino malhonnête
- Réseaux bayésiens : pourquoi l’herbe est mouillée et ce que cela implique pour l’arroseur
- Le filtre de Kalman : comment estimer, à partir de mesures imprécises, où se trouve une voiture et à quelle vitesse elle roule
- Types d’apprentissage automatique : supervisé, non supervisé, semi-supervisé et plus
- Prompts, contexte et RAG : comment donner au modèle les bonnes informations
- Autoencodeurs variationnels (VAE) : de nouvelles images à partir d’un espace latent continu
- Réseaux antagonistes génératifs (GAN) : le faussaire contre le détective
- Modèles de diffusion : comment une image naît du bruit pur
- Processus de décision markoviens : états, actions, récompenses et équations de Bellman
- Q-learning et DQN : apprendre la valeur des actions, du tableau au réseau de neurones
- Policy gradient et PPO : apprendre directement la politique
- Comment fonctionne un agent IA : un modèle de langage en boucle avec des outils
- Programmer avec des agents IA : consigne, tests et vérification
- Évaluation et sécurité des systèmes d’IA : comment mesurer et comment surveiller
Programme complet de la série 52 sur 83 sujets publiés
- Ce que sont un vecteur et le produit scalaire — et comment on en tire la similarité entre mots.
- Pourquoi une matrice est une transformation de l’espace, ce que dit le déterminant et pourquoi multiplier des matrices, c’est composer.
- Qu’une couche de réseau de neurones est Wx + b avec une non-linéarité, et ce que sont les vecteurs propres sur lesquels repose la PCA.
Utile à connaître avant : Lire la notation mathématique : symboles, indices, sommes et quantificateurs, Fonctions et applications : pourquoi tout modèle d’IA est une fonction
Si vous démontiez n’importe quel modèle d’intelligence artificielle jusqu’au bout, vous trouveriez surtout une opération : la multiplication de matrices. Pour le modèle, une image est un tableau de nombres, un mot est une liste de nombres, une couche de réseau de neurones est une matrice, et les cartes graphiques sont si importantes précisément parce qu’elles multiplient des matrices plus vite que n’importe quoi d’autre. L’algèbre linéaire est la langue dans laquelle l’IA calcule.
Nous n’allons pas parcourir tout le programme universitaire. Nous verrons seulement ce dont vous aurez besoin dans les parties suivantes — et pour chaque notion, nous montrerons où elle intervient en IA.
1. Vecteurs : une flèche et une liste de nombres
Définition — vecteur et opérations sur les vecteurs
Un vecteur de ℝn est un n-uplet ordonné de nombres réels u = (u1, …, un) ; les nombres ui sont ses composantes.
La somme se calcule composante par composante : u + v = (u1 + v1, …, un + vn). La multiplication par un scalaire donne cu = (cu1, …, cun).
L’expression c1v1 + … + ckvk est une combinaison linéaire des vecteurs v1, …, vk.
Un vecteur a deux visages. Pour l’ordinateur, c’est une liste de nombres — le prix, la surface et l’âge d’un appartement. Pour l’imagination, c’est une flèche qui va de l’origine à un point. Additionner des vecteurs, c’est mettre les flèches bout à bout : qui avance d’abord selon u, puis selon v, arrive en u + v.
En IA, presque tout est un vecteur. Une image en noir et blanc de 28 × 28 pixels est un vecteur de ℝ784. Un mot dans un modèle de langage est un vecteur de centaines voire de milliers de composantes — ce qu’on appelle un plongement (embedding). Et les paramètres du modèle tout entier forment un seul vecteur géant θ.
2. Produit scalaire, longueur et similarité
Définition — produit scalaire, norme, angle
Produit scalaire u · v = ∑i=1n uivi (noté aussi u⊤v).
Longueur (norme euclidienne) ‖u‖ = √(u · u). Pour l’angle φ entre deux vecteurs, cos φ = (u · v) / (‖u‖ ‖v‖) ; les vecteurs sont orthogonaux quand u · v = 0.
Le produit scalaire multiplie les nombres correspondants et les additionne. Le résultat dit à quel point deux vecteurs « pointent dans la même direction » : positif et grand — semblables, nul — perpendiculaires, négatif — opposés.
Pour u = (3, 1) et v = (1, 2), on a u · v = 3 · 1 + 1 · 2 = 5, ‖u‖ = √10 ≈ 3,16, ‖v‖ = √5 ≈ 2,24 et cos φ = 5 / √50 ≈ 0,71 — les vecteurs forment un angle de 45°.
Le cosinus de l’angle est célèbre en IA sous le nom de similarité cosinus. Imaginez un plongement de mots miniature à trois composantes « animal, domestique, a des roues » : chat (0,9; 0,8; 0), chien (0,85; 0,9; 0,05), voiture (0; 0,3; 0,95). La similarité entre chat et chien vaut 0,995, entre chat et voiture seulement 0,20. C’est exactement ainsi que les moteurs de recherche trouvent des documents « semblables » et les modèles de langage des mots « semblables » — simplement dans des centaines de dimensions au lieu de trois.
3. Matrices et produit par un vecteur
Définition — matrice et produit d’une matrice par un vecteur
Une matrice de taille m × n est un tableau de nombres réels à m lignes et n colonnes ; Aij est le coefficient de la i-ème ligne et de la j-ème colonne.
Pour A ∈ ℝm×n et x ∈ ℝn, Ax ∈ ℝm est le vecteur de composantes (Ax)i = ∑j Aijxj — le produit scalaire de la i-ème ligne avec x.
Une matrice est une machine à vecteurs : vous y mettez un vecteur et vous en obtenez un autre. Chaque ligne de la matrice fait un produit scalaire avec l’entrée, et le résultat donne une composante de la sortie.
A = [2 1; 1 3], x = (1, 2)
Ax = (2 · 1 + 1 · 2, 1 · 1 + 3 · 2) = (4, 7)
4. La matrice comme transformation de l’espace
La meilleure façon de « voir » une matrice est de regarder ce qu’elle fait au plan. Toute matrice 2 × 2 envoie un quadrillage sur un autre quadrillage — les droites restent des droites et l’origine reste en place. C’est pourquoi on parle d’application linéaire. En gris le quadrillage d’origine, en vert le quadrillage transformé, en orange l’image du carré unité :
[0 -1; 1 0] · aire × 1
[1,5 0; 0 1,5] · aire × 2,25
[1 1; 0 1] · aire × 1
[1 0; 0 0] · aire × 0
Définition — déterminant d’une matrice 2 × 2
det [a b; c d] = ad − bc. Sa valeur absolue est le facteur de changement d’aire : le carré unité est envoyé sur un parallélogramme d’aire |det A|.
Le déterminant dit par combien la matrice multiplie les aires. La rotation et le cisaillement ne changent pas l’aire (det = 1), l’agrandissement 1,5× la multiplie par 2,25× et la projection écrase le plan sur une droite — l’aire et le déterminant sont nuls, et ce qui a été écrasé une fois ne se déplie plus.
5. Multiplier des matrices, c’est composer
Définition — produit de matrices
Pour A ∈ ℝm×k et B ∈ ℝk×n, (AB)ij = ∑l AilBlj. On a (AB)x = A(Bx) : le produit de matrices est la composition des applications — d’abord B, puis A.
La multiplication de matrices est associative, mais en général pas commutative : AB ≠ BA.
Multiplier deux matrices, c’est brancher deux machines l’une derrière l’autre pour n’en faire qu’une. Et comme pour les fonctions, l’ordre compte : tourner puis cisailler ne donne pas la même chose que cisailler puis tourner.
R = [0 −1; 1 0] (rotation), Z = [1 1; 0 1] (cisaillement)
RZ = [0 −1; 1 1], ZR = [1 −1; 1 0]
6. Une couche de réseau de neurones est une matrice
On peut maintenant dire précisément ce que fait une couche d’un réseau de neurones :
y = ReLU(Wx + b)
La matrice W (les poids) et le vecteur b (le biais) sont les paramètres que le réseau apprend. Pour W = [0,5 −1 2; 1 0 −0,5], l’entrée x = (1, 2, 3) et b = (0, −1) :
Wx = (0,5 − 2 + 6, 1 + 0 − 1,5) = (4,5; −0,5)
Wx + b = (4,5; −1,5), ReLU → (4,5; 0)
La couche a transformé trois nombres en deux et a mis le négatif à zéro. Un réseau profond est une suite de telles étapes — et sans fonction non linéaire (ReLU, sigmoïde), il s’effondrerait tout entier en une seule matrice, car la composée d’applications linéaires est encore une application linéaire. Quand le réseau traite plusieurs entrées à la fois (un lot, ou batch), il les range dans une matrice X et tout le lot se calcule en une seule multiplication WX — et c’est précisément l’opération que les cartes graphiques exécutent le plus vite.
7. Matrice inverse et systèmes d’équations
Définition — matrice inverse
Une matrice carrée A est inversible s’il existe A−1 telle que A−1A = AA−1 = I (matrice identité). Une matrice est inversible si et seulement si det A ≠ 0.
Pour 2 × 2 : [a b; c d]−1 = (1 / (ad − bc)) · [d −b; −c a]. Le système Ax = y a alors une unique solution x = A−1y.
La matrice inverse annule la transformation. Ce n’est possible que si la matrice n’a pas écrasé l’espace — et c’est justement ce que surveille le déterminant.
Pour A = [2 1; 1 3], det A = 2 · 3 − 1 · 1 = 5 et A−1 = [0,6 −0,2; −0,2 0,4]. À partir du résultat connu (4, 7), on retrouve ainsi l’entrée (1, 2). C’est aussi comme cela qu’on calcule la régression linéaire sous forme fermée — la méthode des moindres carrés mène aux équations normales (X⊤X)θ = X⊤y.
8. Valeurs propres et vecteurs propres
Définition — valeur propre et vecteur propre
Un vecteur non nul v est un vecteur propre de la matrice A associé à la valeur propre λ si Av = λv.
Les valeurs propres sont les racines de l’équation det(A − λI) = 0. Une matrice symétrique a des valeurs propres réelles et des vecteurs propres orthogonaux entre eux.
La plupart des vecteurs, la matrice les fait tourner ailleurs. Les vecteurs propres sont l’exception : la matrice se contente de les étirer ou de les raccourcir, la direction reste la même. La valeur propre dit de combien. Ce sont les « axes naturels » de la transformation.
Les valeurs propres de la matrice [2 1; 1 3] sont (5 ± √5)/2, soit ≈ 3,62 et ≈ 1,38. L’ellipse est étirée 3,62× dans la direction du premier vecteur propre et 1,38× dans celle du second. Les flèches grises, dans une direction quelconque, tournent après la transformation ; les axes orange, non. C’est là-dessus que repose l’analyse en composantes principales (PCA) : les vecteurs propres de la matrice de covariance des données indiquent les directions dans lesquelles les données varient le plus, et les valeurs propres, de combien.
9. L’algèbre linéaire en intelligence artificielle
- Les données forment une matrice : une ligne est un exemple, une colonne une caractéristique.
- Les plongements (embeddings) sont des vecteurs ; la similarité se mesure par le produit scalaire ou le cosinus.
- Une couche du réseau, c’est Wx + b plus une non-linéarité ; l’entraînement modifie les coefficients des matrices W.
- L’attention dans les transformers calcule les produits scalaires de toutes les requêtes (queries) avec toutes les clés (keys) en une fois — la multiplication de matrices QK⊤.
- La PCA et la compression cherchent des vecteurs propres, les systèmes de recommandation décomposent la matrice « utilisateur × film » en un produit de matrices plus petites (factorisation de matrices).
10. Résumé
- Un vecteur est à la fois une liste de nombres et une flèche ; il s’additionne composante par composante.
- Le produit scalaire mesure à quel point deux vecteurs pointent dans la même direction — la similarité cosinus en est la version normalisée.
- Une matrice est une transformation linéaire de l’espace ; le déterminant dit par combien elle multiplie l’aire, et zéro signifie que la transformation ne peut pas être annulée.
- Multiplier des matrices, c’est composer des transformations, et une couche de réseau de neurones, c’est Wx + b avec une non-linéarité.
- Les vecteurs propres sont les directions que la matrice se contente d’étirer — c’est sur eux que repose la PCA.
Vous voyez les choses autrement ? Écrivez à support@coden-app.com.