文章目录
Task3 XGB算法梳理
XGBoost——机器学习(理论+图解+安装方法+python代码)
1. 算法原理
机器学习–boosting家族之XGBoost算法
xgboost原理分析以及实践
XGBoost全名叫(eXtreme Gradient Boosting)极端梯度提升,经常被用在一些比赛中,其效果显著。它是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包。XGBoost 所应用的算法就是 GBDT(gradient boosting decision tree)的改进,既可以用于分类也可以用于回归问题中。
1.在损失函数的基础上加入了正则项。
2.对目标函数进行二阶泰勒展开。
3.利用推导得到的表达式作为分裂准确,来构建每一颗树。
- xgboost核心部分的算法流程图如下
2. 损失函数
传统GBDT在优化时只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。顺便提一下,xgboost工具支持自定义代价函数,只要函数可一阶和二阶求导。
3. 分裂结点算法
4. 正则化
5. 对缺失值处理
xgboost模型却能够处理缺失值,模型允许缺失值存在。
原始论文中关于缺失值的处理将其看与稀疏矩阵的处理看作一样。