1

我在理解欧几里得距离时遇到了一些问题。我有两个不同的实体,我想测量这些实体之间的相似性。

假设实体 A 有 2 个特征向量,实体 B 只有 1 个特征向量。为了知道相似性,我应该如何计算这两个实体之间的欧几里得距离?

非常感谢。

4

3 回答 3

1

这根本不是一个坏问题。

有时,数学家将两组元素(A 和 B)之间的欧几里得距离定义为任一集合中任意两对元素之间的最小距离。

您也可以使用这两组的最大值。这就是所谓的豪斯多夫距离。

两组之间的距离

换句话说,您可以计算集合 A 的每个元素到集合 B 的每个元素之间的欧几里得距离,然后将两个集合之间的距离 d(A,B) 定义为任何一个的最小(或最大)距离您计算的元素对。

Hausdorff(最大)距离具有一些更好的数学属性,并且在非空紧凑集(您的元素将是因为它们是离散的)的空间上,它将是一个适当的数学距离,因为它满足:

对于所有非空紧集 A,B,C

  1. d(A,B) >= 0(当且仅当 A=B 时 d(A,B) = 0)
  2. d(A,B) = d(B,A)
  3. d(A,B) <= d(A,C) + d(C,B)
于 2011-04-23T18:18:43.120 回答
1

L2 在两个特征向量之间。这两种方法很自然:

您可以找到实体 1 的所有特征向量和实体 2 的所有特征向量之间的最小 L2 距离。如果实体 1 有 2 个向量,例如 A=[1,3,2,1] 和 B=[3, 2,4,1] AND 1 用于实体 2 的向量,例如 C=[1,2,4,2]。然后 dist = min(d([1,3,2,1],[1,2,4,2]),d([3,2,4,1],[1,2,4,2])

您可以找到实体 1 的所有向量和实体 2 的平均向量之间的平均向量。然后计算 L2 距离。如果我们有实体 1 的 2 个向量,例如 A=[1,3,2,1] 和 B=[3,2,4,1] 以及实体 2 的 1 个向量,例如 C=[1,2,4,2] . 然后 dist = d([(1+3)/2,(3+2)/2,(2+4)/2,(1+1)/2],[1,2,4,2])

于 2011-04-07T14:10:02.570 回答
1

您只能为相同维度的向量计算欧几里得距离。但是您可以为实体 2 中缺少的功能定义一些默认值

于 2011-04-07T14:08:56.147 回答