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

Machine learning 用于计算k近邻的距离度量,machine-learning,vector,distance,knn,euclidean-distance,Machine Learning,Vector,Distance,Knn,Euclidean Distance,我正在阅读关于k近邻的文章,示例中给出的距离度量如下所示 它说Ri是第i分量的范围。我不知道这里使用的是哪种距离度量?我理解欧几里德距离,但似乎不是这样。你能解释一下“第i分量的范围”是什么,这是什么距离度量吗?非常感谢。如果需要更多信息,请告诉我 范围是训练数据集中该特征(列)的最大值和最小值之间的差值 您可以将其视为L1norm,因为我们只取最大值和最小值之间的绝对距离。这样做通常是为了规范化特征之间的距离计算,以便某些特征不应主导距离计算 给出的公式仅适用于欧几里德距离,但在计算距离时,数

我正在阅读关于k近邻的文章,示例中给出的距离度量如下所示

它说Ri是第i分量的范围。我不知道这里使用的是哪种距离度量?我理解欧几里德距离,但似乎不是这样。你能解释一下“第i分量的范围”是什么,这是什么距离度量吗?非常感谢。如果需要更多信息,请告诉我


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


您可以将其视为
L1
norm,因为我们只取最大值和最小值之间的绝对距离。这样做通常是为了规范化特征之间的距离计算,以便某些特征不应主导距离计算

给出的公式仅适用于欧几里德距离,但在计算距离时,数据的标准化是就地完成的

KNN需要对数据进行规范化,因为如果不进行规范化,则具有较高值的特征将在决定输出时占主导地位。 上述KNN公式省略了规范化的明确步骤,并在计算距离时将其就地执行

注:-此处,
i
表示第i列,而不是第行

这里是公式的实际解释

Ri=ximax-ximin

当我们使用以下转换转换每一行时

X=席/(希马克斯席明)

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

d2=((a1-xmin)-(b1-xmin))2/R12+((a2-xmin)-(b2-xmin))2/R22+((an-xmin)-(bn-xmin))2/Rn2

实际上,

d2=(a1-b1)2/R12+(a2-b2)2/R22+…+(an-bn)2/Rn2


,如上图所示。

谢谢。但是你能再解释一下吗?它只讨论了两个向量,对吗?例如,给定两个向量[a1、a2、a3、labelA]和[b1、b2、b3、labelB],i=1或i=2时的范围是多少?我的理解是,它根据训练数据集而不是给定的两点计算范围。含义范围来自整个培训数据集,比如说,您的培训数据集有15条记录,每条记录有10个特征/维度。那么,第i部分是指这10个特征中的一个。简单地说,组件就是训练数据集中的列。希望它能有所帮助。你的意思是说我的训练数据集有3条记录[a1、a2、a3、labelA]、[b1、b2、b3、labelB]和[c1、c2、c3、labelA]。它们各有3个特点。对于i=1,范围R是最大值(假设为c1)和最小值(假设为a1)之间的差值,R1=c1-a1?是。每列中的最大最小值