是否有一种标准的方法来查找相关/相似的对象



假设我有一组实体(例如,具有其身体特征的人),并且我想为给定的实体X找到与其相关(或相似)的所有实体,以获得相似性的一些定义。

我可以很容易地在一个维度上找到这样的实体(所有身高Y~=X在某个阈值内的人),但有没有一些方法可以用来找到考虑多个属性的类似实体?

这将取决于您定义的相似性,但您可以使用与1D相同的方法,对任何维度进行简单概括。假设每个元素都表示为一个向量,则可以将两个向量x,y的距离测量为d=|x-y|,并根据该d和某个阈值来接受/拒绝。

在这里,减号运算符是向量否定:
(a1,a2,...,an)-(b1,b2,...,bn)=(a1-b1,a2-b2,...,an-bn)
并且绝对值再次是针对向量的:
|(a1,a2,...,an)| = sqrt(a1^2 + a2^2 + ... + an^2)

很容易看出,这是对1D示例的概括,对具有单个元素的向量调用相同的方法也会起到同样的作用。


这种方法的缺点是(0,0,0,...,0,10^20)(0,0,0,....,0)会相距很远——这可能是也可能不是你想要的,然后你可能需要一个不同的距离度量——但这实际上取决于你到底想要什么。

最新更新