【发布时间】:2014-11-06 06:41:17
【问题描述】:
假设我有一组实体(例如具有其身体特征的人),并且我想为给定的实体 X 找到与其相关(或相似)的所有实体,以获得某种相似性的定义。
我可以很容易地找到一个维度的此类实体(所有身高 Y ~= X 的身高在某个阈值内的人),但是我是否可以使用某种方法来查找考虑多个属性的类似实体?
【问题讨论】:
标签: algorithm similarity correlated
假设我有一组实体(例如具有其身体特征的人),并且我想为给定的实体 X 找到与其相关(或相似)的所有实体,以获得某种相似性的定义。
我可以很容易地找到一个维度的此类实体(所有身高 Y ~= X 的身高在某个阈值内的人),但是我是否可以使用某种方法来查找考虑多个属性的类似实体?
【问题讨论】:
标签: algorithm similarity correlated
这将取决于您对相似性的定义,但您可以使用与一维相同的方法,对任何维度进行少量概括。假设每个元素都表示为一个向量,您可以将 2 个向量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).
很容易看出这是您的一维示例的泛化,并且对具有单个元素的向量调用相同的方法将执行相同的操作。
这种方法的缺点是 (0,0,0,...,0,10^20) 和 (0,0,0,....,0) 将彼此相距很远 - 这可能是也可能不是你所追求的,然后你可能需要不同的距离度量 - 但这真的取决于你到底在追求什么。
【讨论】: