2012-05-16 46 views
9

我正在研究数据的二进制分类,我想知道使用支持向量机优于决策树和自适应增强算法的优缺点。支持向量机优于分支树和AdaBoost算法

+1

为什么这被标记为Java? –

+0

你有多少个数据点和功能?嘈杂,稀疏?我建议先从快速线性SVM [scikit-learn SGDClassifier](http://scikit-learn.org/stable/modules/sgd.html)开始。 – denis

回答

14

你可能想要做的事情是使用weka,这是一个很好的包,你可以用它来插入你的数据,然后尝试一堆不同的机器学习分类器,看看每个分类器如何在你的特定集合上工作。对于机器学习的人来说,这是一条走得很好的路。

对于您的特定数据或您正在尝试解决的分类问题一无所知,我无法超越仅仅告诉您关于每种方法的随机事情。这就是说,这是一个大脑转储和一些有用的机器学习幻灯片的链接。

Adaptive Boosting使用弱基分类委员会对样本点的类别分配进行投票。基分类器可以是决策树,决策树,SVM等。它需要一种迭代方法。在每一次迭代中 - 如果委员会对特定样本的类别分配达成一致并且正确,那么它会变得加权下来(在下一次迭代中不太重要),如果委员会不一致,则变成(更重要的是在下一次迭代中对右分类)。 Adaboost以具有良好的泛化能力而着称(不是过度拟合)。

SVMs是一个有用的第一次尝试。另外,你可以在SVM中使用不同的内核,不仅可以获得线性决策边界,而且可以获得更多趣味形状的内核。如果你把L1正则化(松弛变量),那么你不仅可以防止过拟合,而且可以分类不可分离的数据。

Decision trees是有用的,因为他们可以解释任何人。它们很容易使用。使用树也意味着你也可以了解某个特征对于制作树有多重要。你可能想要检查的东西是添加树(如MART)。

+1

“如果委员会对特定样本的类别分配达成一致,则会降低其权重”。这不完全正确。如果委员会正确地投票(与地面真相标签相比),则会降低权重。反之亦然,以增加权重。 –

+0

好点。在帖子中更正。 – kitchenette