Aller au contenu
English

Les opérations sur les vecteurs

  • Leçon 5
  • 45 min
  • Module 2 : Vecteurs et matrices
Leçon 5 sur 18 · Mathématiques et statistiques essentielles pour l'IALes opérations sur les vecteurs

Ce que vous saurez faire

Un modèle transforme souvent le vecteur de caractéristiques d’un billet de soutien en un score par multiplication et addition. Cette leçon présente les quatre opérations derrière cette étape. Vous pourrez ensuite suivre le calcul d’un score et repérer une erreur de dimensions avant qu’elle fasse échouer votre code.

Carnet JupyterFacultatif : vérifier les nombres dans un carnetColab · Kaggle · GitHub · en anglais

Le carnet (notebook) Jupyter est facultatif : une calculatrice suffit pour cette leçon. Il calcule les scores, les longueurs et les dimensions avec de simples listes Python. Des vérifications indiquent si votre réponse est correcte, sans l’afficher. Ensuite, il utilise numpy pour montrer l’erreur de dimensions de Tomás et pourquoi un changement de forme ne la corrige pas. Sa première cellule installe numpy 2.5.3; Colab et Kaggle ont déjà numpy.

Le carnet est en anglais. Colab et Kaggle ouvrent votre propre copie. Il faut un compte Google ou Kaggle gratuit. Vous êtes bloqué ? Consultez le carnet de solution.

Avant de commencerCe qu’il faut savoir et avoir sous la mainEnviron 45 minutes

Ce que vous devez savoir

Ce que vous devez préparer (le carnet ne nécessite rien de cela)

  • Une calculatrice. Une touche de racine carrée facilite le calcul de la longueur.
  • Votre fichier c03-notes.md, avec les vecteurs de T-4104 et T-4105 de Représenter les observations : exercice guidé : ajouter deux billets. L’exercice guidé de cette leçon calcule leurs scores. S’ils manquent ou sont incorrects, copiez-les du résultat attendu de cette section. T-4104 est (4, 2, 2, 0) et T-4105 est (1, 0, 0, 0).
  • Un nouveau titre dans c03-notes.md : ### Vector operations (les opérations sur les vecteurs).

Le carnet a été testé dans Jupyter avec Python 3.14.6 et numpy 2.5.3.

  • Le score d’un modèle linéaire. Un simple filtre antipourriel ou classificateur de billets attribue un poids à chaque caractéristique, multiplie les valeurs et les additionne. Cette somme est un produit scalaire. Les modèles plus grands répètent cette étape des millions de fois.
  • La moyenne de plusieurs plongements (embeddings). Un système de recherche peut représenter un long document par la moyenne des plongements de ses paragraphes. Une moyenne de vecteurs est une addition suivie d’une multiplication par un scalaire.
  • Une étape d’entraînement. Au module 4, un modèle apprend avec la mise à jour « nouveaux poids = anciens poids − taux d’apprentissage × gradient ». C’est une multiplication par un scalaire et une addition de vecteurs.
  • Une erreur de dimensions. « Shapes (1200, 4) and (5, 4) not aligned » signifie que ces dimensions ne sont pas compatibles. C’est l’un des messages d’erreur les plus courants en apprentissage automatique. Après cette leçon, vous pourrez le comprendre.

Additionner des vecteurs et les multiplier par un scalaire

Section intitulée « Additionner des vecteurs et les multiplier par un scalaire »

Deux caractéristiques sont faciles à dessiner. Commençons donc par deux. Prenez deux billets du même client et comptez deux types de mots dans chacun : remboursement et livraison (« colis », « retard », « suivi »).

  • Premier billet : a = (3, 1) : 3 mots de remboursement, 1 mot de livraison.
  • Deuxième billet : b = (1, 2) : 1 mot de remboursement, 2 mots de livraison.

Addition. Grace veut un seul vecteur pour toute la conversation du client. Elle additionne les nombres, position par position : (3 + 1, 1 + 2) = (4, 3). Dans un dessin, placez la flèche de b à la pointe de a. La somme est la flèche qui va du départ à la nouvelle pointe.

Addition de vecteurs : placez b à la pointe de a. La somme a + b va du départ à la nouvelle pointe.
Description textuelle du graphique

