Similitudinea cosinus măsoară unghiul dintre doi vectori n-dimensionali, ignorând complet magnitudinea (lungimea) acestora. Variază între -1 (vectori diametral opuși) și +1 (vectori orientați identic). Distanța cosinus este complementul său: Distanța = 1 - Similitudinea.
Calculul direct al normelor la fiecare interogare este costisitor computațional. Prin normalizarea L2 a vectorilor la momentul inserării (astfel încât lungimea fiecărui vector să devină exact 1.0), calculul cosinus devine identic cu un simplu produs scalar (Dot Product):
import numpy as np
v1 = np.array([3.0, 4.0, 0.0])
v2 = np.array([6.0, 8.0, 0.0])
# Normalizare L2 (norma euclidiană = 1.0)
v1_norm = v1 / np.linalg.norm(v1)
v2_norm = v2 / np.linalg.norm(v2)
# Produsul scalar pe vectori normalizați este exact similitudinea cosinus!
cosine_sim = np.dot(v1_norm, v2_norm)
print(f"Similitudine: {cosine_sim:.4f}") # 1.0000
Toate motoarele vectoriale majore recomandă normalizarea prealabilă a vectorilor pentru a utiliza metrica optimizată Dot Product în locul formulei cosinus nestandardizate.
Întrebări & Exemple practice:
Cosine Similarity vs Cosine Distance și Normalizarea Vectorilor L2Ai o întrebare despre Cosine Similarity vs Cosine Distance și Normalizarea Vectorilor L2 sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.