基础学习算法: 了解K近邻算法的理论
K近邻算法的优缺点
关于K近邻算法的知识有很多,比如算法执行的步骤、应用领域以及注意事项,不过相信很多人对K近邻算法的使用注意事项不是很清楚。在这篇文章中我们针对这个问题进行解答,带大家来好好了解一下k近邻算法的注意事项以及K近邻算法的优点与缺点。
1.K近邻算法的注意事项
K近邻算法的使用注意事项具体就是使用距离作为度量时,要保证所有特征在数值上是一个数量级上,以免距离的计算被数量级大的特征所主导。在数据标准化这件事上,还要注意一点,训练数据集和测试数据集一定要使用同一标准的标准化。其中的原因总的来说就有两点内容,第一就是标准化其实可以视为算法的一部分,既然数据集都减去了一个数,然后除以一个数,这两个数对于所有的数据来说,就要一视同仁。第二就是训练数据集其实很少,在预测新样本的时候,新样本就更少得可怜,如果新样本就一个数据,它的均值就是它自己,标准差是0,这根本就不合理。
2.K近邻算法的优点是什么呢?
K近邻算法的优点具体体现在四方面。
第一就就是k近邻算法是一种在线技术,新数据可以直接加入数据集而不必进行重新训练,
第二就是k近邻算法理论简单,容易实现。
第三就是准确性高,对异常值和噪声有较高的容忍度。
第四就是k近邻算法天生就支持多分类,区别与感知机、逻辑回归、SVM。
3.K近邻算法的缺点是什么呢?
K近邻算法的缺点,基本的 k近邻算法每预测一个“点”的分类都会重新进行一次全局运算,对于样本容量大的数据集计算量比较大。而且K近邻算法容易导致维度灾难,在高维空间中计算距离的时候,就会变得非常远;样本不平衡时,预测偏差比较大,k值大小的选择得依靠经验或者交叉验证得到。k的选择可以使用交叉验证,也可以使用网格搜索。k的值越大,模型的偏差越大,对噪声数据越不敏感,当 k的值很大的时候,可能造成模型欠拟合。k的值越小,模型的方差就会越大,当 k的值很小的时候,就会造成模型的过拟合。
关于K近邻算法相关知识我们就给大家介绍到这里了,不知道大家对K近邻算法有没有深入的了解了呢?大家在学习K近邻算法的时候,对于其优缺点和注意事项一定要好好了解清楚,这样对加深我们的专业技能和提高我们的工作效率非常具有帮助。
比起其他机器学习方法,k-近邻算法是最简单最有效的分类数据算法,使用算法时必须有接近实际数据的训练样本数据。
该算法的缺点也很多,最大的一点是无法给出数据的内在含义。事实上k决策树是k-近邻算法的优化版本,比起前者,决策树有效减少了储存空间和计算空间的开销,后期需继续深入学习!
学习中涉及的2个应用场景是:
在手写数字识别
约会网站的配对效果