Es sieht so aus, als ob die Kosinusähnlichkeit von zwei Merkmalen nur ihr Skalierungsprodukt ist, das durch das Produkt ihrer Größenordnung skaliert wird. Wann macht Cosinus-Ähnlichkeit eine bessere Abstandsmetrik als das Skalarprodukt? Dh haben das Skalarprodukt und die Kosinusähnlichkeit unterschiedliche Stärken oder Schwächen in unterschiedlichen Situationen?
classification
ahoffer
quelle
quelle
Antworten:
Denken Sie geometrisch. Die Cosinus-Ähnlichkeit kümmert sich nur um den Winkelunterschied, während sich das Skalarprodukt um den Winkel und die Größe kümmert. Wenn Sie Ihre Daten so normalisieren, dass sie dieselbe Größe haben, sind beide nicht zu unterscheiden. Manchmal ist es wünschenswert, die Größe zu ignorieren, daher ist die Cosinus-Ähnlichkeit gut, aber wenn die Größe eine Rolle spielt, ist das Skalarprodukt besser als Ähnlichkeitsmaß. Beachten Sie, dass keines von beiden eine "Entfernungsmetrik" ist.
quelle
Sie haben recht, Cosinus-Ähnlichkeit hat eine Menge Gemeinsamkeiten mit dem Skalarprodukt von Vektoren. Tatsächlich handelt es sich um ein Skalierungsprodukt. Und wegen der Skalierung wird es zwischen 0 und 1 normalisiert. CS wird bevorzugt, weil es die Variabilität der Daten und die relativen Häufigkeiten der Merkmale berücksichtigt. Auf der anderen Seite ist ein einfaches Punktprodukt ein bisschen "billiger" (in Bezug auf Komplexität und Implementierung).
quelle
Ich möchte den oben gegebenen Antworten eine weitere Dimension hinzufügen. Normalerweise verwenden wir die Kosinusähnlichkeit für großen Text, da die Verwendung einer Distanzmatrix für Absätze von Daten nicht empfohlen wird. Und auch wenn Sie beabsichtigen, dass Ihr Cluster breit ist, tendieren Sie dazu, Cosinus-Ähnlichkeit zu verwenden, da Ähnlichkeit insgesamt erfasst wird.
Wenn Sie beispielsweise Texte haben, die maximal zwei oder drei Wörter lang sind, erreicht die Verwendung der Kosinus-Ähnlichkeit meines Erachtens nicht die Genauigkeit, die durch die Abstandsmetrik erreicht wird.
quelle
Es gibt einen ausgezeichneten Vergleich der gemeinsamen Innenproduktbasierte Ähnlichkeitsmetriken hier .
Insbesondere wird die Cosinus-Ähnlichkeit so normalisiert, dass sie innerhalb von [0,1] liegt, anders als das Skalarprodukt, bei dem es sich um eine beliebige reelle Zahl handeln kann. Persönlich finde ich das gut. Ich stelle mir die Größe als interne Struktur (innerhalb des Vektors) und den Winkel zwischen Vektoren als externe Struktur (zwischen Vektoren) vor. Sie sind verschiedene Dinge und werden (meiner Meinung nach) oft am besten getrennt analysiert. Ich kann mir keine Situation vorstellen, in der ich lieber innere Produkte als Kosinusähnlichkeiten berechnen und anschließend nur die Größen vergleichen würde.
quelle
Aus geometrischer Sicht definiert das Skalarprodukt zweier Vektoren einen Winkel , wenn alle Ihre Daten einheitlich sind, , und Sie haben einen Abstand .∀x,||x||2=⟨x,x⟩=1 ϕ ⟨x,y⟩=cosϕ ϕ=arccos⟨x,y⟩
Visuell leben alle Ihre Daten auf einer Einheitssphäre. Wenn Sie ein Punktprodukt als Abstand verwenden, erhalten Sie einen Akkordabstand. Wenn Sie jedoch diesen Kosinusabstand verwenden, entspricht dies der Länge des Pfades zwischen den beiden Punkten auf der Kugel. Das heißt, wenn Sie einen Durchschnitt der beiden Punkte wünschen, sollten Sie den Zwischenpunkt auf diesem Pfad (geodätisch) nehmen und nicht den Mittelpunkt, der sich aus dem 'arithmetischen Durchschnitt / Punktprodukt / euklidische Geometrie' ergibt, da dies der Fall ist nicht auf der Kugel leben (daher im Wesentlichen nicht das gleiche Objekt)!
quelle
Wie bereits erwähnt, handelt es sich hierbei nicht um Entfernungsmetriken, da sie die Metrikkriterien nicht erfüllen. Sagen Sie stattdessen "Entfernungsmessung".
Wie auch immer, was messen Sie und warum? Diese Informationen helfen uns, eine nützlichere Antwort für Ihre Situation zu geben.
quelle