什么是K近邻算法?


K近邻算法是一种分类方法,它不假设类别成员(Y)和预测变量X1, X2,…. Xn之间关系的结构。

这是一种非参数方法,因为它不包括对假定函数形式(包括线性回归中假定的线性形式)中参数的估计。这种方法从数据集中数据的预测变量值之间的相似性中提取数据。

K近邻方法的概念是识别训练数据集中与需要分类的新数据相同的k条记录。它可以使用这些相似(相邻)的记录将新记录定义到一个类别中,将新数据归类到这些邻居中占主导地位的类别。它用X1, X2,…. Xn表示这条新记录的预测变量值。

一个核心问题是如何根据预测变量值计算数据之间的距离。众所周知的距离度量是欧几里得距离。两条记录(X1, X2,…. Xn)和(U1, U2,…. Un)之间的欧几里得距离为

$$\mathrm{\sqrt{(X_1-U_1)^2+(X_2-U_2)^2+...+(X_n-U_n)^2}}$$

K-NN算法依赖于多次距离计算(在每个待预测数据和训练集中的每个数据之间),因此计算成本低的欧几里得距离在K-NN中最受欢迎。

为了平衡多个预测变量可能具有的尺度,在大多数情况下,必须在计算欧几里得距离之前标准化预测变量。用于标准化新数据的均值和标准差是训练数据的均值和标准差,新数据不参与计算。验证数据(如新数据)也不参与此计算。

计算待分类数据与当前记录之间的距离后,需要根据其邻居的类别来为待分类记录分配类别的规则。

最简单的情况是k = 1,我们寻找最接近的数据(最近邻),并将新数据分类为与其最接近的邻居属于同一类别。

一个非凡的事实是,当我们有大量训练集记录时,这种使用单个最近邻对记录进行分类的简单、有见地的概念可能非常强大。事实证明,1-最近邻设计的误分类误差的误分类率不超过能够准确理解每个类别的概率密度函数时的误差的两倍。

更新于:2022年2月10日

400 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.