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;3

Caratteristiche

  • 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 Infinity o NaN, 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.