1.XGBoost的简述
引出XGBoost:
xgboost是针对gbdt进行了改进,核心思想利用二阶导来代替一阶导,来拟合残差。
ps:这个二阶展开的好处就是迭代的更快了,处理了一阶导的不足因为一阶导只是在斜率方向下降最快,他不一定就是最快的。也有缺点损失函数必须为二阶可导
xgboost的构建过程:
首先:它是按层进行分裂的,意思就是每次分裂,都会作用当前层的每一个节点(构建的是一颗完全二叉树);
ps:基于深度优先进行构建。
精确分裂:对每一个特征的每一个切分点,选出最优的特征和切分点来进行分裂节点。
ps:在连续型特征取值特别多的情况下,非常耗时。
(全局)近似分裂:初始化树的时候,直接对所有样本离散化对每一维特征进行分桶,然后就利用这些桶去建树!(效果不太好)
(局部)近似分裂:建树的时候对每一个分裂节点来说,只对此节点内的样本进