Qu'est-ce que la similarité cosinus ?
La similarité cosinus mesure à quel point deux vecteurs pointent dans la même direction. Il s'agit du cosinus de l'angle qui les sépare : sa valeur varie de −1 (directions exactement opposées) à 1 (direction identique), en passant par 0 (vecteurs perpendiculaires). Comme elle ne dépend que de l'orientation et non de la longueur des vecteurs, elle est très utilisée en apprentissage automatique, en fouille de textes et dans les systèmes de recommandation pour comparer des documents, des plongements (embeddings) et des vecteurs de caractéristiques.
Comment utiliser ce calculateur
Saisissez les composantes x, y et (facultativement) z du vecteur A et du vecteur B. Laissez les champs z vides ou à zéro pour travailler en deux dimensions. Le calculateur affiche la similarité cosinus, le produit scalaire, la norme de chaque vecteur ainsi que l'angle entre les deux vecteurs, exprimé à la fois en degrés et en radians.
La formule expliquée
Le produit scalaire est la somme des produits des composantes : \(\vec{a}\cdot\vec{b} = a_x b_x + a_y b_y + a_z b_z\). La norme d'un vecteur correspond à la racine carrée de la somme du carré de ses composantes : \(\lVert\vec{a}\rVert = \sqrt{a_x^{2} + a_y^{2} + a_z^{2}}\). En divisant le produit scalaire par le produit des normes, on normalise le résultat dans l'intervalle −1 à 1, ce qui donne le cosinus de l'angle θ. Il suffit ensuite d'appliquer le cosinus inverse (arccos) pour retrouver l'angle lui-même.
$$\cos\theta = \frac{\vec{A}\cdot\vec{B}}{\lVert\vec{A}\rVert\,\lVert\vec{B}\rVert}$$
Exemple détaillé
Prenons A = (1, 2, 3) et B = (4, 5, 6). Le produit scalaire vaut $$1\cdot 4 + 2\cdot 5 + 3\cdot 6 = 4 + 10 + 18 = 32.$$ Les normes sont \(\lVert A\rVert = \sqrt{1+4+9} = \sqrt{14} \approx 3{,}7417\) et \(\lVert B\rVert = \sqrt{16+25+36} = \sqrt{77} \approx 8{,}7750\). On obtient donc $$\cos\theta = \frac{32}{3{,}7417 \times 8{,}7750} \approx 0{,}9746,$$ ce qui correspond à un angle d'environ 12,93°.
FAQ
Que signifie une similarité cosinus égale à 0 ? Les vecteurs sont orthogonaux (perpendiculaires), formant un angle de 90°, ce qui indique l'absence de toute similarité de direction.
Le résultat peut-il être négatif ? Oui. Une valeur négative signifie que les vecteurs pointent globalement dans des directions opposées ; −1 indique qu'ils sont exactement antiparallèles.
En quoi est-ce différent de la distance euclidienne ? La similarité cosinus ignore la longueur des vecteurs et ne compare que leur direction, tandis que la distance euclidienne mesure l'écart en ligne droite entre les extrémités des vecteurs.