Mikä on vektorin samankaltaisuus?

Vektorin samankaltaisuus mittaa, kuinka samanlaisia kaksi vektoria ovat moniulotteisessa avaruudessa. Vektorit ovat järjestettyjä numeroluetteloita, jotka edustavat datapisteitä — ne esiintyvät koneoppimisen upotuksissa, suosittelujärjestelmissä, luonnollisen kielen käsittelyssä, kuvantunnistuksessa ja tieteellisessä laskennassa. Kahden vektorin vertaaminen kertoo, kuinka lähellä tai toisiinsa liittyviä taustalla olevat datapisteet ovat.

Käytetään kahta ydinkonsepia:

  • Samankaltaisuus: Pistemäärä, joka osoittaa, kuinka samanlaisia kaksi vektoria ovat. Korkeammat arvot tarkoittavat yleensä suurempaa samankaltaisuutta (esim. kosinin samankaltaisuus 1 tarkoittaa identtistä suuntaa).
  • Etäisyys: Mitta siitä, kuinka kaukana kaksi vektoria ovat toisistaan. Pienemmät arvot tarkoittavat yleensä suurempaa samankaltaisuutta (esim. euklidinen etäisyys 0 tarkoittaa identtisiä vektoreita).

Työkalun kuvaus

Tämä työkalu laskee samankaltaisuuden tai etäisyyden kahden numeerisen vektorin välillä käyttäen yli 50 tunnettua menetelmää informaatioteoriasta, tilastotieteestä ja geometriasta. Syötä kaksi vektoria, valitse menetelmä samankaltaisuus- tai etäisyys-välilehdestä, ja tulos lasketaan välittömästi selaimessasi.

Esimerkit

Syöte

Vektori A: 1, 2, 3
Vektori B: 4, 5, 6
Menetelmä Tulos
Kosinin samankaltaisuus 0.9746318461970762
Euklidinen etäisyys 5.196152422706632
Manhattanin etäisyys 16.5

Hyväksytyt syötemuodot

Kaikki seuraavat ovat vastaavia:

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

Ominaisuudet

  • 50+ menetelmää — valitse etäisyyksistä (Euklidinen, Manhattan, Chebyshev, Kosini, Kullback-Leibler, Jensen-Shannon ja muut) tai samankaltaisuuksista (Kosini, Jaccard, Dice, Tanimoto ja muut)
  • Joustava syöte — hyväksyy pilkulla, välilyönnillä tai puolipilkulla erotettuja arvoja sulkeiden kanssa tai ilman
  • Välittömät tulokset — kaikki laskenta suoritetaan asiakaspuolella ilman tietojen lähettämistä palvelimelle

Tuetut menetelmät

Samankaltaisuusmenetelmät

Menetelmä Kuvaus
Kosini Mittaa kahden vektorin välistä kulmaa; laajalti käytetty NLP:ssä ja suosittelujärjestelmissä
Kumar-Hassebrook Yleistetty samankaltaisuus, joka yhdistää Jaccardin ja kosinin
Dice Kaksinkertainen leikkaus jaettuna elementtien lukumäärän summalla
Tanimoto Laajennettu Jaccardin kerroin jatkuville vektoreille
Leikkaus Elementtikohtaisten minimien summa
Czekanowski Kaksinkertaisen minimien summan suhde kokonaissummaan
Motyka Leikkaus jaettuna kaikkien elementtien summalla
Kulczynski Tarkkuuden ja takaisinkutsuun kaltaisten suhteiden harmoninen keskiarvo
Squared Chord Perustuu elementtituotteiden neliöjuuriin
Pearson Lineaarinen korrelaatiokerroin kahden vektorin välillä

Etäisyysmenetelmät

