milvus-logo
LFAI
Home
  • Concepts

Types de métriques

Les métriques de similarité sont utilisées pour mesurer les similitudes entre les vecteurs. Le choix d'une métrique de distance appropriée permet d'améliorer considérablement les performances de classification et de regroupement.

Actuellement, Milvus prend en charge les types de métriques de similarité suivants : Distance euclidienne (L2), Produit intérieur (IP), Similitude cosinus (COSINE), JACCARD, HAMMING, et BM25 (spécialement conçu pour la recherche de texte intégral sur des vecteurs épars).

Le tableau ci-dessous résume la correspondance entre les différents types de champs et les types de métriques correspondants.

Type de champ

Plage de dimensions

Types de métriques pris en charge

Type métrique par défaut

FLOAT_VECTOR

2-32,768

COSINE, L2, IP

COSINE

FLOAT16_VECTOR

2-32,768

COSINE, L2, IP

COSINE

BFLOAT16_VECTOR

2-32,768

COSINE, L2, IP

COSINE

SPARSE_FLOAT_VECTOR

Il n'est pas nécessaire de préciser la dimension.

IP, BM25 (utilisé uniquement pour la recherche en texte intégral)

IP

BINARY_VECTOR

8-32,768*8

HAMMING, JACCARD

HAMMING

  • Pour les champs de vecteurs de type SPARSE_FLOAT_VECTOR, n'utilisez le type métrique BM25 que pour la recherche en texte intégral. Pour plus d'informations, reportez-vous à la section Recherche en texte intégral.

  • Pour les champs vectoriels de type BINARY_VECTOR, la valeur de la dimension (dim) doit être un multiple de 8.

Le tableau ci-dessous résume les caractéristiques des valeurs de distance de similarité de tous les types de métriques pris en charge et leur plage de valeurs.

Type de métrique

Caractéristiques des valeurs de distance de similarité

Plage de valeurs de la distance de similarité

L2

Une valeur plus petite indique une plus grande similarité.

[0, ∞)

IP

Une valeur supérieure indique une plus grande similarité.

[-1, 1]

COSINE

Une valeur plus élevée indique une plus grande similitude.

[-1, 1]

JACCARD

Une valeur plus petite indique une plus grande similarité.

[0, 1]

HAMMING

Une valeur plus petite indique une plus grande similarité.

[0, dim(vector)]

BM25

Score de pertinence basé sur la fréquence des termes, la fréquence inversée des documents et la normalisation des documents.

[0, ∞)

Distance euclidienne (L2)

La distance euclidienne mesure essentiellement la longueur d'un segment reliant deux points.

La formule de la distance euclidienne est la suivante.

Euclidean distance formula Formule de la distance euclidienne

a = (a0, a1,...,an-1) et b = (b0, b1,..., bn-1) sont deux points dans un espace euclidien à n dimensions.

Il s'agit de la mesure de distance la plus couramment utilisée et elle est très utile lorsque les données sont continues.

Milvus calcule uniquement la valeur avant d'appliquer la racine carrée lorsque la distance euclidienne est choisie comme mesure de distance.

Produit intérieur (PI)

La distance IP entre deux embeddings est définie comme suit.

Inner product formula Formule du produit intérieur

Le produit intérieur est plus utile si vous devez comparer des données non normalisées ou si vous vous intéressez à la magnitude et à l'angle.

Si vous utilisez le produit intérieur pour calculer les similarités entre les embeddings, vous devez normaliser vos embeddings. Après la normalisation, le produit intérieur est égal à la similarité cosinusoïdale.

Supposons que X' soit normalisé à partir de l'intégration X.

Normalized inner product formula Formule du produit intérieur normalisé

La corrélation entre les deux embeddings est la suivante.

Correlation between embeddings Corrélation entre les embeddings

Similitude en cosinus

La similarité en cosinus utilise le cosinus de l'angle entre deux ensembles de vecteurs pour mesurer leur degré de similarité. Vous pouvez considérer les deux ensembles de vecteurs comme des segments de ligne partant du même point, tel que [0,0,...], mais pointant dans des directions différentes.

