假设我有一组实体(例如具有其身体特征的人),并且我想为给定的实体 X 找到与其相关(或相似)的所有实体,以获得某种相似性的定义。
我可以很容易地找到一维的此类实体(所有身高 Y ~= X 的身高在某个阈值内的人),但是有没有一些方法可以用来查找考虑多个属性的类似实体?
假设我有一组实体(例如具有其身体特征的人),并且我想为给定的实体 X 找到与其相关(或相似)的所有实体,以获得某种相似性的定义。
我可以很容易地找到一维的此类实体(所有身高 Y ~= X 的身高在某个阈值内的人),但是有没有一些方法可以用来查找考虑多个属性的类似实体?
这将取决于您对相似性的定义,但您可以使用与一维相同的方法,对任何维度进行少量概括。假设每个元素都表示为一个向量,您可以将 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)