shawsun 2020-01-01
XGboost算法
XGBoost是GBDT算法的一种改进,是一种常用的有监督集成学习算法;是一种伸缩性强、便捷的可并行构建模型的GradientBoosting算法。
原理是:在GBDT目标函数的基础上加入惩罚项,如下图绿框。通过限制树模型的叶子节点的个数和叶子节点的值来降低模型复杂度,从而防止过拟合,二分之一是为了求导方便。t是树的棵数,obj为损失函数
大体步骤:防止过拟合,二阶泰勒展开公式计算,给出了新的树的划分标准,用的是损失函数的增量。
目的:找到第t颗树是如何搭建的
所以我们的期望是损失函数只和第t颗树有关系
XGBoost官网:http://xgboost.readthedocs.io;
XGBoost支持开发语言:Python、R、Java、Scala、C++等。