集成学习算法之提升树(Boosting Tree)

发布时间:2026/6/28 6:04:10

集成学习算法之提升树(Boosting Tree) 如大家所熟悉的提升树Boosting Tree是一种常见的集成学习算法它通过逐步迭代的方式训练多个决策树每一棵树都试图纠正前面树的预测误差从而得到一个更加准确的整体模型。提升树的基本思路是每一次训练新的决策树都会关注前面树的误差让新树尽可能地纠正前面树的错误。在每一次训练中提升树会根据当前模型的预测结果和真实标签之间的差异构建一个新的树模型并将其与前面的模型组合起来形成一个更加准确的模型。这个过程会重复多次直到模型收敛或达到指定的迭代次数为止。提升树其实就是一个加法模型在每一轮迭代中我们需要根据当前模型的预测结果计算出样本的残差即真实值与预测值之间的差值并将残差作为下一轮迭代中的损失函数。GBDT梯度提升决策树GDBT 即 Gradient Boosting Decision Tree 梯度提升决策树。在提升树算法中每一轮迭代并没有直接计算梯度值而是根据损失函数的形式来构造残差然后用基学习器去拟合这个残差。由于残差与负梯度的形式很相似因此提升树算法也被视为一种近似梯度下降的方法。而在梯度提升决策树算法中每一轮迭代是直接计算损失函数的负梯度来作为提升树里的残差。用一阶泰勒展开式可以推导出当取第 k - 1 个模型损失函数的负梯度的时候能够保证每一轮迭代都能够在前一轮的迭代上减小损失值。因此梯度提升决策树算法可以看作是一种真正的梯度下降方法。GBDT 中每一个基学习器用的是 CART 回归树CART 回归树可以很好地计算负梯度因为 CART 回归树的叶子节点中存储的是训练数据的平均值或者众数这个平均值或者众数可以作为当前回归树的预测值。GBDT框架XGBoost 框架采用了一系列的技术包括 Gradient Boosting 、二阶泰勒展开、正则化、特征重要性评估、并行化等从而在效果和速度上都有很好的表现。LightGBM 框架主要思想是在构建模型的过程中通过使用梯度单边采样的方法来减少数据集的大小同时使用直方图算法对特征进行离散化从而减少了内存占用和运行时间。

相关新闻