KNN可以比其他分类器更好吗?

时间:2015-12-03 19:47:23

标签: classification svm random-forest knn

如已知,有分类器具有训练或学习步骤,如SVM或随机森林。另一方面,KNN没有。

KNN能否优于这些分类器? 如果不是,为什么?

如果是,何时,如何以及为何?

2 个答案:

答案 0 :(得分:1)

主要答案是是的,这可能是由于没有免费的午餐定理含义。 FLT可以表示为(在分类方面)

  

没有通用的分类器在任何任务中都比其他任务更好(

它也可以(不是非常严格地)倒置

  

对于每个(明确定义的)分类器,存在一个最佳的分类器

特别是 - kNN是明确定义的分类器,特别是它与任何分布一致,这意味着给定无限多个训练点它会收敛到最优的贝叶斯分离器。

那么它可以比SVM或RF更好吗?明显!什么时候?没有明确的答案。首先,在有人监督的学习中,你实际上只能获得一个训练集并尝试适应最佳模型。在这种情况下,任何模型都可以是最好的模型。当统计学家/理论ML试图回答一个模型是否比另一个模型更好时,我们实际上试图测试如果我们将拥有无数多个训练集将会发生什么? - 所以我们看一下分类器行为的预期值。在这样的设置中,我们经常表明SVM / RF优于KNN。但它意味着他们总是更好。这只意味着,对于随机选择的数据集,您应该期望KNN工作更糟,但这只是概率。而且你可以随时赢得彩票(无论赔率多少!)你也总能赢得KNN(只是为了清楚 - KNN有更大的机会成为一个好的模特而不是赢得彩票: - ))。

具体的例子是什么?让我们举例来考虑一个旋转的异或问题。

enter image description here

如果真正的决策边界如上,那么你只有这四点。显然,1NN将比SVM(带点,多边形或rbf内核)或RF好得多。一旦你包含越来越多的训练点,它也应该是真的。

答案 1 :(得分:-1)

“一般来说,kNN不会超过SVM或RF。当kNN这样做时,这说明训练数据非常有趣。如果数据集中存在许多双峰,则最近邻算法效果很好。”

我听到了Claudia Perlich在这个播客中写的那样的论点: http://www.thetalkingmachines.com/blog/2015/6/18/working-with-data-and-machine-learning-in-advertizing

我直观地理解为什么RF和SVM在基因中是更好的kNN:所有算法基本上都假设一些局部相似性,因此非常相似的样本被分类相似。 kNN只能按距离(或其他一些全局内核)选择最相似的样本。因此,可能影响对kNN的预测的样本将存在于欧几里德距离核的超球内。 RF和SVM可以学习局部性的其他定义,这些定义可以通过某些特征延伸很远而其他特征很短。此外,局部性的传播可能会占用许多学习形状,这些形状可能会因特征空间而异。