KNN算法

简介

k-NN是一种基本分类与回归方法,也属于基于实例学习方法的范畴。

给定一个训练数据集,对于新的输入,在训练数据集中找到与该实例最近的k个实例,这k个实例的多数属于某个类,就把输入实例分为这个类。k近邻没有显式的学习过程。


k近邻模型

k近邻使用的模型实际上是对应于对特征空间的划分。模型有三个基本要素--距离度量、k值的选择和分类决策规则决定


距离度量

常见的距离有欧式距离、皮尔逊系数、余弦函数等等。更多详细距离度量方法见附录B。


k值选择

若选取过大,优点是可以减少学习的估计误差,缺点是学习的近似误差会增大,意味着整体模型变得简单。若选取过小,则可能发生过拟合,意味着整体模型变得复杂。在应用中通常采用交叉验证法来选取最优的k值。


分类决策规则

多数表决规则:由输入实例的k个邻近的训练实例中的多数类决定输入实例的类别。

误差分析?

其他分类决策规则??


K近邻算法优缺点

1.抗噪声能力强:通过对近邻加权可以消除孤立噪声。

2.维度灾难: k-近邻算法在计算距离的时候,考虑实例的所有属性 。可能分类仅由2个属性决定,这中情况下属性的相似性度量会误导k-近邻算法的分类。

解决办法:(1)属性加权;(2)剔除不相关的属性。


k近邻实现方法之KD树

kd树的实质是把k维数据在空间上进行划分。

未完。。。。


KD树之外的其他方法?? 如附录C


附录:

A.http://www.tuicool.com/articles/E7z2ei  KNN优缺点

B.http://taop.marchtea.com/11.02.html  距离度量方法

C.http://www.letiantian.me/2014-06-10-knn/ 一个实例及一种改进方法

D.http://blog.csdn.net/liyakun1992421/article/details/18030035 基于实例学习方法、距离加权KNN

   http://blog.csdn.net/liyakun1992421/article/details/18031879 局部加权回归案例

E. http://blog.csdn.net/v_july_v/article/details/8203674 KD树


你可能感兴趣的:(KNN算法)