Tipi di metriche
Le metriche di somiglianza sono utilizzate per misurare le somiglianze tra vettori. La scelta di una metrica di distanza appropriata aiuta a migliorare notevolmente le prestazioni di classificazione e clustering.
Attualmente, Milvus supporta questi tipi di metriche di somiglianza: Distanza euclidea (L2
), Prodotto interno (IP
), Somiglianza coseno (COSINE
), JACCARD
, HAMMING
e BM25
(specificamente progettato per la ricerca full text su vettori sparsi).
La tabella seguente riassume la mappatura tra i diversi tipi di campo e i corrispondenti tipi di metrica.
Tipo di campo | Intervallo di dimensione | Tipi di metrica supportati | Tipo di metrica predefinito |
---|---|---|---|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| Non è necessario specificare la dimensione. |
|
|
| 8-32,768*8 |
|
|
Per i campi vettoriali del tipo
SPARSE_FLOAT_VECTOR
, utilizzare il tipo di metricaBM25
solo quando si esegue la ricerca a testo completo. Per ulteriori informazioni, consultare la sezione Ricerca a testo completo.Per i campi vettoriali di tipo
BINARY_VECTOR
, il valore della dimensione (dim
) deve essere un multiplo di 8.
La tabella seguente riassume le caratteristiche dei valori della distanza di similarità di tutti i tipi di metrica supportati e il loro intervallo di valori.
Tipo di metrica | Caratteristiche dei valori della distanza di similarità | Intervallo dei valori della distanza di similarità |
---|---|---|
| Un valore minore indica una maggiore somiglianza. | [0, ∞) |
| Un valore maggiore indica una maggiore somiglianza. | [-1, 1] |
| Un valore maggiore indica una maggiore somiglianza. | [-1, 1] |
| Un valore minore indica una maggiore somiglianza. | [0, 1] |
| Un valore minore indica una maggiore somiglianza. | [0, dim(vettore)] |
| Attribuisce un punteggio alla rilevanza in base alla frequenza dei termini, alla frequenza inversa dei documenti e alla normalizzazione dei documenti. | [0, ∞) |
Distanza euclidea (L2)
In sostanza, la distanza euclidea misura la lunghezza di un segmento che collega due punti.
La formula della distanza euclidea è la seguente.
Formula della distanza euclidea
dove a = (a0, a1,...,an-1) e b = (b0, b1,..., bn-1) sono due punti nello spazio euclideo n-dimensionale.
È la metrica di distanza più utilizzata ed è molto utile quando i dati sono continui.
Milvus calcola il valore prima di applicare la radice quadrata solo quando la distanza euclidea è scelta come metrica di distanza.
Prodotto interno (IP)
La distanza IP tra due incorporazioni è definita come segue.
Formula del prodotto interno
L'IP è più utile se si devono confrontare dati non normalizzati o se si tiene conto della grandezza e dell'angolo.
Se si utilizza l'IP per calcolare le somiglianze tra embeddings, è necessario normalizzare le embeddings. Dopo la normalizzazione, il prodotto interno equivale alla somiglianza del coseno.
Supponiamo che X' sia normalizzato dall'incorporamento X.
Formula del prodotto interno normalizzato
La correlazione tra le due incorporazioni è la seguente.
Correlazione tra le incorporazioni
Somiglianza coseno
La somiglianza coseno utilizza il coseno dell'angolo tra due insiemi di vettori per misurare la loro somiglianza. Si può pensare ai due insiemi di vettori come a segmenti di linea che partono dallo stesso punto, come [0,0,...], ma che puntano in direzioni diverse.
Per calcolare la somiglianza del coseno tra due insiemi di vettori A = (a0, a1,...,an-1) e B = (b0, b1,..., bn-1), utilizzare la seguente formula.
Formula di somiglianza del coseno
La somiglianza del coseno è sempre nell'intervallo [-1, 1]. Ad esempio, due vettori proporzionali hanno una somiglianza di coseno pari a 1, due vettori ortogonali hanno una somiglianza pari a 0 e due vettori opposti hanno una somiglianza pari a -1. Più grande è il coseno, più piccolo è l'angolo tra i due vettori, il che indica che questi due vettori sono più simili tra loro.
Sottraendo la somiglianza del coseno da 1, si ottiene la distanza del coseno tra due vettori.
Distanza JACCARD
Il coefficiente di somiglianza JACCARD misura la somiglianza tra due insiemi di campioni ed è definito come la cardinalità dell'intersezione degli insiemi definiti divisa per la cardinalità dell'unione degli stessi. Può essere applicato solo a insiemi di campioni finiti.
Formula del coefficiente di somiglianza JACCARD
La distanza JACCARD misura la dissimilarità tra gli insiemi di dati e si ottiene sottraendo il coefficiente di similarità JACCARD da 1. Per le variabili binarie, la distanza JACCARD è equivalente al coefficiente di Tanimoto.
Formula della distanza JACCARD
Distanza HAMMING
La distanza HAMMING misura stringhe di dati binari. La distanza tra due stringhe di uguale lunghezza è il numero di posizioni di bit in cui i bit sono diversi.
Ad esempio, supponiamo che esistano due stringhe, 1101 1001 e 1001 1101.
11011001 ⊕ 10011101 = 01000100. Poiché contiene due 1, la distanza di HAMMING, d (11011001, 10011101) = 2.
Similitudine BM25
Il BM25 è un metodo di misurazione della rilevanza del testo ampiamente utilizzato, progettato specificamente per la ricerca di testi completi. Combina i seguenti tre fattori chiave.
Frequenza dei termini (TF): Misura la frequenza con cui un termine appare in un documento. Sebbene frequenze più elevate indichino spesso una maggiore importanza, BM25 utilizza il parametro di saturazione k1 per evitare che termini troppo frequenti dominino il punteggio di rilevanza.
Frequenza inversa del documento (IDF): Riflette l'importanza di un termine nell'intero corpus. I termini che compaiono in un minor numero di documenti ricevono un valore IDF più alto, indicando un maggiore contributo alla rilevanza.
Normalizzazione della lunghezza del documento: I documenti più lunghi tendono a ottenere un punteggio più alto perché contengono più termini. BM25 attenua questa distorsione normalizzando la lunghezza dei documenti, con il parametro b che controlla la forza di questa normalizzazione.
Il punteggio di BM25 è calcolato come segue.
Formula di somiglianza BM25
Descrizione dei parametri.
Q
: Il testo della query fornito dall'utente.D
: Il documento da valutare.TF(qi,D)
: Frequenza dei termini, che rappresenta la frequenza con cui il termineqi
compare nel documentoD
.IDF(qi)
: Frequenza inversa del documento, calcolata come.Formula IDF
dove
N
è il numero totale di documenti del corpus en(qi)
è il numero di documenti contenenti il termine qi.∣D∣
: Lunghezza del documentoD
(numero totale di termini).avgdl
: Lunghezza media di tutti i documenti del corpus.k1
: Controlla l'influenza della frequenza dei termini sul punteggio. Valori più alti aumentano l'importanza della frequenza dei termini. L'intervallo tipico è [1,2, 2,0], mentre Milvus consente un intervallo di [0, 3].b
: Controlla il grado di normalizzazione della lunghezza, che va da 0 a 1. Quando il valore è 0, non viene applicata alcuna normalizzazione; quando il valore è 1, viene applicata una normalizzazione completa.