首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在KNN中需要优化哪些参数?

在KNN中需要优化哪些参数?
EN

Stack Overflow用户
提问于 2017-05-01 21:22:36
回答 3查看 2.2K关注 0票数 0

我想优化KNN。支持向量机( SVM )、射频( RF )和神经网络(XGboost)有很多种,而KNN则很少。

据我所知,邻居的数目是一个需要调优的参数。

但是还需要测试哪些参数呢?有好文章吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-01 21:28:17

KNN是如此简单的方法,除了K之外几乎没有什么可调的,整个方法实际上是:

代码语言:javascript
复制
for a given test sample x:
   - find K most similar samples from training set, according to similarity measure s
   - return the majority vote of the class from the above set

因此,除了K外,唯一用来定义KNN的是相似性测度s,仅此而已。这个算法中几乎没有其他任何东西(因为它有3行伪码)。另一方面,寻找“最佳相似性测度”与学习分类器本身相当困难,因此没有真正的方法,人们通常使用简单的事物(欧几里德距离)或使用他们的领域知识来适应当前的问题。

票数 3
EN

Stack Overflow用户

发布于 2017-05-02 02:37:30

莱杰洛,差不多概括了这一切。K是如此简单,以至于它是一个基于实例的非参数算法,这就是它之所以如此美丽的原因,而且对于某些具体的例子来说,它非常有效。大多数K的研究都不是在K本身,而是在计算和硬件方面。如果你想阅读一些K和机器学习算法,查尔斯·毕晓普-模式识别和机器学习。警告:它在数学中很重,但是机器学习和真正的计算机科学都是数学。

票数 2
EN

Stack Overflow用户

发布于 2017-05-03 11:29:41

通过优化,如果您也专注于减少预测时间(您应该),那么还有其他方面可以实现,以提高算法的效率(但这些不是参数调优)。KNN的主要缺点是,随着训练实例的增加,预测时间也随之增加,从而导致性能下降。

要优化,您可以检查KNN与KD-树,KNN与倒排列表(索引)和KNN与局部性敏感散列(KNN与LSH)。这将减少预测时间内的搜索空间,从而优化算法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43726728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档