简介
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树