Answers:
派对晚了一点,但我觉得这个问题可以用具体例子来回答。
我将撰写这篇出色文章的摘要:偏差-方差-折衷,这有助于我理解该主题。
任何机器学习算法的预测误差都可以分为三部分:
不可减少的误差
顾名思义,它是我们无法纠正的错误组件,无论算法和参数选择如何。不可减少的错误是由于复杂性所致,而这些复杂性根本无法在训练集中捕获。这可能是我们在学习集中没有的属性,但是无论如何,它们都会影响到结果的映射。
偏差误差
偏差误差是由于我们对目标函数的假设所致。我们对目标函数的假设(限制)越多,引入的偏差就越大。具有较高偏差的模型灵活性较差,因为我们对目标函数施加了更多规则。
方差误差
方差误差是目标函数形式相对于不同训练集的可变性。如果替换训练集中的几个样本,则方差误差小的模型不会有太大变化。即使训练集的更改很小,方差高的模型也可能会受到影响。
考虑简单的线性回归:
Y=b0+b1x
显然,这是对目标函数的相当严格的定义,因此该模型具有很高的偏差。
另一方面,由于如果您更改几个数据样本的方差很小,则不太可能在目标函数执行的总体映射中引起重大变化。另一方面,诸如k最近邻的算法具有高方差和低偏差。可以轻松想象不同的样本如何影响KNN决策面。
通常,参数算法具有高偏差和低方差,反之亦然。
机器学习的挑战之一是找到偏差和方差之间的正确平衡。
决策树
现在我们已经有了这些定义,也很容易看到决策树是具有低偏差和高方差的模型的示例。该树几乎没有关于目标函数的假设,但极易受到数据差异的影响。
有诸如自举聚合和随机森林之类的整体算法,其目的在于以较小的决策树偏差为代价来减少方差。
如果级别数太多,即复杂的决策树,则该模型趋于过拟合。
直观上,可以这样理解。当到达结果之前要经过的决策节点太多,即到达叶节点之前要遍历的节点数很高时,要检查的条件将成倍增加。即,计算变为 (条件1)&&(条件2)&&(条件3)&&(条件4)&&(条件5)。
只有满足所有条件,才可以做出决定。如您所见,这对于训练集非常有用,因为您正在不断缩小数据范围。该树变得高度适合于训练集中的数据。
但是,当馈入新的数据点时,即使其中一个参数略有偏离,该条件也不会得到满足,并且将采用错误的分支。
为什么决策树具有低偏差和高方差?它取决于树是浅还是深?还是可以说这与树的深度/水平无关?为什么偏见低而方差高?请直观,数学地解释。
偏差vs方差
更多偏见=来自模型的错误更简单(无法很好地拟合数据)
更多方差=来自模型的错误变得更加复杂(数据拟合得很好,并且除了数据的固有模式外还学习了噪声)
一切都是相对的
首先,我想说一切都是相对的。决策树通常具有低偏差和高方差,可以说是随机森林。同样,较浅的树与具有较高深度的同一棵树相比,具有较高的偏差和较低的方差。
比较决策树和随机森林的方差
现在解决了这个问题,让我们考虑为什么决策树的方差(比如说更高的方差和更低的偏差)要比随机森林差。决策树算法的工作方式是,随着我们在树中的下落,数据一次又一次地拆分,因此实际的预测将由越来越少的数据点进行。与此相比,随机森林将多棵树的决策聚合在一起,并且通过随机化也将相关性较低的树聚合在一起,因此该模型的泛化效果更好(=>在不同数据集上的表现更可靠=方差较小)。同样,我们对随机森林进行了更为简化的假设,以仅查询数据和特征的子集以适合单个树,因此存在更高的偏差。顺便说一句,相似点,