Ist die Kosinusähnlichkeit identisch mit dem 12-normalisierten euklidischen Abstand?

27

Gleichbedeutend damit , dass es für eine Ähnlichkeitsrangfolge zwischen einem Vektor u und einer Menge von Vektoren V zu gleichen Ergebnissen kommt .

Ich habe ein Vektorraummodell, dessen Parameter Distanzmessung (euklidische Distanz, Kosinusähnlichkeit) und Normalisierungstechnik (keine, l1, l2) sind. Nach meinem Verständnis sollten die Ergebnisse der Einstellungen [cosine, none] identisch oder zumindest wirklich sehr ähnlich zu [euclidean, l2] sein, aber sie sind es nicht.

Es besteht tatsächlich eine gute Chance, dass das System immer noch fehlerhaft ist - oder habe ich etwas Kritisches an Vektoren?

edit: Ich habe vergessen zu erwähnen, dass die Vektoren auf Wortzählungen aus Dokumenten in einem Korpus basieren. Bei einem Abfragedokument (das ich auch in einen Wortzählvektor umwandle) möchte ich das Dokument aus meinem Korpus finden, das ihm am ähnlichsten ist.

Die Berechnung des euklidischen Abstands ist ein einfaches Maß, aber bei der Art der Aufgabe, mit der ich arbeite, wird die Kosinusähnlichkeit häufig als Ähnlichkeitsindikator bevorzugt, da Vektoren, die sich nur in der Länge unterscheiden, immer noch als gleich angesehen werden. Das Dokument mit der geringsten Entfernung / Cosinus-Ähnlichkeit wird als das ähnlichste angesehen.

Arne
quelle
Es hängt alles davon ab, was Ihr "Vektorraummodell" mit diesen Entfernungen macht. Könnten Sie genauer beschreiben, was das Modell leistet?
whuber
Entschuldigung, manchmal ist es schwer, aus meinem Kopf herauszukommen. Ich habe eine Spezifikation hinzugefügt.
Arne,
Sie beschreiben noch kein Modell. Tatsächlich ist der einzige Hinweis auf die Art der Aufgabe, an der Sie arbeiten, das nlp- Tag - aber das ist so weit gefasst , dass es nicht viel hilft. Was ich hoffe, dass Sie liefern können, damit die Leute die Frage verstehen und gute Antworten geben können, sind ausreichende Informationen, um genau herauszufinden, wie Sie Ihr Entfernungsmaß verwenden und wie es bestimmt, was die "Ergebnisse" sein könnten.
Whuber
stats.stackexchange.com/a/36158/3277 . Jede winklige Ähnlichkeit vom Typ sscp kann in die entsprechende euklidische Distanz konvertiert werden.
TTNPHNS

Antworten:

31

Für -normalisierte Vektoren x , y , | | x | | 2 = | | y | | 2 = 1 , wir haben, dass der quadratische euklidische Abstand proportional zum Kosinusabstand ist , | | x - y | | 2 22x,y

||x||2=||y||2=1,
Das heißt, selbst wenn Sie Ihre Daten normalisiert haben und Ihr Algorithmus der Skalierung der Abstände widerspricht, würden Sie aufgrund der Quadrierung immer noch Unterschiede erwarten.
||x-y||22=(x-y)(x-y)=xx-2xy+yy=2-2xy=2-2cos(x,y)
Lucas
quelle
Hätte dies einen Einfluss auf das Ranking? Das heißt, wenn ich eine Reihe von Vektoren 'v_i in V' nach ihrem Kosinusabstand zu einem Vektor 'u' sortiere, erhalte ich eine bestimmte Reihenfolge für sie. Würden die gleichen Vektoren mit l_2 normalisierter euklidischer Distanz die gleiche Reihenfolge ergeben?
Arne
2
iirc, da Quadrieren eine monotische Transformation ist (für positive Zahlen), kann es die Reihenfolge einer nach Länge sortierten Sequenz nicht ändern.
Arne
5
u
Vielen Dank, haben Sie zufällig eine zitierfähige Quelle für diese Verbindung?
Arne
1
Naja, ich denke 'Linear Alebra I' muss dann ausreichen;) Nochmals vielen Dank für die Einsicht!
Arne
5

uv

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