算法原理
KNN可以说是最好理解的分类算法了(当然也可以应用于回归问题),并且KNN没有显式的学习过程,被称为是一种“懒惰学习方法”。它的基本思想是将想要进行分类的测试实例丢入训练实例的特征空间,然后找到离测试实例最近的K个训练实例,通过“投票”,返回K个样本中出现次数最多的标签。
如何刻画“近”
机器学习领域有很多用来刻画两个向量距离的指标,这里我们介绍四个最常用的。
欧几里得距离: d 12 = ∑ k = 1 n ( x 1 k − x 2 k ) 2 d_{12}=\sqrt{\sum_{k=1}^n(x_{1k}-x_{2k})^2} d12=∑k=1n(x1k−x2k)2
余弦距离: c o s < x 1 , x 2 > = ∑ k = 1 n x 1 k x 2 k ∑ k = 1 n x