L’axe horizontal représente les mots de remboursement et l’axe vertical, les mots de livraison. Les deux vont de 0 à 5. La flèche a va de (0, 0) à (3, 1). La flèche b va de (0, 0) à (1, 2). Une copie de b commence à la pointe de a, en (3, 1). Elle avance de 1 vers la droite et de 2 vers le haut, jusqu’à (4, 3). La somme a + b va directement de (0, 0) à (4, 3). Si vous commencez par b, puis ajoutez a, vous arrivez à la même pointe : l’ordre d’addition ne change pas la somme.

Multiplication par un scalaire. Multipliez chaque nombre d’un vecteur par le même nombre, appelé un scalaire. 2 × a = (6, 2). La flèche pointe dans la même direction et sa longueur double. Imaginez un billet deux fois plus long, avec la même proportion de mots. Un facteur entre 0 et 1 raccourcit la flèche. Un facteur négatif inverse sa direction.

La multiplication par un scalaire change la longueur d'un vecteur, pas sa direction : 0,5a, a et 2a sont sur une même droite.
Description textuelle du graphique

Trois flèches partent de (0, 0) et sont sur la même droite. La plus courte, 0,5a, se termine en (1,5, 0,5). Celle du milieu, a, se termine en (3, 1). La plus longue, 2a, se termine en (6, 2). Les trois pointent dans la même direction. Seule leur longueur diffère.

La moyenne de vecteurs utilise les deux opérations. Additionnez les vecteurs, puis multipliez par 1 ÷ (leur nombre). La moyenne de a et b est (4, 3) × 0,5 = (2, 1,5).

Voici les formules pour des vecteurs à deux positions :

a+b=(a1+b1, a2+b2)c a=(c a1, c a2)\mathbf{a} + \mathbf{b} = (a_1 + b_1,\ a_2 + b_2) \qquad c\,\mathbf{a} = (c\,a_1,\ c\,a_2)

Lisez-les ainsi : « additionner position par position » et « multiplier chaque position par c ». Vous pouvez seulement additionner deux vecteurs de même dimension. Additionner un vecteur de 4 caractéristiques à un vecteur de 3 caractéristiques n’a aucun sens.

Priya veut un score d’urgence pour chaque billet. Elle utilise les quatre caractéristiques de la leçon 1 et attribue un poids à chacune. Ce nombre indique l’importance de la caractéristique dans le score.

Caractéristique Valeur pour T-4101 Poids Valeur × poids
Longueur (centaines de mots) 2 0,5 1
Mots de remboursement 2 2 4
Billets précédents 0 1 0
Photo 1 0,5 0,5
Somme 5,5

Le score de T-4101 est 5,5. Cette opération « multiplier position par position, puis additionner » est le produit scalaire. Avec le vecteur de poids w = (0,5, 2, 1, 0,5) et le vecteur de caractéristiques x = (2, 2, 0, 1) :

w⋅x=w1x1+w2x2+w3x3+w4x4=1+4+0+0.5=5.5\mathbf{w} \cdot \mathbf{x} = w_1 x_1 + w_2 x_2 + w_3 x_3 + w_4 x_4 = 1 + 4 + 0 + 0.5 = 5.5

Lisez « w produit scalaire x ». Le résultat est un seul nombre, un scalaire.

Les poids indiquent ce qui compte dans le score :

  • Un grand poids positif (mots de remboursement, 2) fait beaucoup augmenter le score grâce à cette caractéristique.
  • Un poids de 0 fait ignorer la caractéristique au modèle.
  • Un poids négatif fait diminuer le score grâce à cette caractéristique.

Les trois billets de Priya obtiennent ces scores :

Billet Caractéristiques x Produits avec w Score w · x
T-4101 (2, 2, 0, 1) 1 + 4 + 0 + 0,5 5,5
T-4102 (1, 0, 3, 0) 0,5 + 0 + 3 + 0 3,5
T-4103 (3, 1, 1, 1) 1,5 + 2 + 1 + 0,5 5,0

Un modèle linéaire calcule ainsi un score : le produit scalaire des poids et des caractéristiques. Priya a choisi ces poids à la main. Un vrai modèle les apprend à partir de billets précédents (module 4). Il ajoute habituellement aussi un nombre constant, appelé le biais. Le score n’est pas une probabilité. Il sert seulement à ordonner les billets, tant que personne n’a testé ce que signifie un score de 5,5.

Pour deux flèches, le produit scalaire se représente aussi par un dessin. Il est grand et positif quand les flèches pointent dans une direction semblable. Il vaut 0 quand elles forment un angle droit. Il est négatif quand elles pointent dans des directions opposées. Essayez.

