本博客分为三块——正则化的目标函数、切分点查找算法和高效实现,分别对XGBoost原论文的第2、3和4章进行了探讨。
正则化的目标函数:
XGBoost也是一种提升方法。相较于GBDT来说,它们的预测函数都是如下式(1)的加性函数(additive function),可以看到,预测函数对某一输入 X_i 输出就是输入实例在K颗树中输出的累和;它们的不同之一是目标函数的不同。
GBDT通过经验函数最小化来确定预测函数的参数,XGBoost在经验函数的基础上加上正则化项,其中表示单棵树的正则化,正则化项表征了模型的复杂度,通过选择合适的参数限制模型复杂度,能够避免过拟合。
XGBoost中单棵树的正则化项由两项组成,分别是叶子结点的数量T和叶子权重矩阵w——叶子输出,的L2范数。当
=0,剩下的项就是GBDT的目标优化函数。
GBDT通过梯度下降法优化目标函数,梯度下降法是一种启发式优化算法,有可能陷入局部最优解。它们的不同之二是XGBoost优化的是经泰勒展开后近似的目标函数,该损失函数的推导如下,设: