随机森林中的袋外误差是什么?

随机森林中的袋外误差是什么?它是找到随机森林中树木数量的正确参数的最佳选择吗?


回答:

我将尝试解释一下:

假设我们的训练数据集表示为T,并且假设数据集有M个特征(或属性或变量)。

T = {(X1,y1), (X2,y2), ... (Xn, yn)}

并且

Xi 是输入向量 {xi1, xi2, ... xiM}yi 是标签(或输出或类别)。 

RF的总结:

随机森林算法是一种基于主要两种方法的分类器 –

  • 装袋法
  • 随机子空间方法。

假设我们决定在我们的森林中有S棵树,那么我们首先从T中的数据随机重抽样(每次数据集重抽样n次)创建S个数据集,这些数据集的“大小与原始数据集相同”。这将产生{T1, T2, ... TS}数据集。这些每一个都被称为自助数据集。由于“有放回抽样”,每个数据集Ti可能包含重复的数据记录,并且Ti可能缺少原始数据集中的几个数据记录。这被称为自助法。(en.wikipedia.org/wiki/Bootstrapping_(statistics))

装袋法是获取自助样本并随后聚合在每个自助样本上学习到的模型的过程。

现在,RF创建S棵树,并使用M个可能特征中的m (=sqrt(M) 或 =floor(lnM+1))个随机子特征来创建任何一棵树。这被称为随机子空间方法。

因此,对于每个Ti自助数据集,你创建一棵树Ki。如果你想对一些输入数据D = {x1, x2, ..., xM}进行分类,你让它通过每棵树并产生S个输出(每棵树一个),这些可以表示为Y = {y1, y2, ..., ys}。最终预测是对这个集合的多数投票。

袋外误差:

在创建分类器(S棵树)后,对于原始训练集T中的每个(Xi,yi),选择所有不包括(Xi,yi)Tk。请注意,这个子集是一组不包含原始数据集中特定记录的自助数据集。这个集合被称为袋外样本。原始数据集T中的每个数据记录都有一个这样的子集,总共有n个。袋外分类器是对仅在不包含(xi,yi)Tk上进行投票的聚合。

袋外估计的泛化误差是袋外分类器在训练集上的错误率(与已知的yi进行比较)。

为什么它重要?

Breiman [1996b]中对装袋分类器的错误估计的研究,提供了实证证据,显示袋外估计与使用与训练集相同大小的测试集一样准确。因此,使用袋外误差估计消除了保留测试集的需要。1

(感谢@Rudolf的更正。他的评论如下。)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注