《统计学习方法》——k近邻法

k近邻

简介

k近邻法是一种基本分类与回归方法。在这里我们只讨论分类问题中的k近邻法。
三要素

  1. k值的选择
  2. 距离度量
  3. 分类决策规则

最后会引入一种k近邻的实现方法——kd树。

3. 1 k近邻算法

算法:

输入:训练数据集T
输出:实例x所属的类y

  1. 根据给定的距离度量,在训练集中找到和x最近的k个点
  2. 在这k个点中根据分类决策规则,决定x的类别

注意:k近邻法没有显示的学习过程

3.2 k近邻模型

模型由上述的三要素决定。

k值的选择

实际上只要记住:
选择较小的k值,模型变得复杂,容易出现过拟合;选择较大的k值,模型变得简单,可以减小估计误差,但容易欠拟合。

距离度量

一般使用欧氏距离。

分类决策规则

一般使用多数表决规则(majority voting rule)。
多数表决规则等价于经验风险最小化。

3.3 kd树

注意此处的k是指储存k维的数据的树结构,而不是k近邻中的k。

kd树是用来提高k近邻法实现效率问题的。
主要思想是不断对k为维空间进行划分来减少后续搜索的代价。

递归步骤:

在超矩形区域内选择一个坐标轴和在其坐标轴上的一个切分点,确定一个超平面,该超平面通过该点并垂直于选定的坐标轴,将当前区域进行划分,并将该点保存在相应的节点上。

递归结束条件:

当两个字区域都没有实例存在。

3.4 搜索kd树

通过不断更新最近的点来获得所有实例中最接近当前x的点。具体算法在这边忽略了。
搜索算法的平均时间复杂度为 O ( l o g N ) O(logN) O(logN)。但是当空间维数接近训练实例数的时候,搜索算法会退化为线性扫描。

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页