近朱者赤k-nn

  k近邻(k-nearest neighbor)是一种基本的分类和回归方法。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。因此,k近邻法不具有显式的学习过程。
  k近邻实际上利用训练数据集对特征向量空间进行划分,并作为其分类的模型。

k近邻

图片来自《统计学习方法》。

三要素

k近邻是一个比较简单的机器学习算法,k近邻的三要素是:

  • k值的选择
  • 距离度量
  • 分类决策规则

给定训练集,对于新的输入,在训练集中找到与该实例最临近的k个实例,这k个实例的多数属于某一类,则认为该实例属于这个类。

算法

当k=1时,成为最近邻法。

k近邻模型

模型

将特征空间划分为子空间,确定空间中的每个点所属的类。

度量距离

$x_{i}$与$x_{j}$的距离$L_{p}$:
这个距离,又称为范数

  • 当$p=1$时,成为曼哈顿距离;
  • 当$p=2$时,称为欧氏距离;
  • 当$p=\infty$时,它是各个坐标距离的最大值;

k值的选择

  • k较小时,近似误差会减小,但估计误差会增大,结果对近邻的点敏感,如果近邻有噪声会影响很大;
  • k较大时,可以减小估计误差,增大近似误差,模型也相对更简单;

分类决策的规则

多数表决

0%