Cómo puedo convertir la distancia (Euclidiana) a puntaje de similitud


13

Estoy usando k significa agrupamiento para agrupar las voces de los hablantes. Cuando comparo un enunciado con datos de altavoces agrupados obtengo una distorsión promedio (basada en la distancia euclidiana). Esta distancia puede estar en el rango de [0,] . Quiero convertir esta distancia en una puntuación de similitud [0,1] . Por favor, guíame sobre cómo puedo lograr esto.

Respuestas:


15

Si d(p1,p2) representa la distancia euclidiana desde el punto p1 hasta el punto p2 ,

11+d(p1,p2)

es de uso general


Por favor, corríjanme si me equivoco, si tenemos y Y = ( Y 1 , Y 2 , Y 3 , . . . , Y n ) donde cada x y y es de dimensión D . Entonces podemos definir similitudes como, S i m i lX=(x1,x2,x3,...,xt)Y=(Y1,Y2,Y3,...,Yn)xyD .
Similarity=1ti=1t11+minDistance(xi,Y)
Muhammad

Entiendo que el más 1 en el denominador es evitar dividir por cero error. Pero he descubierto que el valor más uno afecta desproporcionadamente a los valores de d (p1, p2) que son mayores que 1 y, en última instancia, reduce significativamente la puntuación de similitud. Hay otra manera de hacer esto? Quizás s = 1-d (p1, p2)
aamir23

9

También puedes usar: 1edist dónde distestá su función de distancia deseada.


¿Puede dar algún libro de referencia / documentación relacionada con esta ecuación en la que la encontró? @Dougal
Justlife

@AnimeshKumarPaul No escribí esta respuesta, solo mejoré su formato. Pero se usa con frecuencia como una versión de, por ejemplo, un "núcleo RBF generalizado"; ver, por ejemplo, aquí . Esa pregunta se refiere a si la salida es un núcleo positivo definido; Sin embargo, si no te importa eso, al menos satisface una noción intuitiva de similitud de que los puntos más distantes son menos similares.
Dougal

@Justlife: busca en Google esta "enciclopedia de distancias" y elige el resultado con el documento pdf.
Excepción no controlada

6

Parece que quiere algo similar a la similitud del coseno, que es en sí mismo un puntaje de similitud en el intervalo de la unidad. De hecho, existe una relación directa entre la distancia euclidiana y la similitud del coseno.

Observa que

||xx||2=(xx)T(xx)=||x||+||x||2||xx||.

Mientras que la similitud del coseno es

f(x,x)=xTx||x||||x||=cos(θ)
where θ is the angle between x and x.

Cuando tenemos | El | x - x | El | 2 = 2 ( 1 - f ( x , x ' ) ) y f ( x , x ' ) = x T x ' ,||x||=||x||=1,

||xx||2=2(1f(x,x))
f(x,x)=xTx,

entonces

1||xx||22=f(x,x)=cos(θ)

Desde una perspectiva computacional, puede ser más eficiente simplemente calcular el coseno, en lugar de la distancia euclidiana y luego realizar la transformación.


x,x2xx2 (in which case I think the relation is incorrect, as it doesn't account for x or x), or something based on x,x? The cosine similarity I'm familiar with is simply xTx/(xx), though Wikipedia says the "angular similarity" 12πxTxxx is also sometimes called that.
Dougal

@Dougal Blah. Correct. I've revised to make it intelligible.
Sycorax says Reinstate Monica

Cool. Note though that since the OP said distances are unbounded, it seems like we don't have x=1. Also, your expansion of xx2 is mistaken; it should be x2+x22xTx, though the rest of your post handles it correctly. :)
Dougal

3

How about a Gaussian kernel ?

K(x,x)=exp(xx22σ2)

The distance xx is used in the exponent. The kernel value is in the range [0,1]. There is one tuning parameter σ. Basically if σ is high, K(x,x) will be close to 1 for any x,x. If σ is low, a slight distance from x to x will lead to K(x,x) being close to 0.


1
Note that this answer and @Unhandled exception's are very related: this is exp(γd(x,x)2), where that one [introducing a scaling factor] is exp(γd(x,x)), a Gaussian kernel with d as the metric. This will still be a valid kernel, though the OP doesn't necessarily care about that.
Dougal

0

If you are using a distance metric that is naturally between 0 and 1, like Hellinger distance. Then you can use 1 - distance to obtain similarity.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.