Vad är vektorlikhet?

Vektorlikhet mäter hur lika två vektorer är i ett flerdimensionellt utrymme. Vektorer är ordnade listor med tal som representerar datapunkter — de förekommer i maskininlärningsembeddings, rekommendationssystem, naturlig språkbehandling, bildkänning och vetenskaplig databehandling. Genom att jämföra två vektorer kan du se hur nära eller relaterade de underliggande datapunkterna är.

Två kärnkoncept används:

  • Likhet: En poäng som anger hur lika två vektorer är. Högre värden betyder vanligtvis större likhet (t.ex. cosinus-likhet på 1 betyder identisk riktning).
  • Avstånd: Ett mått på hur långt ifrån varandra två vektorer är. Lägre värden betyder vanligtvis större likhet (t.ex. euklidiskt avstånd på 0 betyder identiska vektorer).

Verktygsbeskrivning

Det här verktyget beräknar likheten eller avståndet mellan två numeriska vektorer med hjälp av över 50 välkända metoder från informationsteori, statistik och geometri. Ange två vektorer, välj en metod från fliken likhet eller avstånd, och resultatet beräknas omedelbar i din webbläsare.

Exempel

Inmatning

Vektor A: 1, 2, 3
Vektor B: 4, 5, 6
Metod Resultat
Cosinus-likhet 0.9746318461970762
Euklidiskt avstånd 5.196152422706632
Manhattan-avstånd 16.5

Godkända inmatningsformat

Alla följande är ekvivalenta:

1, 2, 3
[1, 2, 3]
(1 2 3)
1;2;3

Funktioner

  • 50+ metoder — välj mellan avstånd (Euklidiskt, Manhattan, Chebyshev, Cosinus, Kullback-Leibler, Jensen-Shannon och fler) eller likheter (Cosinus, Jaccard, Dice, Tanimoto och fler)
  • Flexibel inmatning — accepterar komma-, mellanslag- eller semikolonseparerade värden med eller utan hakparenteser
  • Omedelbara resultat — all beräkning körs på klientsidan utan att data skickas till en server

Metoder som stöds

Likhetmetoder

Metod Beskrivning
Cosinus Mäter vinkeln mellan två vektorer; används ofta inom NLP och rekommendationssystem
Kumar-Hassebrook Generaliserad likhet som kombinerar Jaccard och cosinus
Dice Två gånger skärningen dividerat med summan av elementantal
Tanimoto Utökad Jaccard-koefficient för kontinuerliga vektorer
Skärning Summa av elementvisa minimivärden
Czekanowski Förhållandet mellan två gånger summan av minimivärden och totalsumman
Motyka Skärning dividerat med summan av alla element
Kulczynski Harmoniskt medelvärde av precision- och återkallningsliknande förhållanden
Squared Chord Baserat på kvadratrötterna av elementprodukterna
Pearson Linjär korrelationskoefficient mellan de två vektorerna

Avståndmetoder

Metod Beskrivning
Euklidiskt Rätlinjigt avstånd i n-dimensionellt utrymme
Squared Euclidean Euklidiskt avstånd utan kvadratrot
Manhattan (City Block) Summa av absoluta elementvisa skillnader
Chebyshev Maximal absolut skillnad över alla dimensioner
Canberra Vägt Manhattan-avstånd känsligt för värden nära noll
Sørensen Summa av absoluta skillnader dividerat med summan av alla värden
Gower Normaliserat medelvärde av absoluta skillnader
Soergel Förhållandet mellan absoluta skillnader och elementvisa maximivärden
Lorentzian Summa av naturliga logaritmer av absoluta skillnader plus ett
Clark Vägt avstånd med absoluta skillnader över summor
Wave Hedges Summa av absoluta skillnader dividerat med elementvisa maximivärden
Czekanowski Avståndform av Czekanowski-koefficienten
Motyka Avståndform av Motyka-koefficienten
Kulczynski Avståndform av Kulczynski-koefficienten
Tanimoto Avståndform av Tanimoto-koefficienten
Ruzicka Komplement till Ruzicka-likheten
Inner Product Negativ skalärprodukt som avståndsmått
Harmonic Mean Avstånd baserat på harmoniska medelvärden av elementpar
Jaccard Andel av icke-matchande komponenter
Dice Avståndform av Dice-koefficienten
Fidelity Baserat på kvadratroten av elementprodukterna (Bhattacharyya-relaterad)
Bhattacharyya Mäter överlappning mellan två sannolikhetsfördelningar
Hellinger Kvadratrot av Bhattacharyya-avståndet
Matusita Kvadratrot av hälften av summan av kvadrerade skillnader av kvadratrötter
Squared Chord Avståndform av Squared Chord-koefficienten
Pearson Avståndform av Pearson-korrelationskoefficienten
Neyman Chi-kvadrat-liknande divergens
Squared Kvadrerad chi-kvadrat-avstånd
Probabilistic Symmetric Symmetrisk version av chi-kvadrat-divergensen
Divergence Dubbelt vägt kvadrerat avstånd
Additive Symmetric Medelvärde av Neyman och Pearson chi-kvadrat-divergenser
Kullback-Leibler Informationsteoretisk divergens mellan fördelningar
Jeffreys Symmetrisk Kullback-Leibler-divergens
K Divergence Asymmetrisk divergens baserad på genomsnittlig fördelning
Topsøe Två gånger Jensen-Shannon-divergensen
Jensen-Shannon Utjämnad, symmetrisk version av Kullback-Leibler
Jensen Difference Baserat på Jensen-olikheten för konvexa funktioner
Taneja Aritmetisk-geometrisk medelvärdes-divergens
Kumar-Johnson Baserat på kvadrerade skillnader av jämna potenser
Intersection Komplement till skärningslikheten
Average (City Block + Chebyshev) Medelvärde av Manhattan och Chebyshev-avstånd

Hur det fungerar

Verktyget tolkar varje vektorinmatning till en sekvens av tal, tar bort valfria hakparenteser och delar på komman, mellanslag eller semikolon. Det skickar sedan båda arrayerna till den valda funktionen från biblioteket ml-distance, som utför beräkningen i ren JavaScript. Båda vektorerna måste ha samma antal dimensioner; annars visar verktyget ett valideringsfel.

Begränsningar

  • Vissa metoder (t.ex. Kullback-Leibler, Bhattacharyya) kräver att alla värden är strikt positiva och summerar till 1 (sannolikhetsfördelningar). Användning av godtyckliga vektorer kan producera Infinity eller NaN, vilket verktyget behandlar som ett beräkningsfel.
  • Mycket stora vektorer (tusentals dimensioner) stöds men kan orsaka en kort fördröjning beroende på den valda metoden.