Explorer

Le produit scalaire de deux flèches

a
(3; 1)
b
(1; 2)
Produit scalaire a · b
5
Longueur de a
3,162
Longueur de b
2,236
Angle
45°

a · b = 3 × 1 + 1 × 2 = 3 + 2 = 5

L’angle est inférieur à 90°, donc le produit scalaire est positif.

−3−2−1012345−3−2−101234545°a (3; 1)b (1; 2)
−3−2−1012345−3−2−101234545°a (3; 1)b (1; 2)
Déplacez les pointes de a et b. La barre turquoise représente la projection de b sur a : la partie de b qui suit la direction de a. Le produit scalaire égale la longueur de a multipliée par celle de cette barre.
Description textuelle de l’explorateur

L’outil interactif montre deux flèches qui partent de (0, 0). Les deux axes du graphique vont de −3 à 5. Au départ, a = (3, 1) et b = (1, 2). Les valeurs affichées sont : produit scalaire 5, longueur de a 3,162, longueur de b 2,236 et angle 45°. La ligne de calcul montre a · b = 3 × 1 + 1 × 2 = 3 + 2 = 5. Une ligne pointillée part de la pointe de b et rejoint la droite passant par a à angle droit. La projection de b sur a se termine à cette intersection, en (1,5, 0,5). La projection mesure 1,581, et 3,162 × 1,581 = 5, le produit scalaire. Si b forme un angle droit avec a, par exemple b = (−1, 3), la projection a une longueur de 0. Le produit scalaire vaut alors 0. Si b pointe à l’opposé de a, par exemple b = (−2, 1), la projection pointe vers l’arrière. Le produit scalaire est alors négatif (−5).

La projection de b sur a est l’ombre de b sur la droite de a, avec une lumière perpendiculaire. Le produit scalaire est la longueur de a multipliée par la longueur signée de cette ombre. Il combine donc deux choses : la longueur des vecteurs et à quel point ils suivent la même direction. La leçon 3 sépare ces deux choses.

La longueur d’un vecteur, aussi appelée sa norme, est la longueur de sa flèche. Pour a = (3, 1), la flèche avance de 3 vers la droite et de 1 vers le haut. Le théorème de Pythagore donne :

∥a∥=32+12=10≈3.162\lVert \mathbf{a} \rVert = \sqrt{3^2 + 1^2} = \sqrt{10} \approx 3.162

Lisez « la longueur de a est la racine carrée de la somme des carrés ». La même règle fonctionne pour toute dimension. Pour T-4101, (2, 2, 0, 1) :

∥x∥=22+22+02+12=4+4+0+1=9=3\lVert \mathbf{x} \rVert = \sqrt{2^2 + 2^2 + 0^2 + 1^2} = \sqrt{4 + 4 + 0 + 1} = \sqrt{9} = 3

La longueur est la racine carrée du produit scalaire d’un vecteur avec lui-même : a · a = 9 + 1 = 10, et √10 ≈ 3,162.

Un vecteur de longueur 1 est un vecteur unitaire. Pour en créer un, divisez chaque nombre par la longueur : a ÷ 3,162 = (0,949, 0,316). Il pointe dans la même direction, mais sa longueur est exactement 1. Les systèmes de recherche stockent souvent les plongements sous forme de vecteurs unitaires. Vous verrez pourquoi à la leçon 3.

La multiplication matricielle : plusieurs produits scalaires à la fois

Section intitulée « La multiplication matricielle : plusieurs produits scalaires à la fois »

Priya ne calcule pas le score d’un seul billet. Elle calcule les scores de toute la matrice X de la leçon 1. Elle écrit les poids en colonne, dans une matrice de dimensions 4 × 1. Chaque ligne de X donne alors un produit scalaire avec cette colonne.

(220110303111)⏟X: 3×4×(0.5210.5)⏟w: 4×1=(5.53.55.0)⏟3×1\underbrace{\begin{pmatrix} 2 & 2 & 0 & 1 \\ 1 & 0 & 3 & 0 \\ 3 & 1 & 1 & 1 \end{pmatrix}}_{X:\ 3 \times 4} \times \underbrace{\begin{pmatrix} 0.5 \\ 2 \\ 1 \\ 0.5 \end{pmatrix}}_{\mathbf{w}:\ 4 \times 1} = \underbrace{\begin{pmatrix} 5.5 \\ 3.5 \\ 5.0 \end{pmatrix}}_{3 \times 1}

