La similitude cosinus est-elle identique à la distance euclidienne normalisée en l2?

27

Identiques sens, qu'il produira des résultats identiques pour une similitude entre le classement d' un vecteur u et un ensemble de vecteurs V .

J'ai un modèle d'espace vectoriel qui a comme paramètres la mesure de distance (distance euclidienne, similitude cosinus) et la technique de normalisation (aucun, l1, l2). D'après ma compréhension, les résultats des paramètres [cosinus, aucun] devraient être identiques ou au moins vraiment vraiment similaires à [euclidienne, l2], mais ils ne le sont pas.

Il y a en fait de bonnes chances que le système soit toujours bogué - ou ai-je un problème critique à propos des vecteurs?

edit: j'ai oublié de mentionner que les vecteurs sont basés sur le nombre de mots des documents dans un corpus. Étant donné un document de requête (que je transforme également en vecteur de comptage de mots), je veux trouver le document de mon corpus qui lui ressemble le plus.

Le simple calcul de leur distance euclidienne est une mesure simple, mais dans le type de tâche dans laquelle je travaille, la similitude en cosinus est souvent préférée comme indicateur de similitude, car les vecteurs qui ne diffèrent que par la longueur sont toujours considérés comme égaux. Le document présentant la plus petite similitude distance / cosinus est considéré comme le plus similaire.

Arne
la source
Tout dépend de ce que fait votre "modèle d'espace vectoriel" avec ces distances. Pourriez-vous être plus précis sur ce que fait le modèle?
whuber
Désolé, parfois c'est difficile de sortir de ma tête. J'ai ajouté une spécification.
Arne
Vous ne décrivez toujours aucun modèle. En fait, le seul indice qu'il vous reste concernant le "type de tâche (sur laquelle vous travaillez)" est la balise nlp - mais c'est tellement large que cela n'aide pas beaucoup. Ce que j'espère que vous pourrez fournir, afin que les gens puissent comprendre la question et fournir de bonnes réponses, est suffisamment d'informations pour pouvoir comprendre exactement comment vous utilisez votre mesure de distance et comment elle détermine quels pourraient être les "résultats".
whuber
stats.stackexchange.com/a/36158/3277 . Toute similitude angulaire de type sscp est convertible en sa distance euclidienne correspondante.
ttnphns

Réponses:

31

Pour les vecteurs normalisés x , y , | | x | | 2 = | | y | | 2 = 1 , nous avons que la distance euclidienne au carré est proportionnelle à la distance cosinus , | | x - y | | 2 22x,y

||x||2=||y||2=1,
Autrement dit, même si vous normalisiez vos données et que votre algorithme était invariant à l'échelle des distances, vous vous attendriez toujours à des différences en raison de la quadrature.
||xy||22=(xy)(xy)=xx2xy+yy=22xy=22cos(x,y)
Lucas
la source
Cela aurait-il une influence sur le classement? Autrement dit, si je trie un certain nombre de vecteurs 'v_i dans V' par leur distance cosinusoïdale par rapport à un vecteur 'u', j'obtiens un ordre spécifique pour eux. Le classement de ces mêmes vecteurs avec une distance euclidienne normalisée l_2 produirait-il le même ordre?
Arne
2
iirc, car la quadrature est une transformation monotique (pour les nombres positifs), elle ne peut pas changer l'ordre d'une séquence triée par longueur.
Arne
5
u
Merci, avez-vous une source citable pour cette connexion?
Arne
1
Eh bien, je suppose que 'Linear Alebra I' doit suffire alors;) merci encore pour la perspicacité!
Arne
5

uv

cos(u,v)=u,vuv=uTvuv[1,1].
Marc Claesen
la source