上图中的绿点,你会如何为它分类呢?采用KNN(K nearest neighborhoods)算法的话
-如果你取K为3,则3个近邻中有2红1蓝,分类为红;
-如果你取K为5,则5个近邻中有2红3蓝,分类为蓝。
以上可总结为如下表格:
KNN 算法
KNN 算法本身简单有效,它是一种 lazy-learning 算法,分类器不需要使用训练集进行训练,训练时间复杂度为0。KNN 分类的计算复杂度和训练集中的文档数目成正比,也就是说,如果训练集中文档总数为 n,那么 KNN 的分类时间复杂度为O(n)。
在实际应用中,K值一般取一个比较小的数值。K=N,则完全不足取,因为此时无论输入实例是什么,都只是简单的预测它属于在训练实例中最多的累,而忽略了训练实例中大量有用信息。
各种距离的定义和计算可参见:http://taop.marchtea.com/07.01.html