希望将欧几里得距离映射到[0, 1]的范围内,有点像向量的余弦相似度。
例如
input output 0 1.0 1 0.9 大约 2 0.8 到 0.9 之间 inf 0.0
我尝试了公式 1/(1+d)
,但下降到1.0的速度太快了。
回答:
看起来你希望分数的分母增长得更慢(目前你的分母是(d+1))。处理这个问题的方法有很多。例如,尝试对 d 使用较低的幂次,如
1 / (1 + d**(0.25))
… 或者在分母中使用指数衰减,如
1 / (1.1 ** d)
… 或者使用三角函数来调整你的映射,如
1 - tanh(d)
这些方法中的一种是否适合你呢?