了解随机森林中的max_feature

问题描述

训练森林时我遇到了一个问题。我使用5倍交叉验证和rmse作为准则来找出模型的最佳参数。我最终发现,当max_feature = 1时,我得到最小的均方根值。这对我来说很奇怪,因为max_feature是每次拆分时考虑的功能。通常,如果我想找到“最佳”参数以使分裂中的杂质最少,则树最多应考虑所有特征,并找到分裂后杂质最少的一个结果。但是,就交叉验证而言,我将max_feature = 1设为最低有效值。是否由于考虑了更多功能而导致树的通用性降低?谢谢

解决方法

因此,随机森林的想法是,单个决策树具有较大的方差,但偏差较低(过拟合)。然后,我们创建不同的树以减少这种差异

X_i为森林中的树木。假设每棵树的i.d为均值mu和方差sigma,并让预测为所有X_i的均值。我们假设所有X都不独立(因为它们共享一些相同的训练数据和相同的特征),并且与某个常数p正相关。我们可以将均值(预测)的方差写为:

enter image description here

其中n是树的数量。

由于除p以外的所有内容都是固定的,因此您希望尽可能减少p,即树之间的相关性,如果对每个拆分使用所有相同的功能,则很可能最终带有一些相关的(“相同”)树,因此差异很大(尽管您对它进行简历)。

考虑到这一点,max_feature=1是最佳选择并不奇怪,因为种植的树木极不可能是相同的(或相似的)。

这只是经典的“偏差方差折衷”。

编辑:配方师的证明

enter image description here

enter image description here