Menetelmä Kuvaus
Euklidinen Suoraviivainen etäisyys n-ulotteisessa avaruudessa
Squared Euclidean Euklidinen etäisyys ilman neliöjuurta
Manhattan (City Block) Absoluuttisten elementtikohtaisten erojen summa
Chebyshev Suurin absoluuttinen ero kaikkien ulottuvuuksien yli
Canberra Painotettu Manhattanin etäisyys, joka on herkkä nollaa lähellä oleville arvoille
Sørensen Absoluuttisten erojen summa jaettuna kaikkien arvojen summalla
Gower Normalisoitu absoluuttisten erojen keskiarvo
Soergel Absoluuttisten erojen suhde elementtikohtaisiin maksimeihin
Lorentzian Luonnollisten logaritmien summa absoluuttisista eroista plus yksi
Clark Painotettu etäisyys käyttäen absoluuttisia eroja summien yli
Wave Hedges Absoluuttisten erojen summa jaettuna elementtikohtaisilla maksimeilla
Czekanowski Czekanowskin kertoimen etäisyysmuoto
Motyka Motykan kertoimen etäisyysmuoto
Kulczynski Kulczynskin kertoimen etäisyysmuoto
Tanimoto Tanimoto-kertoimen etäisyysmuoto
Ruzicka Ruzickan samankaltaisuuden komplementti
Inner Product Negatiivinen pistetulo etäisyysmittana
Harmonic Mean Etäisyys perustuu elementtipaarien harmonisiin keskiarvoihin
Jaccard Ei-vastaavien komponenttien osuus
Dice Dicen kertoimen etäisyysmuoto
Fidelity Perustuu elementtituotteiden neliöjuureen (Bhattacharyya-liittyvä)
Bhattacharyya Mittaa kahden todennäköisyysjakauman välistä päällekkäisyyttä
Hellinger Bhattacharyyan etäisyyden neliöjuuri
Matusita Neliöjuuri puolesta neliöjuurien erojen neliöiden summasta
Squared Chord Squared Chord -kertoimen etäisyysmuoto
Pearson Pearsonin korrelaatiokertoimen etäisyysmuoto
Neyman Chi-neliö-tyyppinen divergenssi
Squared Neliöity chi-neliö-etäisyys
Probabilistic Symmetric Chi-neliö-divergenssin symmetrinen versio
Divergence Kaksinkertaisesti painotettu neliöity etäisyys
Additive Symmetric Neymanin ja Pearsonin chi-neliö-divergenssien keskiarvo
Kullback-Leibler Informaatioteoreettinen divergenssi jakaumien välillä
Jeffreys Symmetrinen Kullback-Leibler-divergenssi
K Divergence Epäsymmetrinen divergenssi, joka perustuu keskimääräiseen jakaumaan
Topsøe Kaksinkertainen Jensen-Shannon-divergenssi
Jensen-Shannon Tasoitettu, symmetrinen versio Kullback-Leibler-divergenssista
Jensen Difference Perustuu Jensen-epäyhtälöön konvekseille funktioille
Taneja Aritmeettis-geometrinen keskiarvo divergenssi
Kumar-Johnson Perustuu parillisten potenssien neliöityihin eroihin
Intersection Leikkaussamankaltaisuuden komplementti
Average (City Block + Chebyshev) Manhattanin ja Chebyshev-etäisyyksien keskiarvo

Kuinka se toimii

Työkalu jäsentää jokaisen vektoriinputin numerosarjaksi, poistaa valinnaiset sulkeet ja jakaa pilkuilla, välilyönneillä tai puolipilkuilla. Sitten se välittää molemmat taulukot valittuun funktioon ml-distance-kirjastosta, joka suorittaa laskelman puhtaalla JavaScriptillä. Molemmilla vektoreilla on oltava sama määrä ulottuvuuksia; muussa tapauksessa työkalu näyttää validointivirheen.

Rajoitukset

  • Jotkut menetelmät (esim. Kullback-Leibler, Bhattacharyya) vaativat, että kaikki arvot ovat tiukasti positiivisia ja summautuvat 1:een (todennäköisyysjakaumat). Mielivaltaisten vektorien käyttäminen voi tuottaa Infinity tai NaN, joita työkalu käsittelee laskentavirheenä.
  • Hyvin suuret vektorit (tuhansia ulottuvuuksia) ovat tuettuja, mutta ne voivat aiheuttaa lyhyen viiveen valitusta menetelmästä riippuen.