Answers:
我的逻辑是,因为这些噪声变量根本不会给出最大的增益分配,所以将永远不会选择它们,因此它们不会影响树的生长。
这仅对于非常大的,接近无限的数据集是完全正确的,其中训练集中的样本数量可以很好地覆盖所有变化。在实践中,如果维数足够大,最终会带来很多采样噪声,因为数据越多维数,对可能示例的覆盖范围就越弱。
最终会偶然与目标变量相关联的弱变量上的噪声可能会限制增强算法的效果,而这在决策树中的更深层拆分中更容易发生,在该决策树中,已评估的数据已被分组为一个小的子集。
添加的变量越多,您获得的弱相关变量就越有可能恰好适合某些特定组合的分割选择算法,然后创建学习此噪声而不是预期信号的树,最终一概而论。
实际上,我发现XGBoost在小范围内对噪声非常鲁棒。但是,我也发现,出于类似的原因,它有时会选择质量较差的工程变量,而不是关联性更好的数据。因此,这不是“变量越多对XGBoost越好”的算法,您确实需要考虑可能的低质量功能。