统计学习方法第三章-k近邻法

目录

  • 1.KNN
  • 2.KNN模型
  • 3.距离度量
    • 3.1 K值的选择
    • 3.2 分类决策规则
    • 3.3 KD树算法
    • 3.4 搜索KD树

1.KNN

  k近邻法(k-nearest neighbor)是一种基本分类与回归方法。
  k近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。
  例如下图所示,有正方形,圆形,三角形,要判定圆形属于哪一类,假设K=3,就会选取离圆形最近的三个图形,此时有两个三角形和一个正方形,三角形多一点,于是圆形就被判定为三角形这一类假设K=5,那么就是周围虚线这一圈,里面有三个正方形和两个三角形,此时正方形多,圆形就被判定为正方形类.

统计学习方法第三章-k近邻法_第1张图片
统计学习方法第三章-k近邻法_第2张图片
没有显示的学习过程是没有办法得到一个模型来计算这个算法.
统计学习方法第三章-k近邻法_第3张图片

2.KNN模型

  k近邻法使用的模型实际上对应于对特征空间的划分。模型由三个基本要素,距离度量、k值的选择和分类决策规则决定。
统计学习方法第三章-k近邻法_第4张图片
统计学习方法第三章-k近邻法_第5张图片

3.距离度量

欧氏距离:
统计学习方法第三章-k近邻法_第6张图片
统计学习方法第三章-k近邻法_第7张图片
统计学习方法第三章-k近邻法_第8张图片
统计学习方法第三章-k近邻法_第9张图片

3.1 K值的选择

  k值的选择会对近邻法的结果产生重大影响.
  如果选择较小的k值,就相当于用较小的邻域中的训练实例进行预测,“学习”的近似误差会减小,只有与输入实例较近的(相似的)训练实例才会对预测结果起作用。但缺点是“学习”的估计误差会增大,预测结果会对近邻的实例点非常敏感。如果邻近的实例点恰巧是噪声,预测就会出错。
  k值的减小就意味着整体模型变得复杂,容易发生过拟合。
  如果选择较大的k 值,就相当于用较大邻域中的训练实例进行预测。其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大。这时与输入实例较远的(不相似的)训练实例也会对预测起作用,使预测发生错误。k 值的增大就意味着整体的模型变得简单。
  如果k = N,那么无论输入实例是什么,都将预测训练头例中取多的类。这时,模型过于简单,完全忽略训练实例中的大量有用信息,是不可取的,
在应用中,k值一般取一个比较小的数值。通常采用交叉验证法来选取最优的k值。可取的。

3.2 分类决策规则

少数服从多数
统计学习方法第三章-k近邻法_第10张图片

统计学习方法第三章-k近邻法_第11张图片

3.3 KD树算法

使用KD树算法快速寻找邻居
在这里插入图片描述

  选择x(1)的坐标中位数为切分点,比中位数小的放左边成为左节点,大的放右边成为右节点,
然后再用第二维向量x(2)继续计算


![在这里插入图片描述](https://img-blog.csdnimg.cn/09775b0d95d243ac8df43a5fc2cf6af7.png)

2,5,9,4,8,7 从小到大排序
2,4,5,7,8,9
第一维向量中位数是7,小于7的放左边,大于7的放右边,左边的节点是(2,3),(5,4),(4,7),然后这三个节点的中位数是4,再进行划分,剩下右节点是(8,1),(9,6),进行划分

统计学习方法第三章-k近邻法_第12张图片

3.4 搜索KD树

统计学习方法第三章-k近邻法_第13张图片

你可能感兴趣的:(机器学习,学习方法,算法)