1. 简介

在本教程中,我们将展示决策树和随机森林之间的区别。

2. 决策树

决策树是一个树形模型,指导我们检查对象的特征以输出其离散或连续标签。例如,这里有一棵树,根据天气状况预测一天是否适合在户外玩耍:

内部节点告诉我们要检查哪些特征,叶子揭示树的预测。他们如何产生预测?每个叶子都包含训练数据集的子集。它的所有实例都通过从根到叶的路径上的所有检查。在预测新对象的结果时,我们为其分配训练数据的组合标签,这些标签以与实例相同的叶结尾。在分类问题中,它是关联子集的多数类。同样,它是回归中的平均值。

2.1. 决策树的过拟合和不稳定性

决策树有两个问题。首先,它们容易过度拟合数据。由于每个内部节点的准确性都会提高,因此训练将倾向于将树生长到最大,以提高性能指标。然而,这会降低树的泛化能力和对看不见的数据的有用性,因为它将开始对噪声进行建模。

我们可以事先限制树的深度,但仍然存在不稳定的问题。也就是说,即使是对训练数据的微小更改,例如排除几个实例,也可能导致完全不同的树。这给我们留下了一个问题,即信任哪棵树。

3. 随机森林 

随机森林解决了这两个问题。这个想法是使用森林中每棵树的不同训练数据和特征子集构建多个树。然后,我们通过输出多数票或平均值来汇总他们的预测。

其基本原理是,模型集合可能比单个树更准确。因此,即使一棵树过度拟合其子集,我们也希望森林中的其他树木能够补偿它。这就是为什么我们为每棵树使用不同的子集,以迫使它们从不同的角度解决问题。

3.1. 例子

假设我们有数据:

我们想预测一天是否适合在户外玩。下面是一个有三棵树的森林示例:

要对日期进行分类:

  

我们计算所有树的预测,并输出多数投票。第一棵和第三棵树预测“是”,而第二棵树预测“不是”。所以,总的预测是肯定的。

在结合个人预测时,最直接的方法是使用多数投票或平均值。然而,我们也可以用这些树的估计准确率来衡量预测,这样更精确的树就会有更大的影响力。

3.2. 训练多个决策树

虽然森林解决了决策树的两个问题,但有一个复杂性的问题。训练一个由m棵树组成的森林所花费的时间是构造一棵树的时间的m倍。然而,由于我们独立地拟合了所有的树,我们可以同时构建它们。这将加快训练过程,但需要适合并行计算的基础设施。

然而,建造森林不仅仅是花费更多时间的问题。除了树所需的超参数外,我们还必须考虑森林中树的数量m。因此,在交叉验证期间要检查的超参数组合的数量会增加。

3.3. 可解释性问题

虽然森林似乎比树更准确的模型,但后者具有至关重要的优势。一棵树是可解释的,而森林不是。人类可以可视化和理解一棵树,无论他们是机器学习专家还是外行人。森林的情况并非如此。它们包含很多树,因此解释它们如何输出聚合预测是非常困难的,如果不是不可能的话。

随着对可解释性的需求越来越强烈,不太准确但可理解的模型(如决策树)仍将存在于实际应用中。此外,它们有时是唯一的选择,因为法规禁止最终用户无法理解其决策的模型。

4. 结论

在本文中,我们讨论了决策树和随机森林之间的区别。决策树容易过度拟合。此外,即使训练数据经过可忽略不计的修改,其结构也会发生重大变化。随机林包含多个树,因此即使一个树过度拟合数据,其他树也可能不是这种情况。因此,我们期望融合比单个树更准确,因此更有可能产生正确的预测。然而,森林失去了一棵树的可解释性。

推荐文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。