随机森林中的袋外误差是什么?它是找到随机森林中树木数量的正确参数的最佳选择吗?
回答:
我将尝试解释一下:
假设我们的训练数据集表示为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的更正。他的评论如下。)