随机森林是否表现出预测偏差?

机器算法验证 算法 随机森林 大车
2022-03-11 09:53:53

我认为这是一个直截了当的问题,尽管为什么或为什么不背后的原因可能不是。我问的原因是我最近编写了自己的 RF 实现,虽然它表现良好,但表现不如我预期的那么好(基于Kaggle 照片质量预测竞赛数据集、获胜分数和一些有关使用了哪些技术的后续信息)。

在这种情况下,我做的第一件事是为我的模型绘制预测误差,因此对于每个给定的预测值,我确定偏离正确目标值的平均偏差(或偏差)。对于我的射频,我得到了这个情节:

预测值与正确目标值的偏差

我想知道这是否是 RF 普遍观察到的偏差模式(如果不是,那么它可能是特定于数据集和/或我的实现的东西)。我当然可以使用此图来通过补偿偏差来改进预测,但我想知道 RF 模型本身是否存在更基本的错误或缺陷需要解决。谢谢你。

== 附录 ==

我的初步调查是在这个博客条目随机森林偏差 - 更新

2个回答

(我远非专家。这些只是来自处理不同但松散相似的问题的初级统计学家的沉思。我的回答可能断章取义。)

给定一个要预测的新样本,以及一个可以访问更大训练集的预言机,那么“最好”和最诚实的预测可能是说“我以 60% 的概率预测它属于红色类而不是蓝色班”。

我将举一个更具体的例子。想象一下,在我们非常大的训练集中,有一大组样本与我们的新样本非常相似。其中,60% 为蓝色,40% 为红色。似乎没有什么可以区分蓝军和红军。在这种情况下,很明显 60%/40% 是理智的人可以做出的唯一预测。

当然,我们没有这样的神谕,而是有很多树。简单的决策树无法做出这些 60%/40% 的预测,因此每棵树都会做出离散的预测(红色或蓝色,中间没有)。由于这个新样本正好落在决策表面的红色一侧,您会发现几乎所有的树都预测红色而不是蓝色。每棵树都假装比它自己更确定,它开始朝着有偏见的预测迈进。

问题是我们往往会误解一棵树的决定。当一棵树将一个节点放入 Red 类时,我们不应其解释为来自树的 100%/0% 预测。(我不只是说我们“知道”这可能是一个糟糕的预测。我说的是更强有力的东西,即我们应该小心我们将其解释为树的预测)。我无法简洁地扩展如何解决这个问题。但是可以从统计领域借用关于如何在树中构建更多“模糊”分裂的想法,以鼓励一棵树对其不确定性更加诚实。然后,应该可以有意义地平均来自树木森林的预测。

希望这会有帮助。如果没有,我希望从任何回应中学习。

是的。大多数树的尾部都有偏差。看:

预测连续变量时应该如何实现决策树拆分?

“树的一个潜在问题是它们往往不太适合尾部。想想一个捕获训练集低范围的终端节点。它将使用那些训练集点的平均值进行预测,这总是会低估结果(因为它是平均值)。”