为什么我们对回归随机森林预测取平均值?

机器算法验证 回归 随机森林 集成学习
2022-03-17 16:03:54

在我读过的所有(回归)随机森林论文中,当需要收集所有树的预测时,我们将平均值作为预测。

我的问题是我们为什么要这样做?

取平均值是否有统计依据?

编辑:为了澄清这个问题,我知道可以使用其他聚合函数(我们使用该模式进行分类),我最感兴趣的是选择平均函数背后是否有一些理论依据。

4个回答

我一直在考虑偏差方差权衡的平均值。如果我没记错的话,Leo Breiman 在randomForest 论文中暗示了这一点,他的声明“......在噪声方面更加稳健”。

解释是这样的:基本上你是在采一堆长到全长的树——没有修剪——所以你知道它们每个都会有自己的偏见。然而,诱导森林中每棵树的随机抽样应该像诱导过度偏差一样频繁地诱导欠偏差。因此,通过取平均值,您可以消除每棵树的偏差 - 消除过度+不足的偏差。希望在此过程中您还可以减少每棵树的方差,因此也应该减少整体方差。

正如该帖子的其他答案所示,这可能不是平均的唯一原因。

使用平均值时,您在说两件事:

  1. 异常值不是一个大问题(否则您将使用中位数或至少在取平均值之前过滤掉一些异常值)
  2. 每个预测都有相同的权重(否则你会考虑权重)

您不应该期望存在巨大的异常值,因为您可以使样本量足够大,以使它们在平均值中不那么重要,并且因为您期望单个树的预测具有最低限度的稳定性。

没有理由认为某些树应该比其他树具有更多的预测权重,也没有确定此类权重的方法。

你不能真正使用模式,因为预测是连续的。例如,如果您有预测 80 80 100 101 99 98 97 102 103 104 96,则模式将预测为 80。这不是您想要的。如果所有值都有不同的小数,mode 将不知道如何决定。

存在算术平均值以外的其他平均值,例如几何平均值和调和平均值。如果数据系列中有一些低值,它们旨在拉低平均值。这也不是你想要的。

当然,您可以使用在您的特定情况下有用的任何聚合函数。中位数是使小样本对异常值具有鲁棒性的好方法。在回归森林中,您通常可以影响样本量以避免出现样本量小的问题。因此,平均值在很大一部分用例中似乎是合理的。

是不是也可以采用中位数、众数或其他一些聚合函数?

随机森林分类(不是概率估计)基于预测模式(多数投票),所以是的,您可以根据需要汇总结果。