【问题标题】:Adaptive Boosting vs. SVM自适应提升与 SVM
【发布时间】:2014-10-06 05:25:04
【问题描述】:
我正在研究一个二元分类案例并比较不同分类器的性能。在多个数据集上针对SVM 测试Adaboost 算法(以决策树作为其基分类器)的性能,我发现boosting 算法的性能更好。
我的问题是为什么会这样?这是因为boosting 总是优于SVM 吗?还是与我的数据集的特征有关?任何人都可以解释发生在我身上的事情吗?
【问题讨论】:
标签:
classification
svm
adaboost
【解决方案1】:
在统计学中有一个定理叫做没有免费的午餐定理,它本质上说,当对所有可能的问题进行平均时,任何两种算法的性能都是相等的,这在某种程度上也意味着“伙计,问题空间无限大,你已经尝试过了问题太少,无法推断哪个更好”。
但老实说,根据我的经验,在实际场景中,我发现在大多数情况下,adboost 的性能优于 SVM。
但在某些情况下,有时人们更喜欢使用 SVM:
1) 当训练数据量很大并且计算时间是一个问题时。这就是为什么 SVM 在大规模设置中仍然有发言权。与 SVM 相比,无论是 boosting、深度信念网络还是 ANN,计算量都很大。
2) 当您的生产设置需要您保持简单时,您可以选择计算时间和内存都较低的简单线性 SVM。(但是请记住,SVM 中复杂的非线性内核会占用更多内存比adboost)
3)当数据集合理平衡时,即您对每个标签的训练数据都有足够的观察。
在你的情况下,你可以改进的事情是:
1)尝试各种复杂的 SVM 内核,看看它是否进一步提高了准确性。
2)尝试两者的合奏。