如何将欧几里德距离转换为范围0和1,如同余弦相似度?

时间:2017-04-28 20:24:06

标签: machine-learning data-mining text-mining bigdata

想要将欧几里德距离映射到范围[0,1],有点像向量的余弦相似度。

例如

input  output
  0      1.0
  1      0.9  approximate
  2      0.8 to 0.9 somewhere
 inf     0.0

我尝试了公式1/(1+d),但这太快了。

1 个答案:

答案 0 :(得分:2)

似乎你希望分数的分母增长得更慢(分母是底部,你到目前为止(d + 1))。有各种方法来处理这个问题。例如,尝试 d 的较低功率,例如

1 / (1 + d**(0.25))

......或分母中的指数衰减,例如

1 / (1.1 ** d)

...或使用trig函数来调整映射,例如

1 - tanh(d)

其中一个家庭的某些东西能为你服务吗?