Chaque résultat est le produit scalaire d’une ligne de X avec la colonne w. Ce sont les trois mêmes scores que dans le tableau ci-dessus. C’est la multiplication matricielle : chaque ligne de la première matrice avec chaque colonne de la seconde. Chaque paire donne un produit scalaire.

Vous ne multiplierez pas de grandes matrices à la main. Une bibliothèque le fait. Ce que vous devez vérifier, ce sont les dimensions :

  • Une ligne de X et une colonne de W doivent avoir le même nombre de valeurs. Donc, le nombre de colonnes de la première matrice doit égaler le nombre de lignes de la seconde.
  • Le résultat a les lignes de la première matrice et les colonnes de la seconde.
(n×k)×(k×m)→(n×m)(n \times k) \times (k \times m) \rightarrow (n \times m)

Lisez ainsi : les deux nombres intérieurs doivent être égaux, et les deux nombres extérieurs donnent les dimensions du résultat.

Première matrice Seconde matrice Compatible? Résultat Signification
3 × 4 4 × 1 Oui, 4 = 4 3 × 1 Un score d’urgence pour chacun des 3 billets
1 200 × 4 4 × 1 Oui 1 200 × 1 Un score pour chaque billet de la semaine
1 200 × 4 4 × 5 Oui 1 200 × 5 Un score pour chacune des 5 équipes, pour chaque billet
1 200 × 4 5 × 4 Non, 4 ≠ 5 aucun La matrice de poids a une ligne par équipe. Transposez-la d’abord en 4 × 5
32 × 784 784 × 10 Oui 32 × 10 Un lot de 32 images de chiffres, 10 scores chacune (un par chiffre)
1 × 384 384 × 1 200 Oui 1 × 1 200 Le plongement d’un nouveau billet, produit scalaire avec 1 200 plongements précédents

La dernière ligne est le début d’une recherche : 1 200 produits scalaires en une étape. La leçon 3 explique comment les lire.

La transposée transforme une matrice pour que ses lignes deviennent des colonnes. Une matrice 5 × 4 devient 4 × 5. La ligne 1 devient la colonne 1. C’est la correction pour la quatrième ligne du tableau.

L’ordre compte. X × W et W × X sont différents. Prenez X de dimensions 1 200 × 4 et W de dimensions 4 × 5. Pour W × X, les nombres intérieurs sont 5 et 1 200. La multiplication n’est donc pas compatible.

Explorer

Vérifier les dimensions d'un produit matriciel

Forme de X
3 × 4
Forme de W
4 × 5
Forme de X × W
3 × 5
Travail pour une cellule
4 produits, puis une somme
Multiplications au total
60

Les nombres intérieurs sont égaux (4 = 4), donc le produit existe. Les nombres extérieurs donnent sa forme : 3 × 5. La cellule (1, 1) est le produit scalaire de la ligne 1 de X et de la colonne 1 de W.

X3 × 4billets × caractéristiques×W4 × 5caractéristiques × équipes=Résultat3 × 5billets × équipes
X3 × 4×W4 × 5=Résultat3 × 5
Changez les dimensions de X et W. La ligne 1 de X (bleue) et la colonne 1 de W (orange) produisent la cellule (1, 1) du résultat (turquoise).
Description textuelle de l’explorateur

L’outil interactif montre X × W = résultat sous forme de grilles de petits carrés. Au départ, X a 3 lignes (billets) et 4 colonnes (caractéristiques). W a 4 lignes et 5 colonnes (une par équipe). Le résultat a les dimensions 3 × 5 : 15 cellules. Chaque cellule nécessite 4 produits et une somme. Le produit nécessite donc 3 × 4 × 5 = 60 multiplications. Le graphique met en évidence la ligne 1 de X, la colonne 1 de W et la cellule (1, 1) du résultat. Cette ligne et cette colonne produisent cette cellule. Si vous réglez le nombre de lignes de W à 3, les nombres intérieurs sont 4 et 3. Il n’y a alors aucun résultat. Le graphique affiche un point d’interrogation et « 4 ≠ 3 ».

Exemple détaillé : l’erreur de dimensions de Tomás

Section intitulée « Exemple détaillé : l’erreur de dimensions de Tomás »

