23 votos

Puntuación de la distancia euclidiana y similitud

Estoy trabajando con el libro Inteligencia colectiva (de Toby Segaran) y me he encontrado con la puntuación de la distancia euclidiana. En el libro el autor muestra cómo calcular la similitud entre dos matrices de recomendación (es decir. $\textrm{person} \times \textrm{movie} \mapsto \textrm{score})$ .

Calcula la distancia euclidiana de dos personas $p_1$ y $p_2$ por $$d(p_1, p_2) = \sqrt{\sum_{i~\in~\textrm{item}} (s_{p_1} - s_{p_2})^2} $$

Esto tiene todo el sentido para mí. Lo que no entiendo muy bien es por qué calcula al final lo siguiente para obtener una "similitud basada en la distancia":

$$ \frac{1}{1 + d(p_1, p_2)} $$

Así que, de alguna manera entiendo que esto debe ser la conversión de una distancia a una similitud (¿verdad?). Pero, ¿por qué la fórmula tiene este aspecto? ¿Alguien me lo puede explicar?

20voto

Zizzencs Puntos 1358

La inversa consiste en pasar de la distancia a la similitud.

El 1 en el denominador es para que el valor máximo sea 1 (si la distancia es 0).

La raíz cuadrada: no estoy seguro. Si la distancia suele ser mayor que 1, la raíz hará que las grandes distancias sean menos importantes; si la distancia es menor que 1, hará que las grandes distancias sean más importantes.

6voto

butterfly Puntos 11

Para medir la distancia y la similitud (en el sentido semántico) lo primero que hay que comprobar es si nos movemos en un espacio euclidiano o no. Una forma empírica de comprobarlo es estimar la distancia de un par de valores cuyo significado conozcas.

4voto

user216805 Puntos 1

Como has mencionado que conoces el cálculo de la distancia de Euclidencia, te explico la segunda fórmula. La fórmula euclidiana calcula la distancia, que será menor para las personas o los objetos que sean más parecidos. Como si son iguales entonces la distancia es 0 y totalmente diferente entonces mayor que 0.

Sin embargo, necesitamos una función que dé un valor más alto. Esto se puede hacer mediante la adición de 1 a la función (por lo que no se obtiene un error de división por cero y el valor máximo sigue siendo 1) e invirtiéndola. Como si la distancia 0 entonces la puntuación de similitud 1/1=1

Supongamos que la distancia euclidiana entre el ítem 1 y el ítem 2 es 4 y entre el ítem 1 y el ítem 3 es 0 (significa que son 100% similares). Estas son las distancias de los elementos en un espacio virtual. Cuanto menor sea el valor de la distancia, mayor será la probabilidad de que sean similares. Ahora queremos un valor numérico tal que dé un número más alto si son muy similares. Así que podemos invertir el valor de la distancia. Pero si la distancia es 0, añadimos 1 en el denominador. Así, la puntuación de similitud de los elementos 1 y 2 es 1/(1+4) = 0,2, y la de los elementos 1 y 3 es 1/(1+0) = 1.

3voto

Bernd Puntos 25

Euclidean es básicamente calcular la disimilitud de dos vectores, ya que devolverá 0 si dos vectores son similares. Mientras que la similitud coseno da 1 a cambio de la similitud. En cierto modo, el escritor de ese libro quiere una medida basada en la similitud, pero quiere usar Euclídeo. Así que, para obtener una distancia basada en la similitud, le dio la vuelta a la fórmula y la sumó con 1, de modo que da 1 cuando dos vectores son similares. Ve a comprobarlo, pruébalo con 2 vectores que contengan los mismos valores.

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