cosine similarity

Cosinus-lighed er en metrik, der måler ligheden mellem to ikke-nul vektorer ved at beregne cosinus af vinklen mellem dem.

Kort fortalt

Kort fortalt: Cosinus-lighed fortæller, hvor ens to vektorer er, baseret på retningen – værdien går fra -1 (modsat) til 1 (identisk).

Kategori
metrik
Niveau
øvet
Udtale
/ˈkoʊsaɪn ˌsɪməˈlærɪti/

Betydninger

1
  1. 1

    Cosinus-lighed er en metrik, der kvantificerer ligheden mellem to vektorer som cosinus af vinklen mellem dem, hvilket kun afhænger af retning, ikke længde.

    • For at beregne cosinus-ligheden mellem to ord-embeddings bruger man formlen A·B / (||A|| ||B||).Introduction to Information Retrieval, 2008

Hvornår bruges det

Cosinus-lighed bruges ofte i naturlig sprogbehandling og informationsgenfinding til at sammenligne dokumenter eller ord-embeddings. Den er også central i anbefalingssystemer og clustering-algoritmer.

Formel

cosine_similarity(A, B) = (A · B) / (||A|| * ||B||)

Kodeeksempel

import numpy as np
def cosine_similarity(a, b):
    dot = np.dot(a, b)
    norm_a = np.linalg.norm(a)
    norm_b = np.linalg.norm(b)
    return dot / (norm_a * norm_b)

Eksempel på en Python-implementering af cosinus-lighed ved hjælp af NumPy.

Oprindelse

Termen stammer fra trigonometri, hvor cosinus af en vinkel er forholdet mellem den tilstødende katete og hypotenusen i en retvinklet trekant.

Afledte ord

1

Kilder

1
  • Salton, G., Wong, A., & Yang, C. S. (1975). A vector space model for automatic indexing. Communications of the ACM, 18(11), 613–620.