后端程序员之路 12K最近邻(k-Nearest Neighbour,KNN)分类算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了后端程序员之路 12K最近邻(k-Nearest Neighbour,KNN)分类算法相关的知识,希望对你有一定的参考价值。

K最近邻(k-Nearest Neighbour,KNN)分类算法,是最简单的机器学习算法之一。
由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。
该算法的功能有:
从目标区域抽样计算欧式或马氏距离;
在交叉验证后的RMSE基础上选择启发式最优的K邻域;
计算多元k-最近邻居的距离倒数加权平均。

机器学习(一)——K-近邻(KNN)算法 - oYabea - 博客园
http://www.cnblogs.com/ybjourney/p/4702562.html

k-近邻算法的初步研究 - 清山的日志 - 网易博客
http://blog.163.com/[email protected]/blog/static/127857195201472462736764/

然而KNN因为计算量相当的大,所以相当的耗时,Ko与Seo提出一算法TCFP(text categorization using feature projection),尝试利用特征投影法来降低与分类无关的特征对于系统的影响,并借此提升系统效能,其实实验结果显示其分类效果与k最近邻居法相近,但其运算所需时间仅需k最近邻居法运算时间的五十分之一

除了针对文件分类的效率,尚有研究针对如何促进k最近邻居法在文件分类方面的效果,如Han等人于2002年尝试利用贪心法,针对文件分类实做可调整权重的k最近邻居法WAkNN (weighted adjusted k nearest neighbor),以促进分类效果

而Li等人于2004年提出由于不同分类的文件本身有数量上有差异,因此也应该依照训练集合中各种分类的文件数量,选取不同数目的最近邻居,来参与分类。

总结:
1、定义k值,一般小于20
2、计算欧氏距离或者曼哈顿距离
3、最近的k个点的类型来确定样本类型

以上是关于后端程序员之路 12K最近邻(k-Nearest Neighbour,KNN)分类算法的主要内容,如果未能解决你的问题,请参考以下文章

Python,OpenCV中的K近邻(knn K-Nearest Neighbor)及改进版的K近邻

机器学习实战☛k-近邻算法(K-Nearest Neighbor, KNN)

机器学习实战☛k-近邻算法(K-Nearest Neighbor, KNN)

k-Nearest Neighbors(KNN) k近邻算法

机器学习——k-近邻(K-Nearest Neighbor)

k近邻算法(k-nearest neighbor,k-NN)