kNN算法

2017-03-29  本文已影响0人  HowieCheng

kNN算法大概是机器学习相关算法中最容易理解的算法了。这篇文章的目的大概是介绍一下kNN算法,介绍一下其错误率的推导,以及论文中的精确推导。大概是这三个方面。

kNN算法介绍

kNN(k nearest neighbor)算法的就用下面的图来介绍好了。

kNN

从上图中我们可以看到,图中的有两个类型的样本数据,一类是蓝色的正方形,另一类是红色的三角形。而那个绿色的圆形是我们待分类的数据。

注意

这里需要注意的地方有两个

k的选取

从上图也可以看出来,对于不同的k值,结果可能大不相同,因此,具体选取哪几个值,需要根据你的数据集来确定。

距离度量

改进方法

我们看这样一张图,虽然每一类分布相对集中。但是偏离分类中心的点会对结果造成影响。



考虑到这个问题,我们为每个样本的到测试样本的距离增加权重,距离越远权重越低。

错误率推导(大致)

推导过程来自周志华老师的《机器学习》
给定测试样本x,若最近样本为在, 分类器出错的概率就是与z不同的概率。即


假设样本独立同分布,对任意x和任意小的整数 \delta ,在x附近\delt 距离内总能找到一个训练样本。即任意测试样本任意近的距离内总能相应的训练样本z。令


表示贝叶斯分类器的最优分类结果。

即其泛化误差不超过贝叶斯分类器的两倍。(关于贝叶斯分类器,后面的文章再做分析)。

论文中的推导以及介绍

todo

上一篇下一篇

猜你喜欢

热点阅读