机器学习算法模型众多,不同的模型有不同的特点和适用场景,本文主要讨论KNN最近邻分类器算法。
KNN的优缺点
KNN代表着"投票类"的算法,一直广泛受到业界的欢迎。不过KNN也有自己的缺点,那就是它的计算非常缓慢,因为KNN必须对每一个测试点来计算到每一个训练数据点的距离,并且这些距离点涉及到所有的特征,当数据的维度很大,数据量也很大的时候,KNN的计算会成为诅咒,大概几万数据就足够让KNN跑几个小时了。
KNN分类器的特点
根据算法基本执行流程,我们可总结KNN最近邻分类器的特点如下:
应用广泛-基于实例的学习
KNN最近邻分类属于一类更广泛的技术,这种技术称为基于实例的学习,它使用具体的训练实例进行预测,而不必维护源自数据的抽象(或模型)。
基于实例的学习算法需要邻近性度量来确定实例间的相似性或距离,还需要分类函数根据测试实例与其他实例的邻近性返回测试实例的预测类标号。
计算效率低,耗费计算资源较大
像最近邻分类器这样的消极学习方法不需要建立模型,所以,学习的开销很大,因为需要逐个计算测试样例和训练样例之间的相似度。
相反,积极学习方法通常花费大量计算资源来建立模型,模型一旦建立,分类测试样例就会非常快。
抗噪性较弱,对噪声数据(异常值)较为敏感
最近邻分类器基于局部信息进行预测,而决策树和基于规则的分类器则试图找到一个拟合整个输入空间的全局模型。
正是因为这样的局部分类决策,最近邻分类器(k很小时)对噪声非常敏感。
模型不稳定,可重复性较弱
最近邻分类器可以生成任意形状的决策边界,这样的决策边界与决策树和基于规则的分类器通常所局限的直线决策边界相比,能提供更加灵活的模型表示。
最近邻分类器的决策边界还有很高的可变性,因为它们依赖于训练样例的组合。
增加最近邻的数目可以降低这种可变性。
需要进行归一化处理
除非采用适当的邻近性度量和数据预处理,否则最近邻分类器可能做出错误的预测。
例如,我们想根据身高(以米为单位)和体重(以磅为单位)等属性来对一群人分类。属性高度的可变性很小,从1.5米到1.85米,而体重范围则可能是从90磅到250磅。如果不考虑属性值的单位,那么邻近性度量可能就会被人的体重差异所左右。

本文探讨了KNN最近邻分类器算法的特点与应用场景,包括其基于实例的学习方式、计算效率低、抗噪性较弱及模型不稳定等特性。
8196

被折叠的 条评论
为什么被折叠?



