为什么决策树具有低偏差和高方差?

机器算法验证 机器学习 方差 协方差 大车 偏见
2022-01-24 15:00:23

问题

  1. 这取决于树是浅的还是深的?或者我们可以这样说而不考虑树的深度/级别?
  2. 为什么偏差低而方差高?请用直观和数学的方式解释
4个回答

聚会有点晚了,但我觉得这个问题可以用具体的例子来回答。

我会写这篇优秀文章的总结: bias-variance-trade-off,它帮助我理解了这个话题。

任何机器学习算法的预测误差都可以分解为三个部分:

  • 偏差误差
  • 方差误差
  • 不可约误差

不可减少的错误

顾名思义,是一个我们无法纠正的错误组件,无论算法及其参数选择如何。不可减少的错误是由于训练集中根本没有捕捉到的复杂性造成的。这可能是我们在学习集中没有的属性,但无论如何它们都会影响到结果的映射。

偏差误差

偏差误差是由于我们对目标函数的假设造成的。我们对目标函数做出的假设(限制)越多,我们引入的偏差就越多。具有高偏差的模型不太灵活,因为我们对目标函数施加了更多规则。

方差错误

方差误差是目标函数形式相对于不同训练集的可变性。如果您替换训练集中的几个样本,具有较小方差误差的模型不会有太大变化。即使训练集发生很小的变化,具有高方差的模型也可能会受到影响。

考虑简单的线性回归:

Y=b0+b1x

显然,这是对目标函数的相当严格的定义,因此该模型具有很高的偏差。

另一方面,如果您更改几个数据样本,由于方差较小,这不太可能导致目标函数执行的整体映射发生重大变化。另一方面,诸如k近邻算法具有高方差和低偏差。很容易想象不同的样本会如何影响 KNN 决策面。

通常,参数算法具有高偏差和低方差,反之亦然。

机器学习的挑战之一是找到偏差误差和方差误差的正确平衡。

决策树

现在我们已经有了这些定义,也很容易看出决策树是具有低偏差和高方差的模型的示例。这棵树几乎不对目标函数做出任何假设,但它很容易受到数据变化的影响。

有集成算法,例如自举聚合和随机森林,旨在以较小的决策树偏差成本来减少方差。

如果层数太高,即复杂的决策树,模型往往会过拟合。

直观上,可以这样理解。当在到达结果之前要经过的决策节点太多时,即在到达叶节点之前要遍历的节点数很高时,您要检查的条件会变成乘法。即,计算变为 (condition 1)&&(condition 2)&&(condition 3)&&(condition 4)&&(condition5)

只有满足所有条件,才能做出决定。如您所见,这对于训练集非常有效,因为您不断缩小数据范围。树变得高度适应训练集中存在的数据。

但是当一个新的数据点被馈入时,即使其中一个参数稍有偏差,也不会满足条件,会走错分支。

  1. 复杂的决策树(例如深度)具有低偏差和高方差。偏差-方差权衡确实取决于树的深度。

  2. 决策树对它的分裂位置和分裂方式很敏感。因此,即使输入变量值的微小变化也可能导致非常不同的树结构。

为什么决策树具有低偏差和高方差?这取决于树是浅的还是深的?或者我们可以这样说而不考虑树的深度/级别?为什么偏差低而方差高?请直观和数学地解释。

偏差与方差

更多偏差 = 模型更简单的误差(不能很好地拟合数据)

更多方差 = 来自更复杂模型的误差(与数据拟合得非常好,并且除了数据中的固有模式外还学习了噪声)

一切都是相对的

我想首先说一切都是相对的。决策树通常具有低偏差和高方差,比如说随机森林。类似地,与具有较高深度的同一棵树相比,较浅的树将具有更高的偏差和更低的方差。

比较决策树和随机森林的方差

现在解决了这个问题,让我们想想为什么决策树的方差(更高的方差和更低的偏差)比随机森林更差。决策树算法的工作方式是,当我们在树中向下移动时,数据会一次又一次地被拆分,因此实际预测将由越来越少的数据点进行。与此相比,随机森林聚合了多棵树的决策,而且通过随机化,相关性较低的树也可以更好地泛化(=> 在不同数据集上执行更可靠= 方差更低)。同样,我们正在对随机森林做出更简化的假设,以仅参考数据和特征的子集来拟合一棵树,因此偏差更高。顺便说一句,类似的,