Calcolatore di Similarità Vettoriale
Calcola la distanza e la similarità tra vettori numerici utilizzando metodi come coseno, euclideo, jaccard e altri.
Input
Output
Leggimi
Che cos'è la similarità vettoriale?
La similarità vettoriale misura quanto due vettori sono simili in uno spazio multidimensionale. I vettori sono elenchi ordinati di numeri che rappresentano punti dati — appaiono negli embedding di machine learning, nei sistemi di raccomandazione, nell'elaborazione del linguaggio naturale, nel riconoscimento delle immagini e nel calcolo scientifico. Confrontare due vettori ti dice quanto sono vicini o correlati i punti dati sottostanti.
Due concetti fondamentali sono utilizzati:
- Similarità: Un punteggio che indica quanto due vettori sono simili. Valori più alti tipicamente significano maggiore somiglianza (ad es., una similarità del coseno di 1 significa direzione identica).
- Distanza: Una misura di quanto due vettori sono distanti. Valori più bassi tipicamente significano maggiore somiglianza (ad es., una distanza euclidea di 0 significa vettori identici).
Descrizione dello strumento
Questo strumento calcola la similarità o la distanza tra due vettori numerici utilizzando oltre 50 metodi ben noti dalla teoria dell'informazione, dalla statistica e dalla geometria. Inserisci due vettori, scegli un metodo dalla scheda similarità o distanza, e il risultato viene calcolato istantaneamente nel tuo browser.
Esempi
Input
Vettore A: 1, 2, 3
Vettore B: 4, 5, 6| Metodo | Risultato |
|---|---|
| Similarità del coseno | 0.9746318461970762 |
| Distanza euclidea | 5.196152422706632 |
| Distanza di Manhattan | 16.5 |
Formati di input accettati
Tutti i seguenti sono equivalenti:
1, 2, 3
[1, 2, 3]
(1 2 3)
1;2;3Caratteristiche
- 50+ metodi — scegli tra distanze (Euclidea, Manhattan, Chebyshev, Coseno, Kullback-Leibler, Jensen-Shannon, e altri) o similarità (Coseno, Jaccard, Dice, Tanimoto, e altri)
- Input flessibile — accetta valori separati da virgole, spazi o punti e virgola con o senza parentesi
- Risultati istantanei — tutti i calcoli vengono eseguiti lato client senza invio di dati a un server
Metodi supportati
Metodi di similarità
| Metodo | Descrizione |
|---|---|
| Coseno | Misura l'angolo tra due vettori; ampiamente utilizzato in NLP e nei sistemi di raccomandazione |
| Kumar-Hassebrook | Similarità generalizzata che combina Jaccard e coseno |
| Dice | Il doppio dell'intersezione diviso per la somma dei conteggi degli elementi |
| Tanimoto | Coefficiente Jaccard esteso per vettori continui |
| Intersezione | Somma dei minimi elemento per elemento |
| Czekanowski | Rapporto tra il doppio della somma dei minimi e la somma totale |
| Motyka | Intersezione divisa per la somma di tutti gli elementi |
| Kulczynski | Media armonica di rapporti simili a precisione e recall |
| Squared Chord | Basato sulle radici quadrate dei prodotti degli elementi |
| Pearson | Coefficiente di correlazione lineare tra i due vettori |
Metodi di distanza
| Metodo | Descrizione |
|---|---|
| Euclidea | Distanza in linea retta nello spazio n-dimensionale |
| Euclidea al quadrato | Distanza euclidea senza la radice quadrata |
| Manhattan (City Block) | Somma delle differenze assolute elemento per elemento |
| Chebyshev | Differenza assoluta massima in tutte le dimensioni |
| Canberra | Distanza Manhattan ponderata sensibile ai valori vicini a zero |
| Sørensen | Somma delle differenze assolute divisa per la somma di tutti i valori |
| Gower | Media normalizzata delle differenze assolute |
| Soergel | Rapporto tra differenze assolute e massimi elemento per elemento |
| Lorentzian | Somma dei logaritmi naturali delle differenze assolute più uno |
| Clark | Distanza ponderata utilizzando differenze assolute su somme |
| Wave Hedges | Somma delle differenze assolute divisa per i massimi elemento per elemento |
| Czekanowski | Forma di distanza del coefficiente Czekanowski |
| Motyka | Forma di distanza del coefficiente Motyka |
| Kulczynski | Forma di distanza del coefficiente Kulczynski |
| Tanimoto | Forma di distanza del coefficiente Tanimoto |
| Ruzicka | Complemento della similarità Ruzicka |
| Inner Product | Prodotto scalare negativo come misura di distanza |
| Harmonic Mean | Distanza basata sulle medie armoniche delle coppie di elementi |
| Jaccard | Proporzione di componenti non corrispondenti |
| Dice | Forma di distanza del coefficiente Dice |
| Fidelity | Basato sulla radice quadrata dei prodotti degli elementi (correlato a Bhattacharyya) |
| Bhattacharyya | Misura la sovrapposizione tra due distribuzioni di probabilità |
| Hellinger | Radice quadrata della distanza Bhattacharyya |
| Matusita | Radice quadrata della metà della somma delle differenze al quadrato delle radici quadrate |
| Squared Chord | Forma di distanza del coefficiente Squared Chord |
| Pearson | Forma di distanza del coefficiente di correlazione Pearson |
| Neyman | Divergenza di tipo chi-quadrato |
| Squared | Distanza chi-quadrato al quadrato |
| Probabilistic Symmetric | Versione simmetrica della divergenza chi-quadrato |
| Divergence | Distanza al quadrato doppiamente ponderata |
| Additive Symmetric | Media delle divergenze chi-quadrato Neyman e Pearson |
| Kullback-Leibler | Divergenza teorica dell'informazione tra distribuzioni |
| Jeffreys | Divergenza Kullback-Leibler simmetrica |
| K Divergence | Divergenza asimmetrica basata sulla distribuzione media |
| Topsøe | Il doppio della divergenza Jensen-Shannon |
| Jensen-Shannon | Versione lisciata e simmetrica di Kullback-Leibler |
| Jensen Difference | Basato sulla disuguaglianza di Jensen per funzioni convesse |
| Taneja | Divergenza della media aritmetico-geometrica |
| Kumar-Johnson | Basato sulle differenze al quadrato delle potenze pari |
| Intersezione | Complemento della similarità di intersezione |
| Average (City Block + Chebyshev) | Media delle distanze Manhattan e Chebyshev |
Come funziona
Lo strumento analizza ogni input vettoriale in una sequenza di numeri, rimuove le parentesi opzionali e divide su virgole, spazi o punti e virgola. Quindi passa entrambi gli array alla funzione selezionata dalla libreria ml-distance, che esegue il calcolo in JavaScript puro. Entrambi i vettori devono avere lo stesso numero di dimensioni; altrimenti lo strumento mostra un errore di convalida.
Limitazioni
- Alcuni metodi (ad es., Kullback-Leibler, Bhattacharyya) richiedono che tutti i valori siano strettamente positivi e sommino a 1 (distribuzioni di probabilità). L'utilizzo di vettori arbitrari può produrre
InfinityoNaN, che lo strumento tratta come un errore di calcolo. - Vettori molto grandi (migliaia di dimensioni) sono supportati ma potrebbero causare un breve ritardo a seconda del metodo scelto.