在随机森林算法中,使用随机选择的特征( $log_2 n$ +1,其中n=数的特征数)生成m(例如)决策树数。从测试数据中选择任何样本的标签是根据这些决策树的投票数来选择的。但这些决策树的准确性不同(相当明显)。我的问题是,为什么我们要对所有的决策树给予同样的优先权?如果一个决策树在预测测试样本的标签时具有较高的准确性,那么我们是否应该给予它比那些预测精度较低的更高的优先级呢?
发布于 2018-05-30 06:07:34
正如您所提到的,每个决策树都是关于p(有时是sqrt(p)随机特征)的。这确保了每棵树的“生长”(训练)是不同的,因此模型1。不超过训练数据(减少方差)和2。更好地推广到新的数据(减少偏见)。因此,我们不会对树木进行不同的称重,因为这类似于让所有的树都按照相同的特征进行训练。
但是,您可以将投票阈值从标准的50%更改为您想要的任何东西(例如40%、70%、90%),这将改变模型的精确性和召回准确性。
编辑:更改投票阈值意味着改变进行分类所需的树数。例如,在二进制分类中,大多数标准随机森林需要50%或更多的树才能为该类投票以“获胜”(可以预测为该类)。但是如果你改变了这个门槛,比如说70%,那么70%或更多的树木需要投票给同一个阶级才能获胜。
发布于 2018-05-30 13:33:49
问题是我们不能用测试数据来选择最优的模型或给模型集赋予权重,因为测试数据必须用于机器学习算法的最终评估。因此,我们有两个战略:
1-保留单独的验证数据,并根据模型在验证数据上的性能选择最佳模型或赋予模型权重。这不是最好的操作,因为我们的训练数据集通常不包括整个数据空间,所以当我们看到远离训练集的新的测试数据时,我们的模型就失败了。因此,我们的模型缺乏泛化性,对验证数据过于适应,在期望损失方面具有很高的方差。
2-训练多个模型(树),并平均它们的结果,这被称为套袋。这有效地降低了模型的方差。在随机森林包含随机特征选择的情况下,进一步减小了方差。这种技术可以提高模型的泛化能力(测试数据的性能)。
长话短说,如果根据验证数据的性能选择最优的模型,就有可能对验证数据进行过度拟合。为了防止这一问题,我们应该训练多个模型,并且由于我们对测试数据的分布一无所知,所以我们应该在对这些模型进行平均的同时,给予它们同等的优先权。
https://datascience.stackexchange.com/questions/32355
复制相似问题