为什么我的随机森林结果如此多变?

机器算法验证 机器学习 随机森林
2022-03-02 13:49:18

我正在尝试测试随机森林对两组样本进行分类的能力;有 54 个样本和不同数量的变量用于分类。

我想知道为什么即使我使用 50k 棵树,袋外 (OOB) 估计值也会相差 5%?这是引导可以帮助的吗?

1个回答

OOB 方差有两个来源。一是程序本身的随机性;这可以通过增加树的数量来减少。

方差的另一个来源是数据有限和生活在复杂世界中的不可减少的缺陷。增加树的数量不能解决这个问题。

此外,有时没有足够的数据来解决问题。例如,假设两个实例具有相反的标签但具有相同的特征值。这些样本之一将始终被错误分类。(这是一个极端的例子,但说明了一些问题是如何无法解决的。我们可以通过考虑对一个向量的微小扰动来稍微放松一下;现在它通常会被归类为与其孪生向量相同,但并非总是如此。)解决这个问题,您必须收集额外的测量值以进一步区分这两点。

不过,增加树的数量可以减少对之类的估计的方差考虑中心极限定理的结果:增加样本量可以减少统计量的方差,如平均值,但不能消除它。随机森林预测是所有树预测的平均,这些预测本身就是随机变量(因为特征的自举和随机子集;两者都是独立发生的,所以投票也是 iid)。CLT 规定接近正态分布,其中是真实的平均预测和p(y=1|x)x¯x¯x¯N(μ,σ2n)μσ2是树投票的方差。(投票取值为 0 或 1,因此投票的平均值具有有限方差。)关键是树的数量加倍会将的方差减半,但不会将其推向零。x¯(除了时,但我们知道这里不是这种情况。)σ2=0

无法通过自举来解决不可约方差。此外,随机森林已经被引导;这是其名称中包含“随机”的部分原因。(另一个原因是在每次拆分时都会选择随机的特征子集。)