37 votos

¿Es la similitud coseno idéntica a la distancia euclídea normalizada l2?

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

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

En realidad, es muy posible que el sistema siga teniendo fallos, ¿o tengo algún error crítico sobre los vectores?

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

Calcular su distancia euclídea es una medida sencilla, pero en el tipo de tarea en el que trabajo, a menudo se prefiere la similitud coseno como indicador de similitud, porque los vectores que sólo difieren en longitud siguen considerándose iguales. El documento con la menor distancia/semejanza coseno se considera el más similar.

0 votos

Todo depende de lo que su "modelo de espacio vectorial" haga con estas distancias. Podrías ser más específico sobre lo que hace el modelo?

0 votos

Lo siento, a veces es difícil salir de mi propia cabeza. He añadido una especificación.

0 votos

Sigues sin describir ningún modelo. De hecho, la única pista que te queda sobre el "tipo de tarea (en la que) trabajas" es el pnl pero eso es tan amplio que no ayuda mucho. Lo que espero que puedas aportar, para que la gente pueda entender la pregunta y dar buenas respuestas, es información suficiente para poder averiguar exactamente cómo estás utilizando tu medida de distancia y cómo determina cuáles podrían ser los "resultados".

58voto

Ludwi Puntos 188

Para $\ell^2$ -vectores normalizados $\mathbf{x}, \mathbf{y}$ , $$||\mathbf{x}||_2 = ||\mathbf{y}||_2 = 1,$$ tenemos que el al cuadrado La distancia euclidiana es proporcional a la distancia coseno , \begin{align} ||\mathbf{x} - \mathbf{y}||_2^2 &= (\mathbf{x} - \mathbf{y})^\top (\mathbf{x} - \mathbf{y}) \\ &= \mathbf{x}^\top \mathbf{x} - 2 \mathbf{x}^\top \mathbf{y} + \mathbf{y}^\top \mathbf{y} \\ &= 2 - 2\mathbf{x}^\top \mathbf{y} \\ &= 2 - 2 \cos\angle(\mathbf{x}, \mathbf{y}) \end{align} Es decir, aunque normalizara los datos y su algoritmo fuera invariable a la escala de las distancias, seguiría esperando diferencias debido a la cuadratura.

0 votos

¿Influirá esto en la clasificación? Es decir, si ordeno una serie de vectores "v_i en V" por su distancia coseno a un vector "u", obtengo un orden específico para ellos. ¿La clasificación de esos mismos vectores con la distancia euclídea normalizada l_2 produciría el mismo orden?

3 votos

Según creo, como la cuadratura es una transformación monótona (para números positivos), no puede cambiar el orden de una secuencia ordenada por longitud.

11 votos

Tienes razón, si todo lo que haces es ordenar los vectores por su distancia a $\mathbf{u}$ utilizando la distancia coseno debería dar el mismo resultado que la distancia euclídea (para vectores normalizados).

5voto

Marc Claesen Puntos 9818

La similitud coseno estándar se define del siguiente modo en un espacio euclidiano, suponiendo vectores columna $\mathbf{u}$ y $\mathbf{v}$ : $$ \cos(\mathbf{u}, \mathbf{v}) = \frac{\langle \mathbf{u}, \mathbf{v} \rangle}{\|\mathbf{u}\| \cdot \|\mathbf{v}\|} = \frac{\mathbf{u}^T\mathbf{v}}{\|\mathbf{u}\| \cdot \|\mathbf{v}\|} \in [-1, 1]. $$ Esto se reduce al producto interior estándar si los vectores están normalizados a norma unitaria (en l2). En la minería de texto este tipo de normalización no es inaudito, pero yo no lo consideraría el estándar.

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