机器学习系列—11.k近邻

Contents

k近邻(k-Nearest Neighbor,kNN)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。通常,在分类任务中可使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果;在回归任务中可使用“平均法”,即将这k个样本的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的样本权重越大。

K近邻学习与前面介绍的学习方法相比有一个不同之处:它似乎没有显示的训练过程。它是“懒惰学习”的代表。此类学习技术在训练阶段仅仅是把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理。下图是k近邻分类器的一个示意图,当k取不同值时,分类结果有显著不同。当采用不同的距离计算防止,则找出的近邻可能有显著差别,也会导致分类结果不同。

最近邻分类器虽然简单,但它的泛化错误率不超过贝叶斯最优分类器的错误率的两倍。

Contents