XGBoost(eXtreme Gradient Boosting)极致梯度提升,是基于GBDT的一种算法。
2016年,陈天奇在论文《 XGBoost:A Scalable Tree Boosting System》中正式提出。
XGBoost 的核心思想是通过加法模型来逐步改进预测结果。它通过以下步骤实现:
1.初始化模型:从一个常数值开始(通常是目标变量的均值)。
2.迭代训练:在每一轮中,训练一棵新的决策树,来拟合当前模型的残差
3.损失函数:使用损失函数来评估模型的性能,XGBoost 支持多种损失函数(如平方误差、对数损失等)。
4.正则化:通过 L1 和 L2 正则化来控制模型复杂度,防止过拟合。
5.学习率:通过设置学习率来控制每棵树对最终预测的贡献。
其关键在于决策树和正侧化,我理解的决策树方便拟合函数,而正侧化则使其不会过拟合。而这个模型的适用性则需要看数据的情况。
值得参考的文献
1.XGBoost的原理、公式推导、Python实现和应用