首页 > 代码库 > 统计学习方法 (第3章)K近邻法 学习笔记

统计学习方法 (第3章)K近邻法 学习笔记

第3章 K近邻法

  k近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。当K=1时,又称为最近邻算法,这时候就是将训练数据集中与x最邻近点作为x的类。

3.1 k近邻模型

  模型由三个基本要素——距离度量、k值得选择、和分类决策规则决定。

  3.1.1 距离度量

    技术分享

    p=2时,称为欧式距离,p=1时,称为曼哈顿距离。

  3.1.2 k值的选择

    k 值的选择会对k 近邻法的结果产生重大影响。如果选择较小的k 值,就相当于用较小的邻域中的训练实例进行预测"学习"的近似误差会减小,只有与输入实例较近的(相似的)训练实例才会对预测结果起作用但缺点是"学习"的估计误差会增大,预测结果会对近邻的实例点非常敏感山如果邻近的实例点恰巧是噪声,预测就会出错。也就是说,k值月小,相当于模型越复杂,容易发生过拟合,当k=N的时候,那么无论输入什么,都是简单的预测特为含实例最多的类,模型太简单。一般用交叉验证法来选取最优k值。

  3.1.3 分类决策规则

    多数表决规则,即由输入实例的k个近邻的训练实例中的多数类决定输入实例的类。

3.2 K近邻法的实现:kd树

  kd树是二叉树,表示对k维空间的一个划分,构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。kd树的每个节点对应于以k维超矩形区域。

  3.2.1 构造kd树

  技术分享

技术分享

    给出例子便于理解:

    技术分享

  3.2.2 搜索kd树

    技术分享

技术分享

    同样,给出例子便于理解:

    技术分享

    所以,利用kd树可以省去对大部分数据点的搜索,从而减少搜索的计算量。

 

统计学习方法 (第3章)K近邻法 学习笔记