上篇文章集成学习之梯度提升决策树(GBDT)已经介绍了集成学习中boosting系列的重要算法GBDT,这里的GBDT特指“Greedy Function Approximation:A Gradient Boosting Machine”里提出的算法,它只用了 一阶导数信息。
实际上GBDT泛指所有梯度提升树算法,包括XGBoost、LightGBM,它们是GBDT的变种。
1.Xgboost
GBDT在利用前向分布算法学习加法模型时,用到了基于一阶泰勒展开的梯度提升求解法;而XGBoost在函数空间中用牛顿法进行优化。
1.1模型函数形式
给定数据集D = {(Xi,Yi)},XGBoost进行additive training,学习 K棵树,采用以下函数对样本进行预测:

这里F是假设空间,f(x)是回归树(CART):

q(x)表示将样本x分到了某个叶子节点上,W是叶子节点的分数(leaf score),所以 Wq(x) 表示回归树对样本的预测值。
- 例子:预测一个人是否喜欢电脑游戏

回归树的预测输出是实数分数,可以用于回归、分类、排序等任务中。对于回归问题,可以直接作为目标值,对于分类问题,需要映射成概率,比如采用Sigmoid函数。
1.2目标函数
参数空间中的目标函数:

误差函数可以是square loss,logloss等,正则项可以是L1正则, L2正则等。
XGBoost的目标函数(函数空间)

正则项对每棵回归树的复杂度进行了惩罚
正则项
正则项的作用,可以从Bayes先验的角度去解释。从Bayes角度来看,正则相当于对模型参数引入先验分布:

L2正则,模型参数服从高斯分布 Θ \Theta Θ ~ N (0, σ 2 \sigma^2 σ2