随机森林过度拟合吗?


24

我一直在阅读有关随机森林的文章,但是我真的找不到关于过度拟合问题的明确答案。根据Breiman的原始论文,当增加森林中的树木数量时,它们不应过拟合,但似乎对此尚未达成共识。这使我对此问题颇为困惑。

也许比我更专业的人可以给我一个更具体的答案,或者为我指明正确的方向,以便更好地理解问题。


3
所有算法都会在某种程度上过拟合。这并不是要选择不会过拟合的东西,而是要仔细考虑过拟合的数量和要解决的问题的形式,以最大限度地提高相关性。
印度2014年

1
ISTR认为Breiman拥有基于大数定律的证明。有人发现那个证明有缺陷吗?
JenSCDC 2014年

@AndyBlankertz ISTR = internetslang.com/ISTR-意思-definition.asp 吗?
Hack-R

Answers:


22

每个具有高复杂度的ML算法都可能过拟合。但是,OP正在询问增加森林中树木的数量时RF是否不会过拟合。

通常,集成方法将预测方差减少到几乎没有,从而提高了集成的准确性。如果我们将单个随机模型的预期泛化误差的方差定义为:

这里开始,集合的预期泛化误差的方差对应于:

其中p(x),根据来自两个独立种子的相同数据训练的两个随机模型的预测之间的皮尔森相关系数是。如果我们增加RF中DT的数量M,则当时,整体方差减小ρ(x)<1。因此,集成的方差严格小于单个模型的方差。

简而言之,增加整体中单个随机模型的数量永远不会增加泛化误差。


1
这绝对是莱奥·布雷曼(Leo Breiman)和该理论所说的,但是从经验上看,他们似乎确实过拟合了。例如,我目前有一个模型,其CV MSE为0.02的10倍,但与实际情况相比,CV MSE为0.4。OTOH如果减少树的深度和树数,则模型性能会大大提高。
Hack-R

4
如果您减小树的深度,则是另一种情况,因为您要添加正则化,这将减少过度拟合。当增加树的数量时,尝试绘制MSE,同时保持其余参数不变。因此,您在y轴上有MSE,在x轴上有num_tress。您将看到,添加更多树时,错误迅速减少,然后达到稳定;但它永远不会增加。
tashuhka '16

9

您可能需要检查交叉验证的站点-stachexchange网站上的许多内容,包括机器学习。

特别是,这个问题(标题完全相同)已经被回答了多次。检查以下链接:https : //stats.stackexchange.com/search?q=random+forest+overfit

但是,我可能会给您一个简短的答案:是的,它确实过拟合,有时您需要控制森林中树木的复杂性,或者当树木生长过多时甚至要修剪-但这取决于您使用的库建立森林。例如在randomForestR中,您只能控制复杂性


3
  1. 随机森林确实过拟合。
  2. 当将更多树添加到模型时,随机森林不会增加泛化误差。随着使用更多的树,泛化方差将变为零。

我做了一个非常简单的实验。我已经生成了综合数据:

y = 10 * x + noise

我训练了两个随机森林模型:

  • 一棵大树
  • 一棵修剪过的树木

具有完整树的模型比具有修剪树的模型具有较低的训练误差,但具有较高的测试误差。两种模型的响应:

回应

有明显的过度拟合的证据。然后,我获取了过度拟合模型的超参数,并在每个步骤1的树中添加时检查了错误。我得到以下情节:

种树

如您所见,添加更多树时,过拟合错误不会改变,但模型已过拟合。这是我所做的实验的链接


1

结构化数据集->错误的OOB错误

在我的工作实践中,我发现了射频过度拟合的有趣案例。结构化数据时,RF过度拟合于OOB观测值。

详细说明:

我尝试预测每个小时的电现货市场上的电价(数据集的每一行都包含该小时的价格和系统参数(负载,容量等)。
电价是分批创建的(24个电价在一时刻固定在电力市场上)。
因此,每棵树的OOB obs是小时集合的随机子集,但是如果您预测接下来的24小时,则一次完成所有操作(在第一时间,您获得所有系统参数,然后预测24个价格,那么有一个固定值会产生这些价格),因此更容易进行OOB预测,然后进行第二天的预测。OOB obs不包含在24小时数据块中,而是均匀分散,因为存在预测误差的自相关,因此更容易预测单个小时的价格,而该价格会丢失整个时间段的价格。

在错误自相关的情况下更容易预测:
已知,已知,预测,已知,预测 -OBB情况
较难在一种情况下:
已知,已知,已知,预测,预测 -真实世界的预测情况

我希望它有趣

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.