Tomás, l’ingénieur en IA, veut un score pour chaque équipe, plutôt qu’un seul score d’urgence. Il a une matrice de poids pour 5 équipes. Il calcule le produit pour une semaine de billets et obtient une erreur :

ValueError: shapes (1200,4) and (5,4) not aligned: 4 (dim 1) != 5 (dim 0)

Priya lit le message avec lui, une partie à la fois.

  1. Les premières dimensions, (1200, 4). La matrice de caractéristiques X : 1 200 billets, 4 caractéristiques. C’est correct.
  2. Les secondes dimensions, (5, 4). La matrice de poids W : 5 lignes et 4 colonnes. W a donc une ligne par équipe et une colonne par caractéristique.
  3. La règle. Les nombres intérieurs doivent être égaux : les 4 colonnes de X et le nombre de lignes de W. W a 5 lignes. 4 ≠ 5, donc le produit n’existe pas.
  4. La signification. Les poids de chaque équipe sont dans une ligne de W, mais le produit les exige en colonne.
  5. La correction. Transposez W. Ses dimensions deviennent 4 × 5. Maintenant, (1 200 × 4) × (4 × 5) est compatible.
  6. Vérifiez les dimensions du résultat. Les nombres extérieurs sont 1 200 et 5. Le résultat est 1 200 × 5 : un score pour chaque billet et chaque équipe. C’est ce que Tomás voulait.
  7. Vérifiez une valeur à la main. Priya prend T-4101, la ligne 1 de X, et l’équipe des retours, la colonne 1 de W transposée. Elle calcule ce produit scalaire sur papier et le compare à la cellule (1, 1) du résultat.

Dans numpy, un professionnel écrit X @ W.T : @ est la multiplication matricielle et .T est la transposée.

Exercice guidé : calculer les scores de deux billets

Section intitulée « Exercice guidé : calculer les scores de deux billets »

Utilisez les poids de Priya w = (0,5, 2, 1, 0,5). Utilisez les deux billets de la leçon 1 : T-4104 = (4, 2, 2, 0) et T-4105 = (1, 0, 0, 0).

  1. Pour T-4104, multipliez la valeur de chaque caractéristique par son poids. Écrivez les quatre produits.
  2. Additionnez les quatre produits. C’est le score d’urgence de T-4104.
  3. Faites la même chose pour T-4105.
  4. Classez les cinq billets (T-4101 à T-4105) du score le plus élevé au plus faible.
  5. Calculez la longueur de T-4104.
  6. Écrivez les dimensions de X (5 billets, 4 caractéristiques), celles de w en colonne et celles du résultat.
Afficher le résultat attendu
  1. T-4104 : 4 × 0,5 = 2, 2 × 2 = 4, 2 × 1 = 2, 0 × 0,5 = 0.
  2. Score = 2 + 4 + 2 + 0 = 8.
  3. T-4105 : 0,5 + 0 + 0 + 0 = 0,5.
  4. T-4104 (8), T-4101 (5,5), T-4103 (5,0), T-4102 (3,5), T-4105 (0,5).
  5. √(16 + 4 + 4 + 0) = √24 ≈ 4,899.
  6. (5 × 4) × (4 × 1) → 5 × 1 : un score par billet.

Vérification : T-4105 demande un changement d’adresse. Grace s’attend à un score très faible pour ce billet. Si votre score pour T-4105 est élevé, vérifiez que les poids suivent le même ordre que les caractéristiques.

Exécutez du Python dans votre navigateur

Facultatif : vérifier les scores avec du code

Cette étape est facultative. Le code calcule les trois scores du tableau ci-dessus avec de simples listes Python. Ajoutez T-4104 et T-4105 au dictionnaire et vérifiez vos réponses de l’exercice guidé.

Grace dit : « Un client qui nous écrit encore et encore, c’est le cas le plus urgent pour nous. » Priya change un seul poids : celui des billets précédents passe de 1 à 3. Les autres poids restent les mêmes.

  1. Calculez les nouveaux scores de T-4101, T-4102 et T-4103.
  2. L’ordre des trois billets change-t-il? Quel billet change de place, et pourquoi?
Afficher la réponse

Nouveaux poids : (0,5, 2, 3, 0,5).

  • T-4101 : 1 + 4 + 0 + 0,5 = 5,5 (aucun changement : il a 0 billet précédent).
  • T-4102 : 0,5 + 0 + 9 + 0 = 9,5.
  • T-4103 : 1,5 + 2 + 3 + 0,5 = 7,0.

