何时在SVM上使用随机森林,反之亦然?


28

一个当将使用Random ForestSVM,反之亦然?

我知道,cross-validation模型比较是选择模型的重要方面,但是在这里,我想详细了解这两种方法的经验法则和启发式方法。

有人可以解释最适合每个分类器的细微之处,优点和缺点以及问题吗?


1
准确度分数是衡量其相对性能的唯一真实指标,尽管如果有幸运的话,可能会有现有技术表明可用的众多分类器中的哪种类型对您的数据类型更好。您可能会受到参数调整所需时间的限制,在这种情况下,随机森林可能会证明这两者更容易。
image_doctor

Answers:


29

我会说,选择在很大程度上取决于您拥有的数据和目的是什么。一些“经验法则”。

随机森林本质上适用于多类问题,而支持向量机本质上适用于两类问题。对于多类问题,您需要将其简化为多个二进制分类问题。

随机森林将数字和分类特征混合使用时效果很好。当要素具有各种比例时,也可以。粗略地说,借助随机森林,您可以按原样使用数据。SVM使“边距”最大化,因此依赖于不同点之间的“距离”概念。由您决定“距离”是否有意义。因此,必须对分类特征进行一次热编码。此外,强烈建议在预处理步骤中使用最小-最大或其他缩放比例。

如果您拥有具有个点和特征的数据,则SVM中的中间步骤是通过计算点积(计算复杂度)来构造 ×矩阵(考虑存储的存储需求)。因此,根据经验,SVM几乎无法扩展到10 ^ 5点以上。大量特征(具有有意义距离的均匀特征,图像像素将是一个完美的例子)通常不是问题。m n × n n 2nmn×nn2

对于分类问题,“随机森林”为您提供了属于类别的可能性。SVM为您提供了到边界的距离,如果需要概率,您仍然需要以某种方式将其转换为概率。

对于这些问题,在支持SVM的情况下,其性能通常优于随机森林。

SVM为您提供“支持向量”,即每个类中最接近类之间边界的点。他们可能自己感兴趣进行解释。


只是要补充:随机森林不能给您概率。如果您需要“真实”的概率,则需要决策树的概率实现,或者在以后校准拟合的随机森林模型。
Archie

5

通常,SVM模型在稀疏数据上的性能要优于树。例如,在文档分类中,您可能具有数千个甚至数万个特征,并且在任何给定的文档向量中,这些特征中只有一小部分的值可能大于零。它们之间可能还存在其他差异,但这就是我发现问题的原因。


3

这实际上取决于您要实现的目标,数据的外观等。SVM通常在线性相关性上会表现更好,否则,您需要非线性内核,内核的选择可能会改变结果。同样,SVM的解释性较差-例如,如果您想解释分类的原因-它将是不平凡的。决策树具有更好的可解释性,它们的工作速度更快,而且如果您具有类别/数字变量,则它的优点还在于:非线性依存关系处理得很好(给定N足够大)。一般而言,它们的训练速度比SVM快,但它们倾向于过度拟合...

我也会尝试Logistic回归-出色的可解释分类器)

总结一下-经验法则是尝试任何事情,然后比较能为您提供最佳结果/解释的内容。


1

为了补充已经指出的优点:

我们需要数百量词来解决现实世界分类问题?随机森林比随机森林更有可能获得更好的性能。

此外,算法的实现方式(由于理论原因)通常比(非线性)SVM快得多。实际上,与@Ianenok一样,SVM在超过10,000个数据点时往往无法使用。

但是,众所周知,SVM在某些特定的数据集(图像,微阵列数据...)上表现更好。

因此,再次确认交叉验证确实是了解哪种方法效果最好的最佳方法。

资料来源:随机森林与SVM


嗯?“随机森林比随机森林更有可能取得更好的性能。”
Sanjay Manohar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.