无规则采集器列表算法(KNN算法的三个监督学习算法(1)_光明网 )
优采云 发布时间: 2022-02-06 19:06无规则采集器列表算法(KNN算法的三个监督学习算法(1)_光明网
)
(1) KNN算法介绍:
KNN算法,即K近邻算法,是一种监督学习算法。本质上就是在给定的训练样本中找出最接近某个测试样本A的K个实例,然后统计这k个实例中类别数最多的那个。类,它根据新数据的主要分类确定新数据的类别。
(2) KNN算法的三个关键点:
① K的选择:
K值是KNN算法中为数不多的参数之一,K值的选择也直接影响模型的性能。如果我们把k的值设置得比较小,说明我们期望的模型更复杂更准确,也更容易过拟合;相反,如果K值越大,模型机会越简单,一个非常极端的例子是如果K值设置为等于训练样本的个数,即KN,那么无论什么类型的测试样本,最终的测试结果将是测试样本数量最多的类别。
②距离测量:
距离度量描述了测试样本和训练样本的接近程度。这种邻近性是选择 K 个样本的基础。在KNN算法中,如果特征是连续的,距离函数一般使用曼哈顿距离或欧几里得距离。是离散的,一般采用汉明距离。"
③ 分类决策规则:
通过上面提到的K和距离这两个概念,可以选出离测试样本最近的K个训练样本。如何根据K个样本确定测试样本的类别是KNN的分类决策规则。常用的是多数投票规则,但该规则很大程度上取决于训练样本的数量。
(3) KNN算法的优缺点:
①优点:简单、易懂、易实现、无需估计参数、无需训练。适合对稀有事件进行分类(比如流失率很低,比如小于0.5%,构建流失预测模型)特别适合多分类问题(多模态、对象有多个类标签),例如,根据基因特征来判断其功能分类,kNN比SVM表现更好。
②缺点:算法懒,分类测试样本时计算量大,内存开销大,评分慢,可解释性差,不能像决策树一样给出规则。
(4) 关于 KNN 算法的常见问题:
①k的值是多少?
k过小,分类结果容易受到噪声点的影响;如果 k 太大,则邻居可能收录太多其他类别的点。k的取值通常通过交叉核对确定(以k-1为基础),一般情况下k-一般低于训练样本数的平方根。
②如何确定最合适的品类?
投票方式不考虑最近邻的距离,距离较近的最近邻可能决定最终的分类,因此加权投票方式更为合适。
③如何选择合适的测距?
高维对距离测量的影响是变量个数越大,欧几里得距离的区分能力越差。变量范围对距离的影响在于,范围较大的变量往往在距离计算中起主导作用,所以首先要对变量进行标准化。
④ 训练样本是否应该一视同仁?
在训练集中,一些样本可能更可靠。可以对不同的样本应用不同的权重,加强依赖样本的权重,减少不可靠样本的影响。
⑤ 性能问题?
KNN 是一种惰性算法。如果平时不努力学习,只需要在考试的时候磨一把*敏*感*词*(对测试样本进行分类)(暂时找k个最近的邻居)。懒惰的后果:模型的构建很简单,但是对测试样本进行分类的系统开销很大。,因为所有的训练样本都被扫描并计算了距离。
(5)KNN算法在图像处理中的应用
1) KNN 很少用于图像问题。这个观点来自Stanford CS231n,原因有二:①测试效率差,样本量越大,分类过程就会越慢。②整幅图像的水平距离非常不直观。
2) Halcon 中的 KNN 分类器例程:
① 分类图像类 knn.hdev
②设置参数类knn.hdev
③最近邻居.hdev
———————————————
版权声明:本文为CSDN博主《小娜美要努力》的原创文章,遵循CC4.0 BY-SA版权协议,请附上原出处链接和this陈述。
原文链接:
#转载请注明出处 勇哥工业自动化技术《少有人走的路》网站。如需本文源代码等资源,请向永哥索取。