如何在助推树中找到调整参数的最佳值?


9

我意识到在Boosting Trees模型中有3个调整参数,即

  1. 树数(迭代数)
  2. 收缩参数
  3. 分割数(每个构成树的大小)

我的问题是:对于每个调整参数,我应该如何找到其最佳值?什么方法?

请注意:收缩参数和树木数量参数一起使用,即收缩参数的值越小,树木数量的值就越高。我们也需要考虑到这一点。

我对为分割数找到最佳值的方法特别感兴趣。是否应该基于交叉验证或有关背后模型的领域知识?

这些事情如何gbm在R 的包中进行?

Answers:


6

R中的插入符号包是为此而量身定制的。

它的训练函数采用参数值的网格,并使用各种交叉验证或引导程序评估性能。软件包作者写了一本书《应用预测建模》,强烈推荐。整本书使用5次重复的10倍交叉验证。

在选择树的深度时,我首先会获得有关该问题的主题知识,即,如果您不希望有任何交互作用-将深度限制为1或选择一个灵活的参数模型(这更容易理解和解释)。话虽这么说,由于主题知识通常非常有限,我经常发现自己正在调整树的深度。

我认为gbm软件包会针对树的深度和收缩率的固定值调整树的数量。


这本书还包括R代码吗?
user1769197 2014年

我的意思是一个包含R代码的工作示例,因此我们了解如何通过计算实现模型并将其应用于数据集
user1769197 2014年

1
是的,它确实。请查看该书的网页AppliedPredictivemodeling.com了解更多信息。
ErikL 2014年

1

增强回归树和gbm软件包有两个很好的来源。有关BRT的说明以及树木数量(nt),学习率(lr)和树木复杂度(tc)的优化,请参阅增强回归树的工作指南尽管它专注于生态学,但我认为您不会找到更好的BRT简介。 。

有关gbm软件包中BRT的实现,请参阅增强回归树以进行生态建模

简而言之,一个经验法则是选择一个允许BRT模型适合至少1000棵树的学习率,因此很可能您需要一个较低的学习率,也许是0.001。但这取决于您的数据大小,请参见图。BRT工作指南中的2和3。我认为一种可能的方法是根据您的数据大小在BRT中设置不同的模型,例如将不同的lr(0.1,0.01,0.001),tc(1、3、5、7、9、20)与不同的包装袋组合在一起.fractions(0.5,0.7,0.9)并根据最低偏差或最高ROC得分选择最佳之一。也许有帮助。


1
供参考,BRT_MODEL$self.statistics$correlation[[1]]是测试与训练数据的相关性,这是一个很好的测试指标。
dez93_2000 2014年

在我看来,这听起来像是一项实验的统计设计。:P
EngrStudent '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.