Vektorin samankaltaisuuden laskin
Laske etäisyys ja samankaltaisuus numeeristen vektorien välillä käyttämällä menetelmiä, kuten kosini, euklidinen, jaccard ja muita.
Syöte
Tuloste
Lue lisää
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;3Ominaisuudet
- 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
InfinitytaiNaN, joita työkalu käsittelee laskentavirheenä. - Hyvin suuret vektorit (tuhansia ulottuvuuksia) ovat tuettuja, mutta ne voivat aiheuttaa lyhyen viiveen valitusta menetelmästä riippuen.