h2o GBM 提前停止

h2o GBM early stopping

我正在尝试用 h2o 使 GBM 过拟合(我知道这很奇怪,但我需要这个来说明问题)。所以我增加了树的 max_depth 和收缩,并禁用了停止标准:

overfit <- h2o.gbm(y=response
                  , training_frame = tapp.hex
                  , ntrees = 100 
                  , max_depth = 30 
                  , learn_rate = 0.1 
                  , distribution = "gaussian"
                  , stopping_rounds = 0
                  , distribution = "gaussian"
                  )

过度拟合效果很好,但我注意到在第 64 棵树之后训练误差并没有改善。你知道为什么吗 ?如果我对 boosting 的概念理解得足够好,随着树数量的增加,训练误差应该会收敛到 0。

关于我的数据的信息: 大约 100 万次观察 10个变量 响应变量是定量的。

祝你有美好的一天!

如果 0.1 学习率不适合您,我建议降低学习率,例如 0.01 或 0.001。虽然你说训练错误在树 64 之后停止减少,但我仍然建议尝试添加更多树,至少 1000-5000,特别是如果你尝试较慢的学习率。

您是否尝试降低 min_split_improvement 参数? 1e-5 的默认值已经是微观的,但在有一百万行时是相关的。 我猜第 64 棵树之后的所有树(在你的例子中)都是微不足道的?