如何在广义增强回归模型中选择树的数量?

机器算法验证 r 机器学习 助推
2022-03-09 02:46:08

是否有选择 GBM 中树数的策略?具体来说,是's函数中的ntrees参数。Rgbm

我不明白为什么你不应该设置ntrees为最高的合理值。我注意到大量的树明显减少了多个 GBM 的结果的可变性。我不认为大量的树会导致过度拟合。

有什么想法吗?

4个回答

这是GBM:

我不认为…… ”是许多句子中危险的第一部分。

没有衡量标准,没有衡量标准,足够好是没有意义的。

任何其他方法的善度衡量标准是什么?

  • 模型和数据之间的差异(sse,...)
  • 保持集中的误差发散(训练误差与测试误差)
  • 参数计数与样本计数的比率(大多数人喜欢每个参数 5 个样本或每个参数 30 个样本)
  • 交叉验证(错误测试发散的集成方法)

像神经网络或样条一样,您可以对数据执行分段线性插值并获得无法泛化的模型。你需要放弃一些“低误差”来换取普遍适用性——泛化。

更多链接:

我确实发现了一些对问题的见解: http: //cran.r-project.org/web/packages/dismo/vignettes/brt.pdf

gbm.step函数可用于确定最佳树数。我仍然不确定是什么导致模型偏差在一定数量的树后增加,所以我仍然愿意接受回答这部分问题的回复!

这是 Elith 等人的增强回归树的工作指南:http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2656.2008.01390.x/full 非常 有帮助!

你至少应该使用 1000 棵树。据我了解,您应该使用学习率、树复杂度和树数的组合来实现最小预测误差。较小的学习率值会导致相同迭代次数的训练风险更大,而每次迭代都会降低训练风险。如果树的数量足够大,则风险可以任意小(参见:Hastie 等人,2001,“统计学习、数据挖掘、推理和预测的要素”)。

与某些机器学习算法中常见的一样,Boosting 在树的数量方面受到偏差方差权衡的影响。粗略地说,这种权衡告诉你:(i)弱模型往往具有高偏差和低方差:它们过于僵化,无法捕捉训练数据集中的可变性,因此在测试集中也表现不佳(高测试错误)(ii)非常强的模型往往具有低偏差和高方差:它们过于灵活并且过度拟合训练集,因此在测试集中(因为数据点与训练集不同)它们也不会表现良好(高测试误差)

Boosting trees 的概念是从浅层树(弱模型)开始,并不断添加更多浅层树来尝试纠正以前的树的弱点。当您执行此过程时,测试错误往往会下降(因为整体模型变得更加灵活/强大)。但是,如果添加太多这些树,就会开始过度拟合训练数据,因此测试误差会增加。交叉验证有助于找到最佳位置