Tipos de métricas
Las métricas de similitud se utilizan para medir las similitudes entre vectores. La elección de una métrica de distancia adecuada ayuda a mejorar significativamente la clasificación y el rendimiento de la agrupación.
Actualmente, Milvus soporta estos tipos de métricas de similitud: Distancia euclidiana (L2
), Producto interior (IP
), Similitud coseno (COSINE
), JACCARD
, HAMMING
, y BM25
(diseñada específicamente para la búsqueda de texto completo en vectores dispersos).
La siguiente tabla resume la correspondencia entre los distintos tipos de campo y sus correspondientes tipos de métrica.
Tipo de campo | Rango de dimensión | Tipos métricos admitidos | Tipo métrico por defecto |
---|---|---|---|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| No es necesario especificar la dimensión. |
|
|
| 8-32,768*8 |
|
|
Para los campos vectoriales del tipo
SPARSE_FLOAT_VECTOR
, utilice el tipo métricoBM25
sólo al realizar la búsqueda de texto completo. Para más información, consulte Búsqueda de texto completo.Para los campos vectoriales del tipo
BINARY_VECTOR
, el valor de dimensión (dim
) debe ser múltiplo de 8.
La siguiente tabla resume las características de los valores de distancia de similitud de todos los tipos métricos admitidos y su rango de valores.
Tipo de métrica | Características de los valores de distancia de similitud | Rango de valores de distancia de similitud |
---|---|---|
| Un valor menor indica una mayor similitud. | [0, ∞) |
| Un valor mayor indica una mayor similitud. | [-1, 1] |
| Un valor mayor indica una mayor similitud. | [-1, 1] |
| Un valor menor indica una mayor similitud. | [0, 1] |
| Un valor menor indica una mayor similitud. | [0, dim(vector)] |
| Puntúa la relevancia basándose en la frecuencia de términos, la frecuencia de documentos invertida y la normalización de documentos. | [0, ∞) |
Distancia euclídea (L2)
Esencialmente, la distancia euclídea mide la longitud de un segmento que une 2 puntos.
La fórmula de la distancia euclídea es la siguiente.
Fórmula de la distancia euclídea
donde a = (a0, a1,...,an-1) y b = (b0, b1,..., bn-1) son dos puntos en un espacio euclídeo n-dimensional.
Es la métrica de distancia más utilizada y resulta muy útil cuando los datos son continuos.
Milvus sólo calcula el valor antes de aplicar la raíz cuadrada cuando se elige la distancia euclídea como métrica de distancia.
Producto interior (PI)
La distancia IP entre dos incrustaciones se define como sigue.
Fórmula del producto interior
IP es más útil si necesita comparar datos no normalizados o cuando se preocupa por la magnitud y el ángulo.
Si utiliza IP para calcular similitudes entre incrustaciones, debe normalizar sus incrustaciones. Después de la normalización, el producto interno es igual a la similitud coseno.
Supongamos que X' se normaliza a partir de la incrustación X.
Fórmula del producto interno normalizado
La correlación entre las dos incrustaciones es la siguiente.
Correlación entre incrustaciones
Similitud coseno
La similitud coseno utiliza el coseno del ángulo entre dos conjuntos de vectores para medir su similitud. Puede pensar en los dos conjuntos de vectores como segmentos de línea que parten del mismo punto, como [0,0,...], pero que apuntan en direcciones diferentes.
Para calcular la similitud coseno entre dos conjuntos de vectores A = (a0, a1,...,an-1) y B = (b0, b1,..., bn-1), utiliza la siguiente fórmula.
Fórmula de similitud coseno
La semejanza coseno está siempre en el intervalo [-1, 1]. Por ejemplo, dos vectores proporcionales tienen una similitud coseno de 1, dos vectores ortogonales tienen una similitud de 0, y dos vectores opuestos tienen una similitud de -1. Cuanto mayor sea el coseno, menor será el ángulo entre los dos vectores, lo que indica que estos dos vectores son más similares entre sí.
Restando su similitud coseno de 1, se obtiene la distancia coseno entre dos vectores.
Distancia JACCARD
El coeficiente de similitud JACCARD mide la similitud entre dos conjuntos de muestras y se define como la cardinalidad de la intersección de los conjuntos definidos dividida por la cardinalidad de la unión de los mismos. Sólo puede aplicarse a conjuntos de muestras finitos.
Fórmula del coeficiente de similitud JACCARD
La distancia JACCARD mide la disimilitud entre conjuntos de datos y se obtiene restando a 1 el coeficiente de similitud JACCARD. Para variables binarias, la distancia JACCARD es equivalente al coeficiente de Tanimoto.
Fórmula de la distancia JACCARD
Distancia HAMMING
La distancia HAMMING mide cadenas de datos binarias. La distancia entre dos cadenas de igual longitud es el número de posiciones de bits en las que los bits son diferentes.
Por ejemplo, supongamos que hay dos cadenas, 1101 1001 y 1001 1101.
11011001 ⊕ 10011101 = 01000100. Dado que contiene dos 1s, la distancia HAMMING, d (11011001, 10011101) = 2.
Similitud BM25
El BM25 es un método de medición de la relevancia de los textos muy utilizado, diseñado específicamente para la búsqueda de textos completos. Combina los tres factores clave siguientes
Frecuencia de términos (TF): Mide la frecuencia con la que aparece un término en un documento. Aunque las frecuencias más altas suelen indicar una mayor importancia, BM25 utiliza el parámetro de saturación k1 para evitar que los términos demasiado frecuentes dominen la puntuación de relevancia.
Frecuencia inversa del documento (FID): Refleja la importancia de un término en todo el corpus. Los términos que aparecen en menos documentos reciben un valor IDF más alto, lo que indica una mayor contribución a la relevancia.
Normalización de la longitud del documento: Los documentos más largos tienden a puntuar más alto debido a que contienen más términos. BM25 mitiga este sesgo normalizando la longitud de los documentos, y el parámetro b controla la intensidad de esta normalización.
La puntuación BM25 se calcula del siguiente modo.
Fórmula de similitud BM25
Descripción de los parámetros.
Q
: El texto de consulta proporcionado por el usuario.D
: El documento evaluado.TF(qi,D)
: Frecuencia del término, que representa la frecuencia con la que el términoqi
aparece en el documentoD
.IDF(qi)
: Frecuencia inversa del documento, calculada como.Fórmula IDF
donde
N
es el número total de documentos del corpus, yn(qi)
es el número de documentos que contienen el término qi.∣D∣
: Longitud del documentoD
(número total de términos).avgdl
: Longitud media de todos los documentos del corpus.k1
: Controla la influencia de la frecuencia de términos en la puntuación. Los valores más altos aumentan la importancia de la frecuencia de términos. El rango típico es [1,2, 2,0], mientras que Milvus permite un rango de [0, 3].b
: Controla el grado de normalización de la longitud, entre 0 y 1. Cuando el valor es 0, no hay normalización. Cuando el valor es 0, no se aplica ninguna normalización; cuando el valor es 1, se aplica la normalización completa.