机器学习中的 K-近邻 算法

k-近邻(k-Nearest Neighbor, 简称kNN)算法是一种常用的监督学习方法,其工作机制:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息进行预测

距离度量是什么呢?

拿欧氏距离来说, 假如给定两个样本a, b:
机器学习中的 K-近邻 算法
那么最终的欧式距离就是
根号下(a1特征值 - b1特征值)^2 + (a1特征值 - b1特征值)^2 + …

当然数据越累似, 特征值的差(a1-b1)就越小…

算出与每个样本的欧式距离之后, k-近邻算法会根据与每个样本的欧式距离由小到大排序, 取出前k个样本, 大多数样本属于一个类别, 则这个样本也属于该类别

优点: 简单, 快!无需训练,没有学习的过程
缺点: k值取很大:受到样本均衡的问题;k值取很小:容易受到异常点的影响