人工智能基础 K-近邻算法 2021-10-01

人工智能基础总目录

第一章 K-近邻算法

K-近邻算法

    • 人工智能基础总目录
  • 一、K-近邻算法的基本概念、核心思想
  • 二、K-近邻算法的三要素
    • 2.1 k值的选取
      • k值过小
      • k 值过大
      • 选取K值的方法
    • 2.2 距离的度量
    • 2.3 分类决策规则
  • 三、总结

一、K-近邻算法的基本概念、核心思想

k近邻(k-nearest neighbor, k-NN)算法由Cover和Hart于1968年提出,是一种基本分类和回归方法。本篇文章只讨论分类问题的k近邻算法。我们首先叙述k近邻算法的基本概念,然后讨论k近邻算法的三要素,最后对k近邻算法做一个总结。
K近邻算法,通俗来说,就是给定一个训练数据集,对新的输入实例,在训练数据集中 找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中(类似于投票时少数服从多数的思想)。
人工智能基础 K-近邻算法 2021-10-01_第1张图片
如果K=3,判断绿色的这个待分类点属于红色的三角形一类。 如果K=5,判定绿色的这个待分类点属于蓝色的正方形一类。

思考:

  • 我们的K是怎么选取的,选多少合适?
  • 我们各个点之间的距离远近是如何度量的?
  • 判断输入样本属于哪一类时,少数服从多数思想背后的原因是什么?

二、K-近邻算法的三要素

2.1 k值的选取

首先我们来讨论k近邻算法的第一个核心要素:k值的选取。

k值过小

如果我们选取较小的k值,那么就会意味着我们的整体模型会变得复杂,容易发生过拟合(过拟合就是在训练集上准确率非常高, 而在测试集上准确率低)! 看完这个结论,是不是感觉有点困惑?

下图中有俩类,一个是黑色的圆点,一个是蓝色的长方形,现在我们的待分类点是红色的五边形。
人工智能基础 K-近邻算法 2021-10-01_第2张图片
比如上面k等于1, 五边形离黑色的圆点最近,因此我们最终判定待分类点是黑色的圆。此时距离五边形最近的黑色圆点是一个噪声,因此如果我们选择的k太小了,,我们很容易学习到数据中的噪声,也就非常容易将待分类点判定为噪声类别。很容易将一些噪声(如上图距离五边形最近的黑色圆点) 学习到模型中,而忽略了数据真实的分布。

k 值过大

如果我们选取较大的k值,就相当于用较大邻域中的训练数据进行预测,这时与输入实 例较远的(不相似)训练实例也会对预测起作用,使预测发生错误,k值的增大意味着 整体模型变得简单。为什么k值增大就意味着模型变得简单了?
我们假设,如果k=N (N为训练样本的个数),那么无论输入实例是什么,都将简单地预 测它属于在训练实例中最多的类。这时,模型是不是非常简单,这相当于你压根就没 有训练模型!直接拿训练数据统计了一下各个数据的类别,找最大的而已!
人工智能基础 K-近邻算法 2021-10-01_第3张图片

选取K值的方法

李航老师的书上讲到(统计学习方法2),我们一般选取一个较小的数值,通常采取交叉验证法来选取最优的k值,也就是说,选取k值关键是实验调参。

2.2 距离的度量

我们在上面的几个例子中,经常会使用到距离待分类样本最近的k个样本,那么这最近的k个样本是如何选取出来的呢?我们怎么知道哪个样本距离待测样本距离最近呢? 通常情况下我们使用欧氏距离作为距离的度量。
在这里插入图片描述

2.3 分类决策规则

最后我们来讨论一下k近邻算法的第三个要素:分类决策规则
我们在上面几个例子中,判断待决策样本属于哪一类时,都是根据少数服从多数的思想。为什么根据这种思想做分类决策,背后的原理是什么呢?
假设分类的损失函数为0-1损失函数,分类函数为
人工智能基础 K-近邻算法 2021-10-01_第4张图片

三、总结

1.k近邻算法的核心思想是,给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类, 就把该输入实例分类到这个类中。
更通俗的说一遍算法的过程,来了一个新的输入实例,我们算出该实例与每一个训练点的距离,然后找到前k个,这k个哪个类别数最多,我们就判断新的输入实例就是哪类!

2.其次我们对k近邻算法的核心三要素进行了说明:如何选取k值(根据交叉验证,通过实验调参)、样本之间的距离如何度量(一般选取欧式距离)、分类决策的规则
(多数表决规则等价于经验风险最小化)

你可能感兴趣的:(人工智能基础,机器学习,人工智能)