L’ordre passe de T-4101, T-4103, T-4102 à T-4102, T-4103, T-4101. T-4102 passe du dernier au premier rang, car il a le plus de billets précédents (3). Cette variable compte maintenant trois fois plus. Un seul poids change le billet qu’un agent expérimenté lit en premier.

Erreur courante

Faire correspondre les dimensions avec la mauvaise opération

Symptôme : Tomás reçoit l’erreur « shapes (1200,4) and (5,4) not aligned » (les dimensions (1 200, 4) et (5, 4) ne sont pas compatibles). Il fait passer W de 5 × 4 à 4 × 5 avec une commande « reshape » (remodelage). L’erreur disparaît. Les scores semblent être des nombres normaux, mais les suggestions d’équipes sont bien pires qu’avant.

Cause : un remodelage ne transpose pas la matrice. Il lit les 20 nombres ligne par ligne et les replace dans les nouvelles dimensions. Les nombres des différentes équipes se mélangent. Les dimensions correspondent maintenant, donc aucune erreur n’arrête le code, mais la plupart des poids sont au mauvais endroit. Une transposition transforme les lignes en colonnes et garde ensemble les poids de chaque équipe.

Solution : avant de changer les dimensions, dites ce que représente chaque direction (« les lignes sont les équipes, les colonnes sont les variables »). Utilisez la transposition pour échanger les lignes et les colonnes. Puis calculez une cellule du résultat à la main et comparez-la, comme Priya l’a fait à l’étape 7.

Vérifiez votre compréhension

Prédisez le signe du produit scalaire de chaque paire, sans calculer : (3, 1) et (6, 2); (3, 1) et (−1, 3); (3, 1) et (−3, −1). Vérifiez ensuite l'une des paires.

Afficher la réponse

(3, 1) et (6, 2) pointent dans la même direction, donc le produit scalaire est positif : 18 + 2 = 20. (3, 1) et (−1, 3) forment un angle droit, donc il vaut 0 : −3 + 3 = 0. (3, 1) et (−3, −1) pointent dans des directions opposées, donc il est négatif : −9 − 1 = −10.

Vérifiez votre compréhension

Un lot X a les dimensions 64 × 784 et une matrice de poids W a les dimensions 784 × 10. Le produit X × W existe-t-il? Si oui, quelles sont ses dimensions et que représente une ligne? Le produit W × X existe-t-il?

Afficher la réponse

X × W existe, car les nombres intérieurs sont égaux (784 = 784). Le résultat a les nombres extérieurs pour dimensions : 64 × 10. Une ligne contient les 10 scores d’une image du lot. W × X a les nombres intérieurs 10 et 64. Ils sont différents, donc W × X n’existe pas.

Vérifiez votre compréhension

Dans le score de Priya, le poids de « length » (longueur) est 0,5. Que deviennent les scores si elle le met à 0? Expliquez pourquoi un poids de 0 peut être un test utile.

Afficher la réponse

Chaque score diminue de 0,5 × length : T-4101 de 1, T-4102 de 0,5 et T-4103 de 1,5. Les nouveaux scores sont 4,5, 3,0 et 3,5. Avec un poids de 0, le modèle ignore complètement la longueur. Si les scores et l’ordre changent à peine, la longueur comptait peu pour ces billets. Mettre un poids à 0 montre la contribution d’une variable à une décision.

Récapitulatif

  • Additionnez les vecteurs position par position. Multipliez un vecteur par un nombre en multipliant chaque position par ce nombre : la direction reste, la longueur change. Une moyenne de vecteurs combine ces deux opérations.
  • Le produit scalaire multiplie les valeurs position par position, puis additionne les produits. Avec des poids et des variables, il donne le score d’un modèle linéaire. Il est positif pour des directions semblables, nul à angle droit et négatif pour des directions opposées.
  • La longueur (norme) d’un vecteur est la racine carrée de la somme des carrés de ses valeurs. Un vecteur unitaire a une longueur de 1.
  • La multiplication matricielle calcule plusieurs produits scalaires à la fois. (n × k) × (k × m) → (n × m) : les nombres intérieurs doivent correspondre. Corrigez une incompatibilité avec une transposition, pas un remodelage, et vérifiez une cellule à la main.

Ensuite, vous utiliserez les produits scalaires et les longueurs pour trouver des billets précédents semblables à un nouveau billet.

Leçon suivante : Similarité et distance