【发布时间】:2011-07-05 02:59:27
【问题描述】:
我们知道有上千个分类器,最近有人告诉我,有人说adaboost 就像脱壳的。
- 是否有更好的算法(使用 投票的想法)
- 什么是最先进的 分类器。你有例子吗?
【问题讨论】:
标签: algorithm artificial-intelligence classification adaboost
我们知道有上千个分类器,最近有人告诉我,有人说adaboost 就像脱壳的。
【问题讨论】:
标签: algorithm artificial-intelligence classification adaboost
首先,adaboost 是一种元算法,可与您最喜欢的分类器结合使用(在其之上)。其次,在一个问题域中运行良好的分类器通常在另一个问题域中运行不佳。请参阅No Free Lunch 维基百科页面。因此,您的问题不会有答案。尽管如此,了解人们在实践中使用什么可能会很有趣。
【讨论】:
Weka 和 Mahout 不是算法……它们是机器学习库。它们包括各种算法的实现。因此,您最好的选择是选择一个库并尝试几种不同的算法,看看哪种算法最适合您的特定问题(其中“效果最好”将是训练成本、分类成本和分类准确性的函数)。
如果是我,我会从朴素贝叶斯、k-最近邻和支持向量机开始。它们代表了成熟的、易于理解的方法,但权衡非常不同。朴素贝叶斯很便宜,但不是特别准确。 K-NN 在训练过程中很便宜,但在分类过程中(可能)很昂贵,虽然它通常非常准确,但很容易受到过度训练的影响。 SVM 的训练成本很高,并且有很多元参数需要调整,但它们的应用成本很低,而且通常至少与 k-NN 一样准确。
如果您告诉我们更多有关您要解决的问题的信息,我们或许能够提供更有针对性的建议。但是,如果您只是在寻找一种真正的算法,那么没有一种 - 没有免费午餐定理保证了这一点。
【讨论】:
Apache Mahout(开源,java)似乎获得了很多动力。
【讨论】:
Weka 是一个非常流行且稳定的机器学习库。它已经存在了很长一段时间,并写在Java。
【讨论】:
哈斯蒂等人。 (2013, The Elements of Statistical Learning) 得出结论,梯度提升机是最好的“现成”方法。与您遇到的问题无关。 定义(参见第 352 页): “现成的”方法是一种 可以直接应用于数据,无需大量耗时的数据预处理或仔细调整学习过程。
还有一点旧的意思: 事实上,Breiman (NIPS Workshop, 1996) 将带有树的 AdaBoost 称为“世界上最好的现成分类器”(另见 Breiman (1998))。
【讨论】: