在随机森林算法中,使用 p (+1,其中 n = 特征数)随机选择的特征。来自测试数据的任何样本的标签都是由这些决策树的结果根据投票数来选择的。但是这些决策树导致不同的准确性(非常明显)。我的问题是,为什么我们应该对所有决策树给予相同的优先级?如果决策树在预测测试样本的标签方面具有更高的准确度,我们不应该比那些预测准确度较低的决策树更优先吗?
在随机森林中,是否所有决策树都具有相同的优先级?
正如您所提到的,每个决策树都在 p 上进行训练(有时是 sqrt(p) 随机特征)。这确保了每棵树都以不同的方式“生长”(训练),以便模型 1. 不会过度拟合训练数据(减少方差)和 2. 更好地泛化到新数据(减少偏差)。因此,我们不会对树木进行不同的加权,因为这类似于让所有树木都在相同的特征上进行训练。
但是,您可以将投票阈值从标准的 50% 更改为您想要的任何值(例如 40%、70%、90%),这将改变模型的精度和召回准确度。
编辑:更改投票阈值意味着更改进行分类所需的树数。例如,在二元分类中,大多数标准随机森林需要 50% 或更多的树来投票给该类以“获胜”(预测为该类)。但是如果你改变这个阈值,比如 70%,那么 70% 或更多的树需要投票给同一个班级才能获胜。
关键是我们不能使用测试数据来选择最佳模型或为我们的模型集赋予权重,因为必须使用测试数据来对我们的机器学习算法进行 finsl 评估。因此,我们有两个新策略:
1- 保留单独的验证数据并选择最佳模型,或者根据它们在验证数据上的表现给我们的模型集赋予权重。这不是最好的操作,因为我们的训练数据集通常不包括整个数据空间,所以当我们看到远离训练集的新测试数据时,我们的模型会失败。因此,我们的模型缺乏泛化性,并且对验证数据过度拟合,并且在预期损失方面具有很大的差异。
2- 训练多个模型(树)并对它们的结果进行平均,这称为装袋。这有效地降低了模型的方差。在包含随机选择特征的随机森林的情况下,方差会进一步降低。这种技术导致更好的模型泛化(测试数据的性能)。
长话短说,如果我们根据其在验证数据上的性能选择最佳模型,我们将面临验证数据过度拟合的风险。为了防止这个问题,我们应该训练多个模型,因为我们对测试数据的分布一无所知,所以我们应该给这些模型同等的权重(优先级),同时对它们进行平均。