0

假设我想为向量 a = [0 0 2 0 0 0 0 0 0]找到一个相似的向量

我有两个候选人:

  • b1 = [0 0 0 2 0 0 0 0 0],其中“特征”只有 1 个位置
  • b2 = [0 0 0 0 0 0 0 2 0],其中“特征”距离 5 个位置

(a, b1)的欧几里得距离与(a, b2 )的相同。我想要的是让b1获得更高的“相似性”分数。有没有一种众所周知的方法(请说出它的名字)来处理这些问题?某种模糊的欧几里得距离?

我能想出的一种可能的解决方案是计算 (a, b1) 的欧几里得距离,整个 b1 向左移动 1 个位置,然后向左移动 2 个位置,向左移动 3 个位置等,然后对移动执行相同的操作正确的。每次我这样做时,我都会通过随着移动距离的增加而减小的权重来调整计算出的欧几里得位置。然后对 b2 重复相同的过程。然后比较结果以找到更好的匹配。

4

1 回答 1

1

看看莱文斯坦距离。它对字符串进行操作,以查找相似性(编辑距离),但是当修改为在向量上使用时,它会使您与 b1 的相似性高于与 b2 的相似性。可以修改它以比较实际值(不仅仅是字符的匹配/不匹配)

于 2015-02-20T12:19:37.497 回答