KNN是一种基本的分类和回归方法,分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。因此,k近邻法不具有显式的学习过程。k值的选择、距离度量及分类决策规则是k近邻法的三个基本要素。
也就是说分析k近邻法的时候不能像分析之间的模型一样从模型,策略和算法入手,因为它没有显示的学习过程,每一次的判别都要计算输入向量与实例点之间的距离来判断。
k近邻法的三个基本要素
模型
特征空间中,对每个训练实例点,距离该点比其他点更近的所有点组成一个区域,称为单元(cell)。每个训练实例点拥有一个单元,所有训练实例的单元构成对特征空间的一个划分。当训练集,距离度量,k值及分类决策规则确定之后,其结果唯一确定。
距离度量
特征空间中两个实例点之间的距离是两个实例点相似程度的反映。k近邻模型的特征空间一般是n维实数向量空间R n n ,使用的距离是欧氏距离,但也可以是其他距离。不同的距离度量所确定的最近邻点是不同的。
k值的选择
k值的选择对k近邻法的结果产生重大影响。
较小的k值会使得估计误差增大,模型变得复杂,容易发生过拟合;较大的k值使得近似误差增大,模型变得简单。在应用中,一般去一个比较小的数值作为k值,通常采用交叉验证法来选取最优的k值。
分类决策规则
一般是多数表决。
多数表决等价于损失函数为0-1损失函数时的经验风险最小化。
k近邻法的实现:kd树
k近邻法最简单的实现方式是线性扫描,也就是计算输入实例点与每一个训练实例点之间的距离。当训练集很大时十分耗时,不可取。因此可以考虑使用特殊的结构存储训练数据,以减少计算距离的次数,例如kd树方法。
总结:
1.感知机和k近邻的决策方法都是经验风险最小化,前者对应的是误分类点与超平面的距离之和最小(为0),后者对应的是多数表决。
2.kd树可用于减少搜索的计算量。