用于计算k最近邻的距离度量

时间:2018-12-28 09:47:19

标签: machine-learning vector distance knn euclidean-distance

我正在阅读有关k个最近邻居的信息,示例中给出的距离度量如下。

它表示Ri是第i个分量的范围。我对这里使用哪种距离测量感到困惑?我了解欧几里得距离,但事实并非如此。您能否帮助解释什么是“第i个分量的范围”以及这是一个距离度量?非常感谢。请让我知道是否需要更多信息。

enter image description here

2 个答案:

答案 0 :(得分:1)

范围是训练数据集中该特征(列)的最大值和最小值之间的差。

您可以将其视为L1范数,因为我们仅取最大值和最小值之间的绝对距离。通常这样做是为了标准化跨要素的距离计算,以使某些要素不应主导距离计算。

答案 1 :(得分:1)

给出的公式仅适用于欧几里得距离,只是在计算距离时对数据进行了归一化。

数据的标准化对于KNN是必要的,因为如果不这样做,则具有较高值的​​要素将在决定输出中占主导地位。 上面的KNN公式省略了标准化的显式步骤,并在计算距离时就位了。

注意:-在这里,i表示第i th 列而不是行。

这是该公式的实际解释,

R i = x i max -x i min

归一化时,我们使用以下转换对每一行进行转换

x i = x i /(x i max -x i min

因此,在计算距离时,公式是有效的,

d 2 =(((a 1 -x min )-(b 1 -x min )) 2 / R 1 2 +(((a 2 -x min )-(b 2 -x min )) 2 / R 2 2 + ... +(((a n -x min )-(b n -x min )) 2 / R n 2

有效

d 2 =(a 1 -b 1 2 / R 1 2 +(a 2 -b 2 2 / R 2 2 + ... +(a n -b n 2 / R n 2

,如上图所示。