7 votos

¿Cómo obtener una métrica de distancia válida?

Tengo un problema para idear una métrica de distancia para obtener la medida de similitud de los vectores. Alguien me sugirió utilizar el producto punto, que me parece igual que la métrica de similitud del coseno; sin embargo, en Wikipedia (Similitud del coseno) En el artículo de la revista "La similitud del coseno" se menciona que no es una métrica de distancia adecuada, ya que no tiene la propiedad de la desigualdad del triángulo y viola el axioma de la coincidencia (la métrica de distancia adecuada debe satisfacer las cuatro condiciones (métrica de la distancia) ).

Mis preguntas son:

  1. ¿Cuál es la métrica de distancia adecuada? Por favor, nombra algunos ejemplos.

  2. ¿El coeficiente de Dice y el índice de Jaccard son métricas de distancia adecuadas?

  3. ¿Hay alguna desventaja en el uso del producto punto? (Una de las razones de la popularidad del producto punto es que es muy eficiente de evaluar).

Muchas gracias. A.

13voto

Amadiere Puntos 5606

En primer lugar, en muchas aplicaciones no se necesita una distancia métrica pero una disimilitud estará bien . Por lo tanto, asegúrese de que la desigualdad del triángulo es necesaria.

En matemáticas, la desigualdad de triángulos forma parte de la definición de una métrica, y las distancias en matemáticas son sinónimo de métrica. Pero en la literatura sobre bases de datos, a menudo las distancias son no que se requiere que sea métrica.

En segundo lugar, no podemos recomendar una métrica para sus datos, si no conocemos sus datos.

En tercer lugar, el coseno está estrechamente relacionado con la distancia euclidiana. Suponiendo que todos sus datos están normalizados a la unidad de longitud ( $||x||=1=||y||$ ), entonces \begin{align*} \text{Euclid}^2(x,y)&=\sum_i (x_i-y_i)^2\\ &=\sum_ix^2+\sum_iy^2-2\sum_i x_iy_i\\ &=1+1-2\cdot x\cdot y\\ &=2(1-x\cdot y) \end{align*} Por lo tanto, si sus datos están normalizados a la longitud de la unidad, $$ \sqrt{1-x\cdot y} $$ es una métrica. Porque como se acaba de mostrar, $\sqrt{1-x\cdot y}=\sqrt{\frac{1}{2}}\text{Euclid}(x,y)$ .

Si bien esto puede entusiasmarte demasiado por la existencia de una métrica basada en el producto punto, recuerda que esto sólo es válido si todos tus datos viven en el círculo unitario y esto es sólo la métrica euclidiana. Si este es el comportamiento que desea, normalice sus datos y utilice la distancia euclidiana... La distancia coseno es exactamente esta normalización. Incluye términos de normalización para la longitud de los vectores para asegurar que son de longitud unitaria...

Si sus datos son escaso y puedes permitirte mantener todas las longitudes de los vectores en memoria, entonces esta puede ser una forma más rápida de calcular la distancia euclidiana. Si tiene una escasez de $s$ la dispersión esperada del producto punto es $s^2$ por lo que se puede obtener un beneficio sustancial de rendimiento de $1/s$ si tiene una buena implementación.

Actualización: me señalaron que el cálculo euclidiano de esta manera puede sufrir una inestabilidad numérica llamada "cancelación catastrófica".

5voto

user777 Puntos 10934

¿Cuáles son las métricas de distancia adecuadas? Por favor, nombra algunos ejemplos.

Distancia euclidiana, distancia de Levenshtein, distancia de Manhattan. Tal y como escribes, cualquier métrica de distancia satisface la definición de distancia, así que hay un buen número de ellas. En uno de los artículos de Gunnar Carlsson sobre el análisis de datos topológicos, utiliza (lo que creo que son) métricas de distancia originales para su uso en el análisis del tema concreto del artículo. Las únicas limitaciones son las restricciones de la definición de una distancia.

¿El coeficiente de Dice y el índice de Jaccard son métricas de distancia adecuadas?

El coeficiente de Dice viola la desigualdad del triángulo. De Wikipedia :

El contraejemplo más sencillo de esto viene dado por los tres conjuntos {a}, {b}, y {a,b}, siendo la distancia entre los dos primeros 1, y la diferencia entre el tercero y cada uno de los otros un tercio. Para satisfacer la desigualdad del triángulo, la suma de dos de estos tres lados debe ser mayor o igual que el lado restante. Sin embargo, la distancia entre {a} y {a,b} más la distancia entre {b} y {a,b} es igual a 2/3 y, por tanto, es menor que la distancia entre {a} y {b}, que es 1.

El índice de Jaccard no es una métrica de distancia. Pero restando el índice de Jaccard a 1 se obtiene una métrica de distancia .

¿Hay alguna desventaja en el uso del producto punto? (Una de las razones de la popularidad del producto punto es que es muy eficiente de evaluar).

Es imposible responder a esta pregunta de forma exhaustiva sin un contexto adicional. Si tu aplicación requiere una función de distancia adecuada, entonces quizás te encuentres con algún problema.

1voto

jpmuc Puntos 4817

La elección de la métrica depende de su problema. Véase esta respuesta para una discusión sobre la similitud del coseno y cómo construir una función de distancia basada en ella. Además, hay una referencia en un artículo que discute el tema de las funciones de distancia en un entorno de alta dimensión.

El problema del producto cruzado es que hay que utilizarlo con cuidado. Por ejemplo, suele ser una buena idea blanquear los datos (centrar y escalar la varianza a 1) para que las diferentes escalas en las características no sesguen los resultados.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X