Pour calculer la similitude en cosinus entre deux ensembles de vecteurs A = (a0, a1,...,an-1) et B = (b0, b1,..., bn-1), utilisez la formule suivante.

Cosine similarity formula Formule de similarité en cosinus

La similitude du cosinus est toujours comprise dans l'intervalle [-1, 1]. Par exemple, deux vecteurs proportionnels ont un cosinus de 1, deux vecteurs orthogonaux ont un cosinus de 0 et deux vecteurs opposés ont un cosinus de -1. Plus le cosinus est grand, plus l'angle entre les deux vecteurs est petit, ce qui indique que ces deux vecteurs sont plus semblables l'un à l'autre.

En soustrayant leur cosinus de 1, on obtient la distance en cosinus entre deux vecteurs.

Distance JACCARD

Le coefficient de similarité JACCARD mesure la similarité entre deux ensembles d'échantillons et est défini comme la cardinalité de l'intersection des ensembles définis divisée par la cardinalité de leur union. Il ne peut être appliqué qu'à des ensembles d'échantillons finis.

JACCARD similarity coefficient formula Formule du coefficient de similarité JACCARD

La distance de JACCARD mesure la dissimilarité entre les ensembles de données et est obtenue en soustrayant le coefficient de similarité de JACCARD de 1. Pour les variables binaires, la distance de JACCARD est équivalente au coefficient de Tanimoto.

JACCARD distance formula Formule de la distance de JACCARD

Distance de HAMMING

La distance de HAMMING mesure les chaînes de données binaires. La distance entre deux chaînes de même longueur est le nombre de positions de bits où les bits sont différents.

Par exemple, supposons qu'il y ait deux chaînes, 1101 1001 et 1001 1101.

11011001 ⊕ 10011101 = 01000100. Comme ces chaînes contiennent deux 1, la distance de HAMMING, d (11011001, 10011101) = 2.

Similitude BM25

BM25 est une méthode de mesure de la pertinence des textes largement utilisée, spécialement conçue pour la recherche de textes intégraux. Elle combine les trois facteurs clés suivants

  • La fréquence des termes (TF) : Mesure la fréquence d'apparition d'un terme dans un document. Bien que des fréquences plus élevées indiquent souvent une plus grande importance, BM25 utilise le paramètre de saturation k1 pour éviter que des termes trop fréquents ne dominent le score de pertinence.

  • Fréquence inverse des documents (IDF) : Reflète l'importance d'un terme dans l'ensemble du corpus. Les termes apparaissant dans moins de documents reçoivent une valeur IDF plus élevée, ce qui indique une plus grande contribution à la pertinence.

  • Normalisation de la longueur des documents : Les documents plus longs ont tendance à obtenir un score plus élevé parce qu'ils contiennent plus de termes. BM25 atténue ce biais en normalisant la longueur des documents, le paramètre b contrôlant l'intensité de cette normalisation.

La notation du BM25 est calculée comme suit.

BM25 similarity formula Formule de similarité BM25

Description des paramètres.

  • Q: Le texte de la requête fourni par l'utilisateur.

  • D: Le document à évaluer.

  • TF(qi,D): La fréquence des termes, qui représente la fréquence d'apparition du terme qi dans le document D.

  • IDF(qi): Fréquence inverse du document, calculée comme suit.

    IDF formula Formule IDF

    N est le nombre total de documents dans le corpus, et n(qi) est le nombre de documents contenant le terme qi.

  • ∣D∣: Longueur du document D (nombre total de termes).

  • avgdl: Longueur moyenne de tous les documents du corpus.

  • k1: Contrôle l'influence de la fréquence des termes sur le score. Des valeurs plus élevées augmentent l'importance de la fréquence des termes. La plage typique est [1,2, 2,0], tandis que Milvus permet une plage de [0, 3].

  • b: Contrôle le degré de normalisation de la longueur, de 0 à 1. Lorsque la valeur est 0, aucune normalisation n'est appliquée ; lorsque la valeur est 1, une normalisation complète est appliquée.

Traduit parDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Cette page a-t - elle été utile ?