k近邻算法(k-NN)相关知识点

1、前言

    由于k近邻算法相对比较简单,故本文不会展开介绍该算法,只是对一些知识点进行整理。

2、相关知识点

2.1 最近邻算法

    当k近邻算法中k取1时,则为最近邻算法。通俗理解:待预测的样本距离训练样本中哪个样本最近,则该待预测样本就与该训练样本同类别。

2.2 距离度量
2.2.1 距离

2.2.2 曼哈顿距离-

当距离中p等于1时,则称该距离为曼哈顿距离:

从上式中可知,曼哈顿距离就是各个维度(属性或特征)差值的绝对值的求和。

2.2.3 欧式距离-

当距离中p等于2时,则称该距离为欧式距离:

2.2.4

当距离中p等于时,则公式变为:

从上式中可知,该距离就是各个维度(属性或特征)差值的绝对值中最大的值。

2.3 两种误差-近似误差与估计误差

近似误差:简单理解为模型对训练样本的误差;
估计误差:简单理解为模型对测试样本的误差。
    在k近邻算法中,如果k值选取的太小,则会将整个空间划分成更多的子空间,所以模型相对比较复杂。
    k值选取小,则每个子空间中样本基本为同一类别(k值如果取与样本个数相同时,则每个子空间只有一个类别,此时误差为0),所以对于训练样本,误差会非常小,也就是近似误差小;但是对于某个子空间,可能刚好该子空间中样本是噪声,则对于测试样本将会产生较大误差,也就是估计误差将增大,此时模型有属于过拟合。
    k值选取大,则每个子空间中样本类别较多(k值如果取1,则将所有样本归为一个空间,则误差较大),所以对于训练样本,误差会非常大,也就是近似误差大;但是测试对于每个子空间,类似噪声的误差将会减小,则对于测试样本将会减小误差,也就是估计误差将减小,此时模型有属于欠拟合。

你可能感兴趣的:(k近邻算法(k-NN)相关知识点)