xgboost比赛以及工程利器。目前存在大量有关算法文档。
XGBoost(eXtreme Gradient Boosting)是一种基于决策树集成的机器学习算法,被广泛应用于分类、回归和排名等任务。XGBoost 在 Kaggle 等数据科学竞赛中取得了很好的表现,被认为是一种高效且强大的机器学习算法。
XGBoost算法通过优化结构化损失函数(加入了正则项的损失函数,可以起到降低过拟合的风险)来实现弱学习器的生成,并且XGBoost算法没有采用搜索方法,而是直接利用了损失函数的一阶导数和二阶导数值,并通过预排序、加权分位数等技术来大大提高了算法的性能。
1 定义
1.1 模型定义
XGBoost与GBDT比较大的不同就是目标函数的定义,基本思想是一致的,同样是利用加法模型与前向分步算法实现学习的优化过程。预测过程如下:
1.2 损失函数
1.3 化简损失函数
1 把 替换进目标函数。过程如下
什么时候上面的损失函数有最优解呢?
记住叶子的值是什么!先求每个叶子结点中的样本的偏差的一次导数和二次导数相除,再对所有叶子节点求和。
如下: 需要知道 样本的在损失函数的一阶导数g与二阶导数信息H.
https://zhuanlan.zhihu.com/p/562983875
https://blog.51cto.com/u_15127666/3281624