cosine lighed

Cosine lighed er et mål for, hvor ens to ikke-nul-vektorer er i retning, uafhængigt af deres længde, beregnet som cosinus til vinklen mellem dem.

Kort fortalt

Et tal mellem -1 og 1 der fortæller, om to vektorer peger i samme retning (1), modsat retning (-1) eller er ortogonale (0).

Kategori
metrik
Niveau
begynder
Udtale
/koˈsiːnə ˈliːhəð/

Betydninger

1
  1. 1

    Et mål for lighed mellem to vektorer baseret på cosinus til vinklen mellem dem, hvor værdien er mellem -1 og 1.

    • Cosine lighed mellem to TF-IDF vektorer kan bestemme teksternes semantiske lighed.
    • I word2vec bruges cosine lighed ofte til at finde ord med lignende betydning.

Hvornår bruges det

Cosine lighed bruges især til at sammenligne dokumenter eller ord i vektorrumsmodeller, som ved TF-IDF eller embeddings. Den er populær i informationssøgning og NLP, fordi den er hurtig at beregne og ufølsom over for vektorlængde.

Formel

cosine_similarity(A,B) = (A·B) / (‖A‖ ‖B‖) = (Σ A_i B_i) / (√(Σ A_i²) √(Σ B_i²))

Kodeeksempel

import numpy as np

def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

Simpel implementering af cosine lighed vha. NumPy.

Oprindelse

Fra matematikken (cosinusrelationen) og overført til machine learning via vektorrumsmodeller.

Afledte ord

1

Kilder

1
  • Introduction to Information Retrieval (Manning, Raghavan, Schütze, 2008)