Zum Inhalt springen
uencoder

Cosine Similarity

Die Kosinusähnlichkeit misst den Kosinus des Winkels zwischen zwei Vektoren und ignoriert deren Länge; sie wird vielfach für die Ähnlichkeitsberechnung von Textvektoren verwendet.

Zweck

Vergleicht die Vektorrichtung statt den Betrag, sodass lange und kurze Dokumente fair verglichen werden können.

Mechanismus

sim(A,B) = (A·B) / (|A|×|B|) = Σ(A_i×B_i) / (sqrt(ΣA_i²)×sqrt(ΣB_i²)). Der Wert reicht von -1 bis 1 (0 bis 1 für nichtnegative Textvektoren). 1 bedeutet identische Richtung; 0 bedeutet orthogonal (unverwandt).

Anwendungsfälle

  • Ähnlichkeitssuche in Dokumenten
  • Item-Ähnlichkeit in Empfehlungssystemen
  • Semantische Ähnlichkeit von Wortvektoren
  • Distanzmetrik fürs Clustering

Beispiele

  • Eingabe
    [1,0,1] vs [1,1,1]
    Output
    0.816

    Angle of about 35°

Häufige Fehler

Unnormalized vectors cause computation overflow
Apply L2 normalization in advance or use a numerically stable implementation

Verwandte Begriffe

Verwandte Tools

References