Il semble que la similitude cosinus de deux caractéristiques ne soit que leur produit scalaire mis à l'échelle par le produit de leurs grandeurs. Quand la similarité de cosinus fait-elle une meilleure métrique de distance que le produit scalaire? Par exemple, la similarité entre le produit scalaire et le cosinus a-t-elle des forces ou des faiblesses différentes selon les situations?
classification
ahoffer
la source
la source
Réponses:
Pensez géométriquement. La similarité des cosinus ne concerne que la différence d’angle, tandis que le produit scalaire se préoccupe de l’angle et de la magnitude. Si vous normalisez vos données pour qu'elles aient la même ampleur, il est impossible de les distinguer. Parfois, il est souhaitable d'ignorer la magnitude, d'où la similarité cosinus est agréable, mais si la magnitude joue un rôle, le produit scalaire serait préférable en tant que mesure de similarité. Notez qu’aucun d’eux n’est une "métrique de distance".
la source
Vous avez raison, la similarité cosinus a beaucoup de points communs avec le produit scalaire des vecteurs. En effet, il s’agit d’un produit scalaire à l’échelle de la magnitude. Et en raison de la mise à l'échelle, il est normalisé entre 0 et 1. CS est préférable, car il prend en compte la variabilité des données et des fréquences relatives des entités. D'autre part, le produit Plain Point est un peu "moins cher" (en termes de complexité et de mise en œuvre).
la source
J'aimerais ajouter une dimension supplémentaire aux réponses données ci-dessus. Nous utilisons généralement la similarité cosinus avec un texte de grande taille, car l’utilisation de la matrice de distance sur des paragraphes de données n’est pas recommandée. De plus, si vous souhaitez que votre cluster soit large, vous avez tendance à choisir la similarité cosinus, car il capture la similarité dans son ensemble.
Par exemple, si vous avez des textes de deux ou trois mots au maximum, je pense que l'utilisation de la similarité cosinus n'atteint pas la précision obtenue par la métrique de distance.
la source
Il existe une excellente comparaison des métriques de similarité communes basées sur les produits internes ici .
En particulier, la similarité des cosinus est normalisée à l'intérieur de [0,1], contrairement au produit scalaire qui peut être un nombre réel, mais, comme le dit tout le monde, cela nécessitera d'ignorer la magnitude des vecteurs. Personnellement, je pense que c'est une bonne chose. Je pense à la magnitude en tant que structure interne (au sein d'un vecteur) et à l'angle entre les vecteurs en tant que structure externe (entre les vecteurs). Ce sont des choses différentes et (à mon avis) sont souvent mieux analysées séparément. Je ne peux pas imaginer une situation dans laquelle je préférerais calculer les produits internes plutôt que de calculer les similitudes de cosinus et simplement comparer les magnitudes par la suite.
la source
Visuellement, toutes vos données vivent sur une unité de sphère. Utiliser un produit scalaire comme distance vous donnera une distance en cordes, mais si vous utilisez cette distance en cosinus, elle correspond à la longueur du chemin entre les deux points de la sphère. Cela signifie que si vous voulez une moyenne des deux points, vous devez prendre le point entre les deux sur cette trajectoire (géodésique) plutôt que le point médian obtenu à partir de la «moyenne arithmétique / produit scalaire / géométrie euclidienne», car ce point pas vivre sur la sphère (donc essentiellement pas le même objet)!
la source
Comme d'autres l'ont fait remarquer, il ne s'agit pas de "métriques" de distance, car elles ne répondent pas aux critères de métrique. Dites plutôt "mesure de distance".
Quoi qu'il en soit, que mesurez-vous et pourquoi? Cette information nous aidera à donner une réponse plus utile à votre situation.
la source