如果 GBM 参数(例如,学习率)随着训练的进行而变化,会发生什么?

数据挖掘 机器学习 xgboost 监督学习 超参数调整 gbm
2021-10-04 19:08:09

神经网络中,有一个“学习率计划”的概念,它随着训练的进行而改变学习率。

这让我问了一个问题,GBM 中的不同参数作为树数的函数会有什么影响?

以学习率为例。对于使用 MART 算法的 GBM,每棵树的贡献由误差和学习率的函数加权。早期适合的树木具有更高的影响;以后适合的树木影响较小。如果学习率是ñ经验(-一个ñ)在哪里一个将是学习率 的衰减参数?

其他参数也可能有所不同。例如,每棵树的最大深度可能一开始就很高,然后随着训练的进行而减小。除了树参数之外,如果使用 bagging 或损失函数的参数(例如 Huber 损失参数),其他示例是子样本百分比δ)。

1个回答

学习率衰减在例如 XGBoost 和 LightGBM 中作为回调实现。(XGBoost 曾经允许learning_rate参数是一个列表,但由于回调而被弃用。)其他超参数的类似功能应该以相同的方式实现。

xgboost.callback.reset_learning_rate
LightGBM 回调讨论

不久前我尝试了这些想法(学习率和树深度),但没有得到改进的性能。但是您应该尝试一下;如果您确实看到了显着的收益,最好在此处添加它作为答案。