Similarité et distance
- Leçon 6
- 50 min
- Module 2 : Vecteurs et matrices
Leçon 6 sur 18 · Mathématiques et statistiques essentielles pour l'IASimilarité et distance
1. Nombres, notation et résumés de données
2. Vecteurs et matrices
3. Probabilités et raisonnement conditionnel
4. Comment les modèles apprennent
5. Échantillonnage et preuves statistiques
6. Les statistiques au service des décisions sur les modèles
Ce que vous saurez faire
Quand un nouveau billet de soutien arrive, un agent veut voir les billets semblables que l’équipe a déjà résolus. Cette leçon présente les deux façons courantes de mesurer la « ressemblance » et les cas où elles divergent. Elle montre aussi pourquoi vous devez d’abord mettre à l’échelle les variables dont les unités diffèrent.
Carnet JupyterFacultatif : vérifier les nombres dans un carnet
Le carnet (notebook) Jupyter est facultatif : une calculatrice suffit pour cette leçon. Il contient les tableaux de similarité cosinus et de distance euclidienne de la leçon. Il contient aussi l’exemple de mise à l’échelle des variables et les exercices du module en Python. Ses vérifications indiquent si votre réponse est juste, sans la montrer. Il utilise seulement la bibliothèque standard de Python, donc aucune installation n’est nécessaire.
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 main
Ce que vous devez savoir
- Calculer un produit scalaire, selon Les opérations sur les vecteurs : le produit scalaire : un score pondéré.
- Calculer la longueur d’un vecteur et savoir ce qu’est un vecteur unitaire, selon Les opérations sur les vecteurs : la longueur d’un vecteur.
- La règle des dimensions (n × k) × (k × m) → (n × m), selon Les opérations sur les vecteurs : la multiplication matricielle. La vérification du module l’utilise.
- La moyenne et l’écart-type, selon Décrire un jeu de données : la dispersion. Vous les utilisez pour mettre les variables à l’échelle.
Ce que vous devez préparer (le carnet n’exige rien de tout cela)
- Une calculatrice avec une touche de racine carrée.
- Votre fichier
c03-notes.md. Vous l’avez créé dans l’encadré « Avant de commencer » de Lire les mathématiques. Ajoutez un titre :### Similarity and distance(similarité et distance). Si vous ne trouvez pas le fichier, créez un fichier vide portant ce nom : cette leçon n’utilise pas vos réponses précédentes. - Environ 15 minutes à la fin pour les exercices et la vérification du module.
Le carnet a été testé dans Jupyter avec Python 3.14.6 (bibliothèque standard seulement).
Où vous rencontrez ces notions en IA
Section intitulée « Où vous rencontrez ces notions en IA »- Un assistant qui répond à partir de documents. Avant qu’un grand modèle de langage réponde à une question, le système trouve les paragraphes aux plongements (embeddings) les plus semblables à celui de la question. Cela s’appelle la génération augmentée par récupération (RAG). Si la recherche par similarité trouve les mauvais paragraphes, la réponse est aussi mauvaise.
- Les recommandations. « Les clients qui ont consulté ceci ont aussi consulté… » désigne souvent des produits aux vecteurs proches de celui de ce produit.
- La détection des doublons. Un client envoie le même problème deux fois. Deux billets aux plongements presque identiques sont probablement des doublons.
- Les billets semblables déjà résolus. Larkfield veut montrer à un agent les trois billets résolus les plus semblables à chaque nouveau billet, avec l’équipe responsable.
Les quatre cas exigent un nombre qui indique à quel point deux vecteurs se ressemblent. Il existe deux choix courants.
Deux façons de dire « proche »
Section intitulée « Deux façons de dire « proche » »Un nouveau billet arrive. T-4200 : « Je veux un remboursement, mon colis est en retard. » Priya compte deux types de mots, comme dans la leçon 2 : les mots de remboursement et les mots de livraison. T-4200 = (2, 1). Elle le compare à quatre billets résolus.
| Billet | Résumé | Mots de remboursement | Mots de livraison |
|---|---|---|---|
| T-3907 | Une longue plainte : remboursement pour un colis en retard et endommagé | 6 | 3 |
| T-3912 | Surtout un colis en retard, avec une mention de remboursement | 1 | 2 |
| T-3915 | Un remboursement pour un mauvais article, livré à temps | 4 | 1 |
| T-3920 | Seulement le suivi d’un colis | 0 | 4 |
- Nouveau billet T-4200 (2, 1)
- Billets résolus
Description textuelle du graphique
L’axe horizontal représente les mots de remboursement et l’axe vertical, les mots de livraison, de 0 à 7. Le nouveau billet T-4200 est une courte flèche orange vers (2, 1). T-3907 va jusqu’à (6, 3), sur la même ligne que T-4200, mais il est trois fois plus long. Les deux flèches se chevauchent donc. T-3915 va jusqu’à (4, 1), un peu sous cette ligne. T-3912 va jusqu’à (1, 2), avec une pente plus forte. T-3920 monte tout droit jusqu’à (0, 4). La pointe la plus proche de celle de T-4200 est celle de T-3912. La flèche qui forme le plus petit angle avec T-4200 est T-3907, avec un angle de 0.
L’image montre deux idées de « proximité ».
La distance euclidienne est la longueur de la ligne droite entre les deux pointes. C’est la longueur du vecteur différence. Pour T-4200 et T-3912, la différence est (2 − 1, 1 − 2) = (1, −1) :
Lisez ainsi : « Soustrayez position par position, élevez au carré, additionnez et prenez la racine carrée. » Une distance de 0 signifie que les deux vecteurs sont égaux. Une plus grande distance signifie moins de ressemblance. La distance a l’unité des variables.
La similarité cosinus regarde seulement la direction. C’est le produit scalaire divisé par le produit des deux longueurs. Cela élimine la longueur, pour ne garder que l’angle :
Lisez ainsi : « Le produit scalaire, divisé par la longueur de u multipliée par la longueur de v. » C’est un nombre de −1 à 1 :
- 1 : la même direction (angle de 0°), peu importe les longueurs.
- 0 : un angle droit (90°). Les vecteurs n’ont rien en commun.
- −1 : des directions opposées (180°).
Les comptes de mots ne sont jamais négatifs. Pour ces billets, la similarité cosinus se situe donc entre 0 et 1. Les plongements peuvent avoir des valeurs négatives, donc leur similarité cosinus peut être négative.
Parfois, un vecteur a une longueur de 0, par exemple un billet sans mots de remboursement ni de livraison. La similarité cosinus est alors non définie. Vous ne pouvez pas diviser par 0, et un vecteur de longueur 0 n’a pas de direction. Un système de recherche doit traiter ce cas, par exemple en ignorant les billets vides.
Exemple détaillé : des billets semblables déjà résolus pour T-4200
Section intitulée « Exemple détaillé : des billets semblables déjà résolus pour T-4200 »Priya calcule les deux mesures pour chaque billet résolu. La longueur de T-4200 est √(2² + 1²) = √5 ≈ 2,236.
| Billet | Vecteur | Produit scalaire avec (2, 1) | Longueur | Similarité cosinus | Angle | Différence | Distance euclidienne |
|---|---|---|---|---|---|---|---|
| T-3907 | (6, 3) | 12 + 3 = 15 | 6,708 | 15 ÷ (2,236 × 6,708) = 1,000 | 0° | (−4, −2) | √20 ≈ 4,472 |
| T-3915 | (4, 1) | 8 + 1 = 9 | 4,123 | 9 ÷ (2,236 × 4,123) = 0,976 | 12,5° | (−2, 0) | √4 = 2,000 |
| T-3912 | (1, 2) | 2 + 2 = 4 | 2,236 | 4 ÷ (2,236 × 2,236) = 0,800 | 36,9° | (1, −1) | √2 ≈ 1,414 |
| T-3920 | (0, 4) | 0 + 4 = 4 | 4,000 | 4 ÷ (2,236 × 4,000) = 0,447 | 63,4° | (2, −3) | √13 ≈ 3,606 |
Les deux mesures donnent des classements différents :
| Rang | Par similarité cosinus (la plus élevée d’abord) | Par distance euclidienne (la plus petite d’abord) |
|---|---|---|
| 1 | T-3907 (1,000) | T-3912 (1,414) |
| 2 | T-3915 (0,976) | T-3915 (2,000) |
| 3 | T-3912 (0,800) | T-3920 (3,606) |
| 4 | T-3920 (0,447) | T-3907 (4,472) |
Grace lit les résumés. « T-3907 présente le même problème que T-4200 : un remboursement pour un colis en retard. Le client a seulement écrit plus de mots. » La similarité cosinus le classe premier. La distance euclidienne le classe dernier, car un billet plus long a des comptes plus élevés, donc sa pointe est éloignée.
Voici la principale différence :
- La similarité cosinus ignore la longueur. Utilisez-la quand la taille du vecteur n’est pas importante. Par exemple, pour les comptes de mots de textes de longueurs différentes ou les plongements de texte. La plupart des recherches de texte l’utilisent.
- La distance euclidienne tient compte de la longueur. Utilisez-la quand la taille compte, par exemple le montant d’une commande ou le nombre d’articles. Utilisez-la seulement après avoir mis les variables à une échelle semblable (voir ci-dessous).
Un fait utile. Ramenez d’abord chaque vecteur à une longueur de 1 (un vecteur unitaire, leçon 2). Les deux mesures donnent alors le même classement. C’est pourquoi beaucoup de systèmes de recherche stockent les plongements comme vecteurs unitaires. La similarité cosinus est alors le produit scalaire.
Explorer
Similarité cosinus et distance euclidienne
Prédisez d’abord : Au départ, v pointe dans la même direction que u, mais il est trois fois plus long. Prédisez : la similarité cosinus est-elle élevée ou faible? La distance est-elle petite ou grande? Prédisez ensuite ce qui arrive si vous déplacez u vers (0, 0).
Faites glisser la pointe de u ou de v. Ou sélectionnez une pointe et utilisez les flèches du clavier, ou utilisez les curseurs.
- u
- (2; 1)
- v
- (6; 3)
- Produit scalaire u · v
- 15
- Longueur de u
- 2,236
- Longueur de v
- 6,708
- Similarité cosinus
- 1
- Angle
- 0°
- Distance euclidienne
- 4,472
u · v = 2 × 6 + 1 × 3 = 12 + 3 = 15
u et v pointent dans la même direction : similarité cosinus 1, angle 0°.
Description textuelle de l’explorateur
L’outil interactif montre deux flèches partant de (0, 0), dans un graphique allant de 0 à 6 sur les deux axes. Au départ, u = (2, 1), comme T-4200, et v = (6, 3), comme T-3907. Les valeurs affichées montrent le produit scalaire 15 et les longueurs 2,236 et 6,708. La similarité cosinus est 1, l’angle est 0° et la distance euclidienne est 4,472. Une ligne pointillée relie les deux pointes. Déplacez v vers (1, 2). La similarité cosinus descend alors à 0,8, l’angle est 36,9° et la distance descend à 1,414. Les pointes sont plus proches, mais la direction diffère. Si vous déplacez u vers (0, 0), u a une longueur de 0. La similarité cosinus et l’angle affichent alors « non défini ». Un message explique qu’un vecteur de longueur 0 n’a pas de direction. La distance a toujours une valeur.
Mise à l’échelle des variables : quand une unité décide de tout
Section intitulée « Mise à l’échelle des variables : quand une unité décide de tout »La distance additionne les différences au carré de toutes les variables. Une variable aux grands nombres peut donc masquer toutes les autres. Cela arrive quand les variables ont des unités différentes.
Priya teste une recherche avec deux variables de la leçon 1 : la longueur et les mots de remboursement. Le nouveau billet est N. Deux billets résolus sont des candidats.
| Billet | Résumé | Longueur (centaines de mots) | Mots de remboursement |
|---|---|---|---|
| N (nouveau) | Une demande de remboursement | 2 | 3 |
| P | Une demande de remboursement plus courte : le même problème | 1 | 3 |
| Q | Une question sur une chaise de jardin, sans remboursement | 2,2 | 0 |
Avec la longueur en centaines de mots :
- d(N, P) = √((2 − 1)² + (3 − 3)²) = √1 = 1,000
- d(N, Q) = √((2 − 2,2)² + (3 − 0)²) = √(0,04 + 9) ≈ 3,007
P est plus proche. C’est correct : P présente le même type de problème.
Mei, l’ingénieure de données, modifie maintenant le pipeline pour compter la longueur en mots (200, 100 et 220). Rien d’autre ne change.
- d(N, P) = √(100² + 0²) = 100,000
- d(N, Q) = √(20² + 3²) = √409 ≈ 20,224
Q est maintenant plus proche. La recherche suggère une question sur une chaise de jardin pour une demande de remboursement. Les mots de remboursement diffèrent encore de 3. Mais une différence de 3 est minuscule devant une différence de longueur de 100. La similarité cosinus n’aide pas non plus. Avec la longueur en mots, N a une similarité cosinus de 0,99989 avec P et avec Q. Les deux vecteurs pointent presque le long de l’axe de longueur, donc la mesure ne peut pas les distinguer.
Explorer
Une variable exprimée par de grands nombres
Prédisez d’abord : Au départ, la longueur représente 20 % de la distance au carré. Prédisez sa part après avoir compté la longueur en mots (× 100). Qu'arrive-t-il à la similarité cosinus?
Faites glisser la pointe de a ou de b. Ou sélectionnez une pointe et utilisez les flèches du clavier, ou utilisez les curseurs.
- a
- (2; 3)
- b
- (3; 1)
- Produit scalaire a · b
- 9
- Longueur de a
- 3,606
- Longueur de b
- 3,162
- Similarité cosinus
- 0,789
- Angle
- 37,9°
- Distance euclidienne
- 2,236
a · b = 2 × 3 + 3 × 1 = 6 + 3 = 9
L’angle est inférieur à 90°, donc le produit scalaire est positif. 20 % de la distance au carré vient de longueur, 80 % de mots de remboursement.
Description textuelle de l’explorateur
L’outil interactif montre deux billets sous forme de flèches : a = (2, 3) et b = (3, 1). L’axe horizontal représente la longueur en centaines de mots. L’axe vertical représente les mots de remboursement. Au départ, la distance euclidienne est 2,236 et la similarité cosinus est 0,789. Une barre sous le graphique montre la part de chaque variable dans la distance au carré : longueur 20 %, mots de remboursement 80 %. Quand vous activez « Compter la longueur en mots (× 100) », les valeurs deviennent a = (200, 3) et b = (300, 1). La distance devient 100,02, et la longueur représente 99,96 % de la distance au carré. La similarité cosinus devient 0,99993. Une deuxième image montre les deux flèches à leur échelle réelle. Elles sont presque horizontales, car les nombres de longueur sont maintenant 100 fois plus grands. Le graphique lui-même garde les unités originales, pour que vous puissiez encore déplacer les pointes.
La solution : standardiser chaque variable. Pour chaque variable, soustrayez sa moyenne et divisez par son écart-type, tous deux mesurés sur les anciens billets :
Lisez ainsi : « À combien d’écarts-types au-dessus ou au-dessous de la moyenne se trouve la valeur. » Après cette étape, chaque variable a une moyenne de 0 et un écart-type de 1. Une différence d’un écart-type compte alors autant pour chaque variable, peu importe l’unité.
Supposons que, pour les billets du mois dernier, la longueur a une moyenne de 200 mots et un écart-type de 100 mots. Les mots de remboursement ont une moyenne de 1,5 et un écart-type de 1,5.
| Billet | Longueur en mots → z | Mots de remboursement → z | Vecteur standardisé |
|---|---|---|---|
| N | (200 − 200) ÷ 100 = 0 | (3 − 1,5) ÷ 1,5 = 1 | (0, 1) |
| P | (100 − 200) ÷ 100 = −1 | (3 − 1,5) ÷ 1,5 = 1 | (−1, 1) |
| Q | (220 − 200) ÷ 100 = 0,2 | (0 − 1,5) ÷ 1,5 = −1 | (0,2, −1) |
Maintenant, d(N, P) = √1 = 1,000 et d(N, Q) = √(0,04 + 4) ≈ 2,010. P est de nouveau plus proche. Si vous comptez la longueur en centaines de mots (moyenne 2, écart-type 1), vous obtenez exactement les mêmes valeurs z. Après la standardisation, l’unité n’a plus d’importance.
Dans scikit-learn, cette étape correspond à StandardScaler. Calculez la moyenne et l’écart-type sur les anciens billets seulement. Utilisez les mêmes nombres pour chaque nouveau billet. Les plongements provenant d’un même modèle de plongement n’ont pas besoin de cette étape. Toutes leurs positions ont déjà des valeurs de tailles semblables. Les variables créées à la main avec des unités, comme les mots, les minutes et les comptes, en ont besoin.
Comment un score de similarité peut tromper
Section intitulée « Comment un score de similarité peut tromper »Un score de similarité est facile à mal interpréter. Trois mises en garde :
- Ce n’est pas une probabilité. Une similarité cosinus de 0,93 ne signifie pas « certain à 93 % que c’est le même problème ». Elle mesure un angle entre deux vecteurs. Elle ne contient ni événement ni probabilité.
- Son échelle dépend du modèle. Avec certains modèles de plongement, des textes sans lien obtiennent tout de même une similarité cosinus de 0,7 ou plus. Avec d’autres, des textes liés obtiennent 0,4. « 0,8 est élevé » est vrai seulement pour un modèle et un type de texte.
- Semblable ne veut pas dire correct. En RAG, le paragraphe le plus semblable peut être une ancienne version d’une politique. La similarité trouve du texte lié. Elle ne vérifie pas si le texte est vrai ou à jour.
Pour décider quelle similarité est « assez élevée », testez-la. Prenez des paires de billets que Grace a étiquetées « même problème » et « problème différent », puis regardez leurs scores. Le module 3 vous donne les outils pour décrire à quelle fréquence une telle règle se trompe.
Exercice guidé : classer un autre billet
Section intitulée « Exercice guidé : classer un autre billet »Un autre billet résolu, T-3925, a le vecteur (3, 4) : 3 mots de remboursement, 4 mots de livraison. Comparez-le à T-4200 = (2, 1).
- Calculez le produit scalaire de (2, 1) et (3, 4).
- Calculez la longueur de (3, 4).
- Divisez le produit scalaire par 2,236 × la longueur. C’est la similarité cosinus.
- Calculez le vecteur différence (2 − 3, 1 − 4).
- Calculez la distance euclidienne à partir du vecteur différence.
- Écrivez où T-3925 se place dans chaque tableau de classement ci-dessus.
Afficher le résultat attendu
- 2 × 3 + 1 × 4 = 6 + 4 = 10.
- √(9 + 16) = √25 = 5.
- 10 ÷ (2,236 × 5) = 10 ÷ 11,18 ≈ 0,894.
- (−1, −3).
- √(1 + 9) = √10 ≈ 3,162.
- Par similarité cosinus, T-3925 est troisième : entre T-3915 (0,976) et T-3912 (0,800). Par distance, il est aussi troisième : entre T-3915 (2,000) et T-3920 (3,606). L’ordre est T-3912, T-3915, T-3925, T-3920, T-3907.
Vérification : une similarité cosinus n’est jamais supérieure à 1 ni inférieure à −1. Si votre résultat sort de cet intervalle, vérifiez les longueurs.
Exécutez du Python dans votre navigateur
Facultatif : vérifier le tableau avec du code
Cette étape est facultative. Le code calcule la similarité cosinus et la distance euclidienne entre T-4200 et les quatre billets résolus. Ajoutez T-3925 = [3, 4] et vérifiez votre réponse à l’exercice guidé. Dans le code professionnel, scikit-learn fournit cosine_similarity et numpy fournit np.linalg.norm pour la longueur.
Tab ajoute quatre espaces. Appuyez sur Esc, puis sur Tab, pour quitter la zone. Ctrl+Enter exécute le code.
Variation indépendante : ramener chaque vecteur à une longueur de 1
Section intitulée « Variation indépendante : ramener chaque vecteur à une longueur de 1 »Changez une condition : Priya divise d’abord chaque vecteur par sa propre longueur. Tous les vecteurs ont donc une longueur de 1.
- Écrivez T-4200 = (2, 1) sous forme de vecteur unitaire.
- Calculez la distance euclidienne entre les vecteurs unitaires de T-4200 et de T-3907.
- Calculez la distance euclidienne entre les vecteurs unitaires de T-4200 et de T-3912.
- Lequel des deux est maintenant le plus proche? Comparez avec le classement par similarité cosinus.
Afficher la réponse
- (2, 1) ÷ 2,236 = (0,894, 0,447).
- T-3907 ÷ 6,708 = (0,894, 0,447) : c’est le même vecteur unitaire. La distance est 0.
- T-3912 = (1, 2) ÷ 2,236 = (0,447, 0,894). La différence est (0,447, −0,447), donc la distance est √(0,2 + 0,2) = √0,4 ≈ 0,632.
- T-3907 est maintenant le plus proche, comme dans le classement par similarité cosinus. Pour les vecteurs unitaires, la distance et la similarité cosinus concordent toujours. La distance au carré égale 2 − 2 × similarité cosinus. Pour T-3912 : 2 − 2 × 0,8 = 0,4.
Erreur courante
Une caractéristique aux grandes valeurs détermine la recherche
Symptôme : la recherche de billets similaires affiche des billets passés de longueur semblable au nouveau billet, mais sur un autre sujet. Les agents cessent de l’utiliser. Personne n’a modifié le code de recherche.
Cause : une modification du pipeline mesure la longueur en mots plutôt qu’en centaines de mots. Les autres caractéristiques sont de petits dénombrements. Les différences de longueur au carré sont maintenant des milliers de fois plus grandes. La longueur détermine donc à elle seule la distance euclidienne. Dans l’explorateur ci-dessus, la longueur représente 99,96 % de la distance au carré après la modification.
Correction : standardisez chaque caractéristique avec la moyenne et l’écart-type des billets passés avant de mesurer la distance. Ensuite, testez la recherche avec quelques paires connues. Un billet et son doublon connu doivent être plus proches que deux billets sans lien. Refaites ce test après chaque modification du pipeline.
Vérifiez votre compréhension
Deux billets ont une similarité cosinus de 1, mais une distance euclidienne de 4,47. Expliquez comment les deux peuvent être vrais. Quelle mesure utiliseriez-vous pour trouver des billets sur le même problème?
Afficher la réponse
Une similarité cosinus de 1 signifie que les vecteurs pointent exactement dans la même direction : les mêmes proportions de mots. La distance est grande parce qu’un vecteur est beaucoup plus long : un billet contient plus de mots. Pour le même problème, les proportions comptent plus que la longueur. La similarité cosinus est donc le meilleur choix ici. La distance euclidienne classerait le billet long en dernier.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Prédisez : Larkfield ajoute une caractéristique « valeur de la commande en points de coût », allant de 0 à 5 000. Elle côtoie des nombres de mots allant de 0 à 10. Sans mise à l'échelle, que devient la recherche de billets similaires par distance euclidienne? Que faites-vous?
Afficher la réponse
La valeur de la commande a des nombres beaucoup plus grands. Ses différences au carré sont donc beaucoup plus grandes. Elle détermine presque toute la distance. La recherche trouverait des billets avec une valeur de commande semblable, peu importe leur sujet. Standardisez d’abord chaque caractéristique : soustrayez la moyenne et divisez par l’écart-type, tous deux calculés à partir des billets passés. Ensuite, testez la recherche sur des paires connues.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Exercices du module
Section intitulée « Exercices du module »Exemple détaillé : trois caractéristiques, à la main
Section intitulée « Exemple détaillé : trois caractéristiques, à la main »Un nouveau billet, T-4300, contient trois dénombrements : mots de remboursement, mots de livraison et mots de compte (« password », « login », « email »). T-4300 = u = (2, 1, 2). Priya le compare à un billet résolu, P1 = (1, 2, 2). Elle écrit chaque valeur intermédiaire.
| Étape | Calcul | Résultat |
|---|---|---|
| Produits, position par position | 2 × 1, 1 × 2, 2 × 2 | 2, 2, 4 |
| Produit scalaire u · P1 | 2 + 2 + 4 | 8 |
| Longueur de u | √(4 + 1 + 4) = √9 | 3 |
| Longueur de P1 | √(1 + 4 + 4) = √9 | 3 |
| Similarité cosinus | 8 ÷ (3 × 3) | 0,889 |
| Différence u − P1 | (2 − 1, 1 − 2, 2 − 2) | (1, −1, 0) |
| Différences au carré | 1, 1, 0 | somme 2 |
| Distance euclidienne | √2 | 1,414 |
Interprétation : les deux billets pointent dans une direction semblable (0,889 est proche de 1), et leurs extrémités sont proches. Les deux mesures indiquent « similaires ». La similarité cosinus de 0,889 ne représente pas une probabilité de 89 %.
Votre tâche
Section intitulée « Votre tâche »Deux autres billets résolus : P2 = (4, 0, 3) et P3 = (0, 3, 4). Dans c03-notes.md, ajoutez un titre : #### Module practice: Vectors and matrices (exercices du module : vecteurs et matrices). Ensuite :
- Copiez le tableau de Priya pour P2. Remplissez chaque ligne.
- Faites le même tableau pour P3.
- Classez P1, P2 et P3 par similarité cosinus, de la plus élevée à la plus faible.
- Classez-les par distance euclidienne, de la plus petite à la plus grande.
- Indiquez quel billet est « le plus similaire » selon chaque mesure.
- Écrivez en une ou deux phrases quelle mesure vous utiliseriez pour les nombres de mots, et pourquoi.
Afficher la réponse modèle
| Étape | P2 = (4, 0, 3) | P3 = (0, 3, 4) |
|---|---|---|
| Produits | 8, 0, 6 | 0, 3, 8 |
| Produit scalaire avec u | 14 | 11 |
| Longueur de u | 3 | 3 |
| Longueur du billet | √(16 + 0 + 9) = √25 = 5 | √(0 + 9 + 16) = √25 = 5 |
| Similarité cosinus | 14 ÷ 15 ≈ 0,933 | 11 ÷ 15 ≈ 0,733 |
| Différence | (−2, 1, −1) | (2, −2, −2) |
| Différences au carré | 4, 1, 1 → somme 6 | 4, 4, 4 → somme 12 |
| Distance euclidienne | √6 ≈ 2,449 | √12 ≈ 3,464 |
- Par similarité cosinus : P2 (0,933), P1 (0,889), P3 (0,733).
- Par distance euclidienne : P1 (1,414), P2 (2,449), P3 (3,464).
- Le plus similaire : P2 selon la similarité cosinus, P1 selon la distance. Les mesures divergent parce que P2 est plus long (longueur 5) que u et P1 (longueur 3).
- Pour les nombres de mots, utilisez la similarité cosinus. Elle compare les proportions de mots et ignore la longueur du billet. Un message plus long sur le même problème devrait quand même être considéré comme similaire.
Révision : marquez votre réponse comme démontrée si chaque valeur correspond à 2 décimales près, si les deux classements sont corrects et si l’explication mentionne la longueur.
Vérification du module
Section intitulée « Vérification du module »Vérifiez votre compréhension
Rappel : quelle est la forme d'une matrice avec une ligne pour chacun des 1 200 billets et une colonne par caractéristique, parmi 4? Quelle est la dimension d'une ligne?
Afficher la réponse
La forme est 1 200 × 4 : les lignes d’abord, puis les colonnes. Une ligne est le vecteur de caractéristiques d’un billet, donc sa dimension est 4.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Expliquez ou prédisez : vous avez les plongements de 1 200 billets passés dans une matrice E de forme 1 200 × 384. Vous avez aussi un nouveau plongement q de forme 384 × 1. Quel produit donne un produit scalaire par billet passé, E × q ou q × E? Quelle forme a-t-il? L'autre existe-t-il?
Afficher la réponse
E × q : les nombres intérieurs sont 384 et 384, donc le produit existe. Le résultat a les nombres extérieurs, 1 200 × 1 : un produit scalaire pour chaque billet passé. q × E a les nombres intérieurs 1 et 1 200. Ils sont différents, donc q × E n’existe pas. Si les plongements sont des vecteurs unitaires, les 1 200 produits scalaires sont les similarités cosinus. Les plus élevés correspondent aux billets passés les plus similaires.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Vérification finale : Omar, le gestionnaire de produit, voit « similarité 0,93 » à côté d'un billet passé suggéré. Il dit : « Donc l'IA est sûre à 93 % que c'est le même problème. » (a) Les formes d'une matrice 1 200 × 384 et d'un vecteur 384 × 1 sont-elles compatibles pour cette comparaison? (b) Que signifie 0,93, et que diriez-vous à Omar?
Afficher la réponse
(a) Oui. Les nombres intérieurs sont tous deux 384. Le résultat a la forme 1 200 × 1 : un score pour chaque billet passé.
(b) 0,93 est une similarité cosinus : les deux plongements pointent presque dans la même direction. C’est une mesure géométrique, pas une probabilité. Elle ne signifie pas « sûre à 93 % ». Sa signification dépend aussi du modèle de plongement, car certains modèles donnent des scores élevés même aux textes sans lien. Dites à Omar : « 0,93 signifie que les textes sont proches dans l’espace vectoriel du modèle. Pour savoir à quelle fréquence une correspondance de 0,93 représente vraiment le même problème, nous devons tester les scores sur des paires étiquetées par Grace. »
Révision : la réponse est démontrée si (a) utilise les nombres intérieurs et donne la forme du résultat. La partie (b) doit préciser que le score n’est pas une probabilité. Elle doit aussi nommer une façon de déterminer ce qu’un score signifie en pratique.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
Dans ce module, vous avez appris comment un système d’IA stocke des données et les compare.
- Représenter : une observation est un vecteur de valeurs de caractéristiques. Plusieurs observations forment une matrice de forme lignes × colonnes. Les images sont des matrices de pixels. Le texte devient un plongement : un long vecteur dont les positions n’ont pas de nom.
- Calculer : additionnez et mettez à l’échelle les vecteurs position par position. Le produit scalaire multiplie et additionne : c’est le score d’un modèle linéaire. La longueur est la racine carrée de la somme des carrés. La multiplication matricielle consiste en plusieurs produits scalaires : (n × k) × (k × m) → (n × m).
- Comparer : la distance euclidienne mesure l’écart entre deux extrémités et tient compte de la longueur. La similarité cosinus mesure seulement la direction, de −1 à 1. Elle n’est pas définie pour un vecteur de longueur 0. Standardisez d’abord les caractéristiques exprimées dans des unités différentes.
- Interpréter : un score de similarité n’est pas une probabilité. Testez ce qu’un score signifie sur des paires étiquetées avant de vous y fier.
Ensuite, le module 3 commence par le hasard : comment décrire des événements incertains avec des dénombrements plutôt que des formules.
Leçon suivante : Événements et incertitude