为什么随机森林是对决策树的改进?

数据挖掘 随机森林 决策树
2022-03-07 22:03:59

假设我们有一个二元分类问题,我们在数据集上构建了一个决策树。

假设我们有 5 个特征,那么决策树在第一步中会选择 5 个特征中的最佳特征,并在这个特征上选择最佳阈值以便分割数据集,然后继续使树更深等。 的定义best是最低的分类错误。

我的问题是:既然决策树在每一步都选择了最好的特征进行分割,并选择了最好的阈值进行分割,那么为什么随机森林(即许多决策树)是对决策树的改进?决策树不应该就足够了吗?

更新

我的意思是:如果你有一个decision tree classifier, 和 arandom forest classifier具有相同的参数,如果可能的话, (max_depthnumber of children),decision tree classifiertraining set, 和random forest classifier?

3个回答

当你扩展时,它归结为过度拟合。决策树随着深度的增长往往会过度拟合。每次拆分后,下一次拆分使用的样本将越来越少。更少的样本意味着噪声分裂的风险增加。

随机森林通过添加更多树而不是构建一棵大树来进行缩放,从而避免了决策树的过度拟合问题。对森林中树木的输出进行平均意味着单个树木是否过度拟合并不重要。

关于你的更新。不,他们的得分不会一样。随机森林不会只有一棵决策树。它有几个特征,并将特征划分为每个要训练的树的随机子集。因此,即使随机森林中决策树的大小与单个决策树相同,它们所训练的特征也不会相同。

但是如果你问如果我们采用随机森林会发生什么,只使用一棵树并在与相同大小的单个决策树相同的特征上训练它,那么是的,它们将是一回事。

这是一个有趣的问题,因为随机森林比决策树工作得更好的原因有很多。我将比较每个分类器/回归器在以下每种情况下的工作方式

  1. 所以,正如你所说,我们有一个包含 5 个特征的数据集。让我们考虑一下我们的决策树分类器过度拟合了该数据。由于模型过拟合,数据的任何微小变化都会导致分类的巨大变化(方差问题)。但是在 RF 中,由于我们在随机森林中使用多个决策树,因此数据的任何微小变化都不会导致分类发生巨大变化,因为我们会以所有决策树的多数票进行决策。因此减少了过度拟合(方差)问题。
  2. 如果您注意到,我们不会在随机森林中一次输入整个数据集。我们在每个数据馈送步骤中执行行采样和替换列采样而不进行替换,因此您的模型将能够比决策树更好地概括。
  3. 随机森林由深度较大的决策树组成,在开始时具有很大的方差,而在学习结束时方差减小。但是你对决策树进行超参数调整,你不固定它们的深度(即你不说它们是浅的还是深的)。

希望这可以帮助!

由于随机森林中的决策树是在不同的训练数据子集上训练的,因此两种算法的得分都不相同

这背后的想法是群体的智慧,即对连续数字的单个预测通常比对同一数字的多个预测的平均值/中位数更差。