报告随机森林的训练错误有哪些措施?


15

我目前正在使用randomForestR中的程序包为分类问题拟合随机森林,并且不确定如何报告这些模型的训练错误

当我使用通过命令获得的预测来计算时,我的训练误差接近0%:

predict(model, data=X_train)

X_train训练数据在哪里。

在回答一个相关问题时,我读到一个人应该使用袋外(OOB)训练误差作为随机森林的训练误差度量。该数量是通过使用以下命令获得的预测计算得出的:

predict(model)

在这种情况下,OOB训练误差非常接近平均10-CV测试误差,即11%。

我想知道:

  1. 报告OOB训练错误作为随机森林的训练错误度量通常被接受吗?

  2. 传统的训练误差测量值人为地低是真的吗?

  3. 如果传统的训练误差度量是人为地降低的,那么我可以比较哪两个度量来检查RF是否过拟合?

Answers:


10

添加到@Soren H. Welling的答案中。

1.报告OOB训练误差作为随机森林的训练误差度量通常被接受吗?

不能。训练模型上的OOB错误与训练错误不同。但是,它可以用作预测准确性的度量。

2.训练误差的传统度量是人为地低吗?

如果我们使用默认设置来运行分类问题,那么这是正确的。在R中维护程序包的Andy Liaw论坛帖子中描述了确切的过程randomForest,如下所示:

在大多数情况下,训练集上的表现是没有意义的。(对于大多数算法来说就是这种情况,对于RF尤其如此。)在默认(推荐)设置中,树会增长到最大大小,这意味着在大多数终端节点中很可能只有一个数据点,并且终端节点的预测由节点中的多数类或孤立数据点确定。假设一直都是这种情况;也就是说,在所有树中,所有终端节点只有一个数据点。一个特定的数据点将在森林中约64%的树木中“袋装”,并且这些树木中的每一棵都对该数据点具有正确的预测。即使所有这些数据点都无法使用的树都做出了错误的预测,但根据所有树的多数票,最后您仍然会得到正确的答案。因此,基本上,“针对设计”是对RF火车的完美预测。

为了避免这种行为,可以设置nodesize > 1(这样一来树木就不会长到最大大小)和/或设置sampsize < 0.5N(这样一来,少于50%的树木很可能包含给定点X一世ÿ一世

3.如果传统的训练误差度量人为地降低了,那么我可以比较哪两个度量来检查RF是否过拟合?

如果我们使用nodesize = 1和来运行RF sampsize > 0.5,则RF 的训练误差将始终接近0。在这种情况下,判断模型是否过度拟合的唯一方法是将一些数据保留为独立的验证集。然后,我们可以将10 CV测试错误(或OOB测试错误)与独立验证集上的错误进行比较。如果10-CV测试误差远低于独立验证集的误差,则该模型可能过拟合。


2

[CEST编辑为21.7.15 8:31 AM]

我想您使用RF进行分类。因为在这种情况下,该算法将生成仅具有一个目标类别的纯终端节点的完全生长的树。

predict(model, data=X_train)

这行编码就像一条狗在追尾[〜66%]。任何训练样本的预测都是训练样本本身的类别。对于回归,如果节点中包含5个或更少的样本或节点是纯净的,则RF停止。此处的预测误差很小,但不会为0%。

在机器学习中,我们经常使用较大的假设空间。这意味着对于我们的训练集的数据结构,总会有许多尚未证伪的假设/解释/模型。在经典统计中,假设空间通常很小,因此直接模型拟合对于某些假设的概率理论而言是有益的。在机器学习中,直接缺乏拟合是否与模型的偏差有关。偏差是模型的“僵化性”。它不是无论如何提供近似的泛化能力(预测新事件的能力)。对于算法模型,由于没有制定任何理论,因此交叉验证是近似泛化能力的最佳工具。但是,如果独立采样的模型假设失败,那么即使以其他方式执行良好的交叉验证,该模型也可能毫无用处。最后,最有力的证明是要令人满意地预测许多不同来源的外部测试集。

返回简历:袋装简历通常是公认的简历类型。我个人认为,OOB-CV提供与5倍CV相似的结果,但这是非常小的麻烦。如果将RF与SVM进行比较,则OOB-CV没什么用,因为我们通常避免使用SVM。取而代之的是,SVM和RF都将嵌入完全相同的交叉验证方案中,例如10重复10重复,每个重复具有匹配的分区。通常也需要对任何要素工程步骤进行交叉验证。如果要保持清洁,可以将整个数据管道嵌入到CV中。

如果您使用测试集(或交叉验证)调整模型,则会再次扩大假设空间,并且经过验证的预测性能可能会过于乐观。相反,您将需要一个校准集(或校准CV回路)进行调整,并需要一个测试验证集(或验证CV回路)来评估最终的最佳模型。

在极端的意义上,只有当您从不对结果做出反应时,您的验证分数才会是公正的。这是验证的悖论,因为为什么我们要获得只有在您不采取行动的情况下才是真实的知识。在实践中,社区愿意接受一些出版偏见,与那些不幸地过分乐观地进行验证的研究人员相比,那些随机地进行过过度乐观验证的研究人员更有可能发表论文。因此有时为什么不能重现其他模型。


这次真是万分感谢。两个问题:(1)训练样本本身的类别如何预测训练样本?必须有不使用多数表决程序中使用的训练样本的树吗?(2)那么您如何评估RF度量是否过拟合?
Berk U.

(1)是的,我在那里有点快,我编辑了答案。约有66%的树木会将任何样品装袋。如果在训练过程中没有树中的样本,那么它将在预测过程中以大约66%的结果最终到达同一节点,这足以赢得每次投票的多数票。通过将样本量降低到火车样本的30%来确认这一点,并注意到分类误差从0%上升。(2)我想我回答了。RF本身并不会过度拟合,但是您可以在例如调整期间创建上下文,从而获得过分乐观的OOB-CV结果。将您的整个过程嵌入到新的简历中来确定。
索伦·哈弗隆德·威灵
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.