k最近邻(k-Nearest Neighbor,KNN)
K最近邻指的是用该样本最接近的K个邻居代表,如下图所示。
若K=3,如黄圈所示,红色占了2/3,那么我们认为中间未知的黑色样本应该与红色三角形为同一类型。
若K=5,如绿圈所示,蓝色占了3/5,那么我们认为中间未知的黑色样本应该与蓝色星状为同一类型。
因此,在本算法中,有两个超参数,
1)K的选取,由上图可知,K的取值不同,将会影响最终类别的划分。
2)距离的计算方法,近邻的概念是建立在距离这一概念上的,何谓近有不同的度量方法。最常见的有三种:
a)欧氏距离
b)曼哈顿距离(城市街区距离)
c)切比雪夫距离(棋盘距离)
KNN算法的特点:
KNN算法思路简单,但是算法较慢,这主要是因为每一次预测都要计算与训练数据集中所有图像的距离。
KNN算法需要注意的问题如下:
1)需要预处理数据,例如0均值,单位方差处理
2)高维数据可以用PCA降维
3)若参数较多,需要保证测试数据集数据足够多,当训练数据少时,可采用交叉验证的方法。