袋装随机森林的含义?

机器算法验证 机器学习 数据挖掘 随机森林 装袋
2022-04-11 05:25:35

我正在阅读一篇论文,该论文说作者使用了“袋装随机森林”。我无法理解这一点,因为据我所知,随机森林本身就是一种装袋。所以随机森林是一袋树。但是一个袋装随机森林?!这是否意味着一袋随机森林,每个随机森林有 10 或 100 棵树?!

这是论文:http ://users.cs.fiu.edu/~lzhen001/activities/KDD_USB_key_2010/docs/p243.pdf

在此处输入图像描述

在此处输入图像描述

3个回答

作为作者的同事,我可以解决这个问题。

  • 要直接回答 OP,@rapaio 是正确的:最上面的引用意味着作者创建了 10 个单独的包,每个包都有一个由 10 棵树组成的随机森林——总共有 100 棵树。
  • 正如@rapaio 所提到的,没有明确的理由表明它的性能优于 100 个袋子或 100 个随机森林。Weka 的实现使得执行所有五个实验实验(单棵树、10 个袋子、100 个袋子、100 个随机森林、10 个随机森林的 10 个袋子)变得容易,作者认为结果很有趣,值得一提。这是否是针对其他数据集(例如 Kaggle 或 UCI)的普遍趋势,可能是一篇好的研究论文的基础。
  • @rapaio 没有提到它,但各种 oob 估计和最终性能指标之间也可能存在一些相互作用——AUC(不是准确性)。也许这只是在优化排名顺序而不一定是离散预测时观察到的趋势。

我敢冒昧地说它指的是常规随机森林,但作者想要区分 a) 用于每棵树的观察的装袋/引导和 b) 输入参数子集的随机选择。不过不确定。

我试图理解为什么装袋 10 个随机森林会比一个有 100 个发束的随机森林更好,但我认为没有合理的理由。我不排除可能存在一些 Weka 实现细节。

然而,要回答你的问题,我相信它是在谈论一个有 10 个袋子的装袋集合,每个袋子里有一个有 10 棵树的随机森林。

我没有证据,但我认为有一些元素为此提供了足够的证据:

  • 在第一段中,最后一句以“我们发现两者都没有 100..”开头,它谈到构建一个包含 100 棵树的 bagging 或一个包含 100 棵树的随机森林。现在 100 是 10 x 10,即 10 袋 xa 随机森林和 10 棵树。
  • 10 个袋装随机森林与前一点的含义相同(即使袋装随机森林并不常见)
  • 在 Weka 中很容易以这种方式组合一些分类器,因为它们可以链接在一起,因为它们实现了相同的接口(这是编程的东西,我是程序员,我确认 Weka 很明显旨在使此类实验尽可能简单)
  • 如果您将 10 个随机森林和 10 棵树组合成 bagging,而不是 100 个随机森林,则有一种方法可以减少总计算袋外错误。如果您有 10 个袋子,并且每个袋子中有一个带有 10 棵树的 rf,那么将为袋子中的 10 个引导样本的另一个实例计算 oob 误差。这 10 个 oob 样本集使用随机森林而不是普通随机树进行分类。当然,随机森林通常具有较小的可变性,因此 10 个袋子的 oob 错误可能低于使用树木预测的 100 个 oob 的平均 oob 错误。我不知道这是否是一个真正的改进,它可能是。从我的角度来看,它不是,它看起来像是在 oob 估计中引入了乐观偏差,但这只是我的直觉,由于我没有丰富的经验,我可能是错的。
  • 最后一个论点是个人直觉:我问自己为什么人们会白白地过度复杂化这些公式?我发现有理由相信他们这样做是有目的的,而“合理的理由”是他们只是使用了随机森林的装袋。