¿La similitud del coseno es idéntica a la distancia euclidiana normalizada l2?

27

Idéntico significado, que producirá resultados idénticos para una clasificación entre un vector de similitud u y un conjunto de vectores V .

Tengo un modelo de espacio vectorial que tiene la medida de distancia (distancia euclidiana, similitud de coseno) y la técnica de normalización (ninguno, l1, l2) como parámetros. Según tengo entendido, los resultados de la configuración [coseno, ninguno] deberían ser idénticos o al menos realmente muy similares a [euclidiana, l2], pero no lo son.

En realidad, hay una buena posibilidad de que el sistema siga teniendo errores, ¿o tengo algún problema crítico con los vectores?

editar: Olvidé mencionar que los vectores se basan en el recuento de palabras de documentos en un corpus. Dado un documento de consulta (que también transformo en un vector de conteo de palabras), quiero encontrar el documento de mi corpus que es más similar a él.

Simplemente calcular su distancia euclidiana es una medida directa, pero en el tipo de tarea en la que trabajo, la similitud del coseno a menudo se prefiere como un indicador de similitud, porque los vectores que solo difieren en longitud todavía se consideran iguales. El documento con la menor similitud distancia / coseno se considera el más similar.

Arne
fuente
Todo depende de lo que haga su "modelo de espacio vectorial" con estas distancias. ¿Podría ser más específico sobre lo que hace el modelo?
whuber
Lo siento, a veces es difícil salir de mi propia cabeza. Agregué una especificación.
Arne
Aún no describe ningún modelo. De hecho, la única pista que le queda sobre el "tipo de tarea en la que trabaja" es la etiqueta nlp , pero es tan amplia que no ayuda mucho. Lo que espero que pueda proporcionar, para que las personas puedan comprender la pregunta y proporcionar buenas respuestas, es información suficiente para poder calcular exactamente cómo está utilizando su medida de distancia y cómo determina cuáles podrían ser los "resultados".
whuber
stats.stackexchange.com/a/36158/3277 . Cualquier similitud angular de tipo aka sscp es convertible a su distancia euclidiana correspondiente.
ttnphns

Respuestas:

31

Para vectores normalizados , tenemos que el cuadrado Euclidiano la distancia es proporcional a la distancia del coseno , Es decir, incluso si normalizara sus datos y su algoritmo fuera invariable al escalado de las distancias, aún esperaría diferencias debido a la cuadratura.2x,y

||x||2=||y||2=1,
||xy||22=(xy)(xy)=xx2xy+yy=22xy=22cos(x,y)
Lucas
fuente
¿Tendría esto influencia en el ranking? Es decir, si clasifico varios vectores 'v_i en V' por su distancia cosenoidal a un vector 'u', obtengo un orden específico para ellos. ¿Clasificar esos mismos vectores con l_2 distancia euclidiana normalizada produciría el mismo orden?
Arne
2
iirc, dado que la cuadratura es una transformación monótica (para números positivos), no puede cambiar el orden de una secuencia ordenada por longitud.
Arne
55
Tienes razón, si todo lo que haces es clasificar los vectores según su distancia a , usar la distancia cosenoidal debería dar el mismo resultado que la distancia euclidiana (para vectores normalizados). u
Lucas
Gracias, ¿tiene una fuente citable para esta conexión?
Arne
1
Bueno, supongo que 'Linear Alebra I' tiene que ser suficiente entonces;) ¡gracias de nuevo por la información!
Arne
5

La similitud del coseno estándar se define de la siguiente manera en un espacio euclidiano, suponiendo que los vectores de columna y : Esto se reduce al producto interno estándar si sus vectores están normalizados a la norma de la unidad (en l2). En la minería de texto, este tipo de normalización no es desconocido, pero no lo consideraría el estándar.uv

cos(u,v)=u,vuv=uTvuv[1,1].
Marc Claesen
fuente