本文主要是介绍【k近邻】 K-Nearest Neighbors算法k值的选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【k近邻】 K-Nearest Neighbors算法原理及流程
【k近邻】 K-Nearest Neighbors算法距离度量选择与数据维度归一化
【k近邻】 K-Nearest Neighbors算法k值的选择
【k近邻】 Kd树的构造与最近邻搜索算法
【k近邻】 Kd树构造与最近邻搜索示例
k近邻算法(K-Nearest Neighbors,简称KNN)是一种常用的监督学习算法,可以用于分类和回归问题。在OpenCV中,KNN算法的函数为`cv.ml.KNearest_create()。
k值的选择
- 选择较小的k值
- 噪声敏感
- K值的减小意味着着整体模型会变得复杂,容易发生过拟合情况
- 学习的近似误差(approximation error)会减小,但学习的估计误差(estimation error)会增大
过拟合:在训练集上准确率非常高,而在测试集上准确率低
- 选择较大的k值
- K值的增大意味着整体的模型会变得简单
- 学习的估计误差(estimation error)会减小,但学习的近似误差(approximation error)会增大
- 合理的选择方式:一般先选取一个较小的k值,然后采取交叉验证法来选取最优的k值,即实验调参,类似于神经网络通过调整超参数来得到一个较好的层数。
k近邻算法优缺点
- 优点
- 精度高
- 对异常值不敏感
- 无数据输入假定
- 缺点
- 计算复杂度高
- 空间复杂度高
这篇关于【k近邻】 K-Nearest Neighbors算法k值的选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!