如何将距离(欧几里得)转换为相似度分数


13

我正在使用表示聚类以聚类说话者的声音。当我将话语与聚集的扬声器数据进行比较时,我得到(基于欧几里得距离)平均失真。该距离可以在范围内。我想将此距离转换为相似度得分。请指导我如何实现这一目标。k[ 0 1 ][0,][0,1]

Answers:


16

如果d(p1,p2)表示从点p1到点p_2的欧式距离p2

11+d(p1,p2)

是常用的。


如果我错了,请纠正我,如果我们有并且其中每个和 都是维。然后,我们可以定义相似度,例如, 。X=(x1,x2,x3,...,xt)X ý d š 中号ř Ť ÿ = 1Y=(Y1,Y2,Y3,...,Yn)xyD
Similarity=1ti=1t11+minDistance(xi,Y)
穆罕默德

我知道分母中的加号1可以避免除以零误差。但是我发现加一值不成比例地影响大于1的d(p1,p2)值,并最终显着降低相似性得分。还有另一种方法吗?也许s = 1-d(p1,p2)
aamir23 '18

9

您还可以使用:其中您想要的距离函数。1edistdist


能否请您提供与找到该方程式有关的任何参考书/文档?@Dougal
Justlife

@AnimeshKumarPaul我没有写这个答案,只是改善了格式。但是它经常被用作“通用RBF内核”的版本。参见例如这里。这个问题关系到输出是否为正定核?但是,如果您不在乎,则至少可以满足一个直观的相似性概念,即较远的点不太相似。
Dougal

@Justlife:对于这个“距离百科全书”,Google并用pdf文档选择结果。
未处理的例外情况

7

听起来您需要类似于余弦相似度的东西,它本身就是单位间隔中的相似度分数。实际上,欧氏距离与余弦相似度之间存在直接关系!

观察

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

余弦相似度为 其中是与之间的角度。θXX'

f(x,x)=xTx||x||||x||=cos(θ)
θxx

当我们有 和 | | x x ' | | 2 = 2 1 f x x 'f x x '= x T x '||x||=||x||=1,

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

所以

1||xx||22=f(x,x)=cos(θ)
在这种特殊情况下,。

从计算角度来看,仅计算余弦而不是欧几里得距离,然后执行转换可能会更有效。


3

怎么样高斯核

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

距离用于指数。内核值在范围内。有一个调整参数。基本上,如果高,则任何都将接近1 。如果低,则从到的微小距离将导致接近0。[ 0 1 ] σ σ ķ X X 'X X ' σ X X ' ķ X X 'xx[0,1]σσK(x,x)x,xσxxK(x,x)


1
请注意,此答案与@Unhandled异常非常相关:这是,其中[引入比例因子]是,一个以为度量标准的高斯核。这仍然是一个有效的内核,尽管OP不必在乎。 EXP - γ d X X 'exp(γd(x,x)2)exp(γd(x,x))d
Dougal 2015年

0

如果您使用的距离度量标准自然在0到1之间,例如Hellinger距离。然后,您可以使用1-距离来​​获得相似性。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.