梯度提升算法详解:从GBDT到xgBoost

需积分: 14 12 下载量 93 浏览量 更新于2024-09-09 收藏 1.97MB PPTX 举报
"GBDT/xgboost PPT" 梯度提升(Gradient Boosting,简称GB)是一种集成学习方法,它通过组合一系列弱预测器构建出一个强预测器。GB的核心思想是迭代地添加新模型,每个新模型试图修正前一轮模型的错误。XGBoost(eXtreme Gradient Boosting)是GBDT(Gradient Boosting Decision Tree,梯度提升决策树)的一种高效实现,由陈天奇博士在2016年提出。 GBDT是GB在决策树模型上的应用,它使用决策树作为基础模型。与传统的决策树相比,GBDT无需对特征进行预处理,如归一化,因为它能自动处理不同尺度的特征。此外,GBDT在特征选择上表现出色,能有效识别出对预测目标有重要影响的特征。GBDT的另一个优点是它能适应多种损失函数,使其在回归和分类问题中都能广泛应用。 XGBoost在GBDT的基础上进行了优化,提高了效率和准确性。它采用了二阶泰勒展开来近似损失函数的负梯度,这样可以更快地找到每棵树的最优分割点。XGBoost还支持并行化计算,利用多核CPU进行计算,大大减少了训练时间。另外,XGBoost引入了正则化项,以防止过拟合,提高模型的泛化能力。 优化模型的策略主要有两种: 1)基于残差的方法(Adaboost风格) 这种方法中,GBDT首先构建一棵决策树,然后计算当前模型的预测误差(残差),将残差作为下一次迭代的目标。每轮迭代后,新模型会尝试减小残差,从而逐渐提高整体模型的预测能力。 2)使用梯度下降算法减小损失函数 在GB中,模型的构建是通过梯度下降法来优化损失函数的。每一轮迭代,模型会沿着损失函数的负梯度方向更新,这个负梯度方向相当于模型的优化方向。每次的更新可以看作是一个小的决策树,这些小树通过加权叠加,形成一个整体的强预测模型。 优化算法流程主要包括以下步骤: 1. 初始化模型,通常是简单的常数或者零。 2. 计算当前模型的梯度和Hessian矩阵(二阶导数),这两个值反映了损失函数对模型参数的敏感程度。 3. 基于梯度和Hessian,构建一个新的决策树,这个树的目标是最大化减少损失函数。 4. 更新模型参数,加上新树的预测结果,乘以相应的权重(即梯度的大小)。 5. 重复步骤2到4,直到达到预设的迭代次数或残差小于设定阈值。 XGBoost不仅在工业界广泛应用于数据挖掘、推荐系统、广告点击率预测等领域,还在学术界成为机器学习竞赛的常用工具,因其高效的训练速度和优良的预测性能而备受青睐。