决策树的弱点是什么?


34

决策树似乎是一种非常容易理解的机器学习方法。一旦创建,就可以很容易地被人检查,这在某些应用程序中是一个很大的优势。

决策树的实际弱点是什么?

Answers:


37

这是我能想到的几个:

  • 它们对数据中的细微扰动可能极其敏感:轻微的更改可能会导致树大不相同。
  • 他们很容易过拟合。可以通过验证方法和修剪来消除这种情况,但这是灰色区域。
  • 他们可能会遇到样本外预测方面的问题(这与他们不平稳有关)。

其中一些与多重共线性问题有关:当两个变量都解释同一件事时,决策树将贪婪地选择最佳变量,而许多其他方法将同时使用它们。诸如随机森林之类的集成方法可以在一定程度上抵消这一点,但是您会失去理解的便利。

但是,至少从我的角度来看,最大的问题是缺乏原则性的概率框架。许多其他方法具有置信区间,后验分布等,这使我们对模型的好坏有所了解。决策树最终是一种临时的启发式方法,它仍然非常有用(它们非常适合在数据处理中查找错误的来源),但是存在人们将输出视为“正确的”模型的危险(来自我的经验,这在营销中经常发生)。


2
从ML的角度来看,可以以与任何其他分类器(例如CV)相同的方式测试树。它仍然表明发生了严重的过度拟合;-) RF逃脱了多重共线性不是因为它是整体的,而是因为它的树不是最优的。

2
有关决策树的概率框架,请参阅DTREE(URL:datamining.monash.edu.au/software/dtree/index.shtml),该论文基于“ Wallace CS&Patrick JD,“编码决策树”,机器学习”一文。 ,1993年11月,第7-22页。
emakalic 2010年

2
另外,使用引导程序能否获得CI(用于预测)?
Tal Galili 2010年

@Simon Byrne,关于您的评论,我有一个问题:“但是,至少从我的角度来看,最大的问题是缺乏原则性的概率框架”。原谅我的无知,但请您指出一些实用的原则性概率框架(特别是在分类的背景下)。我对决策树的这种限制非常感兴趣。
Amelio Vazquez-Reina

2
@AmV,一个例子就是逻辑回归:我们可以利用每个观测值都来自二项式的事实来获得置信度/可信区间并检查模型的假设。
西蒙·伯恩

23

一个缺点是假定所有术语都相互作用。也就是说,您不能有两个独立运行的解释变量。树中的每个变量都必须与树上的每个变量进行交互。如果存在没有交互或交互作用弱的变量,则效率极低。


我想知道这是否是一个实际的限制-对于仅对分类产生微弱影响的变量,我的直觉是Tree不太可能在该变量上分裂(即,它不会成为节点),这又意味着就决策树分类而言,它是不可见的。
doug 2010年

我说的是弱互动,而不是对分类的弱影响。相互作用是两个预测​​变量之间的关系。
罗伯·海恩德曼

2
这可能效率不高,但是树结构可以处理它。

这就是为什么我说效率低下,而不是偏见或不正确。如果您有大量数据,那就没关系了。但是,如果将一棵树适合数百个观测值,则比假定的交互作用会大大降低预测精度。
罗伯·海恩德曼

2
同意; 我只是想强调一下。我仍然认为,通过适当的培训可以消除预测准确性的降低;在系统发育学中,类似的问题(贪婪性)通过蒙特卡洛扫描可能的树空间以找到最大似然来减少-我不知道统计数据中是否有类似的方法,可能没有人对此问题感到困扰程度。

12

我的回答是针对CART(C 4.5 / C 5实现)的,尽管我认为不限于此。我的猜测是,这就是OP的想法-通常是某人说“决策树”时的意思。

决策树的局限性


效能低下

“性能”不是指分辨率,而是执行速度。它之所以很差,是因为每次您希望更新CART​​模型时都需要“重绘树”-由已经训练过的树分类的数据,然后您想要添加到树中(即,用作树训练数据点)要求您从头开始-不能增量添加训练实例,对于大多数其他受监督的学习算法而言,它们不能这样做。也许最好的说法是,决策树不能在线模式下训练,而只能在批处理模式下训练。显然,如果不更新分类器,您将不会注意到此限制,但是我希望您看到分辨率下降。

这很重要,因为例如对于多层感知器,一旦进行了训练,便可以开始对数据进行分类。该数据还可以用于“调整”已经训练的分类器,尽管使用决策树,您需要使用整个数据集(训练中使用的原始数据以及任何新实例)进行重新训练。


变量之间具有复杂关系的数据的分辨率差

决策树通过逐步评估未知类的数据点(一次为一个节点,从根节点开始到终端节点结束)进行分类。而且在每个节点上,只有两种可能(左右),因此决策树无法学习某些可变关系。


实际上仅限于分类

训练决策树的最佳方法是训练它们为一个类分配数据点-最好是少数几个可能的类之一。我不认为我曾经在回归模式下使用决策树取得过任何成功(例如,连续输出,例如价格或预期的终身收入)。这不是形式上或固有的限制,而是实际的限制。大多数时候,决策树用于预测因素或离散结果。


具有持续期望变量的分辨率差

同样,原则上,可以使用自变量,例如“下载时间”或“自上次在线购买以来的天数”,只需将拆分标准更改为方差(离散变量通常为信息熵或基尼杂质),但在我在这些情况下,决策树很少能很好地工作。诸如“学生年龄”之类的情况看起来是连续的,但是在例外情况下,值的范围很小(特别是如果它们以整数形式报告的话),情况例外。


1
+1是指在表现角度上的好要求,通常不会发挥足够的作用。我已经看到,至少与其他数据挖掘方法相比,决策树在为大型数据集(例如SQL Server)设计的几个软件平台上遇到了性能问题。除了您提出的整个再培训问题之外。在发生过度拟合的情况下,这种情况似乎会恶化(尽管可以说很多其他挖掘算法)。
SQLServerSteve

10

这里有很好的答案,但令我惊讶的是没有强调一件事。CART不对数据做出任何分布假设,尤其是响应变量。相反,例如,OLS回归(对于连续响应变量)和逻辑回归(对于某些分类响应变量)确实有很强的假设;具体来说,OLS回归假定响应是有条件的正态分布,而逻辑运算则假定响应是二项式或多项式。

CART缺乏这样的假设是一把双刃剑。当这些假设不成立时,这将使该方法具有相对优势。另一方面,当这些假设成立时,可以通过考虑这些事实从数据中提取更多信息。也就是说,当假设为真时,标准回归方法比CART更具参考价值。

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.