XGBoost基本上都是组合大量小学习率的回归树。在这种情况,越晚添加的树比越早添加的树更重要。
Rasmi根据深度神经网络社区提出一个新的使用dropout的boosted trees,并且证明它在某些情况有更好的结果。
以下是新的tree boosterdart
的介绍。
原始文章
特征
- Drop Trees是为了解决过拟合
- 可以防止一些琐碎的树(为了纠正小错误)。
因为训练中引入了随机,所以有以下的不同:
- 可以防止一些琐碎的树(为了纠正小错误)。
- 因为随机dropout不使用用于保存预测结果的buffer所以训练会更慢
- 因为随机,早停可能不够稳定
DART算法怎么运行
DART算法和MART(GBDT)算法主要有两个不同点:
dropout
计算下一棵树要拟合的梯度的时候,仅仅随机从已经生成的树中选取一部分。假设经过 n 次迭代之后当前模型为