刚开始接触xgboost是在解决一个二分类问题时学长介绍。在没有接触这篇论文前,我以为xgboost一个很厉害的algorithm,但是从论文title来看,xgboost实际是一个system,论文重点介绍了xgb整个系统是如何搭建以及实现的,在模型算法的公式改进上只做了一点微小的工作。
论文的major contribution:
- We design and build a highly scalable end-to-end tree boosting system.
- We propose a theoretically justified weighted quantile sketch for efficient proposal calculation.
- We introduce a novel sparsity-aware algorithm for par- allel tree learning.
- We propose an effective cache-aware block structure for out-of-core tree learning.
Abstract + 第一章Introduction主要介绍了xgboost的major contribution以及xgboost目前所取得的成绩,在此不再赘述。以下文字开始进入论文的核心部分:
第二章 TREE BOOSTING IN A NUTSHELL
2.1 Regularized Learning Objective
假设存在数据集,m为特征数量,n为样本数量。假设存在一个模型,由K个课树组成,我们用以下公式来表示这个模型:
其中 ,表示第
棵树对
这个样本进行预测得到的结果;T表示该棵树模型的叶子节点的数量;
表示这棵树中第
个叶子节点的权重,也就是预测值;
这个函数表示找到
所属的叶子节点的下标。
以上定义了树模型的预测函数,接下来定义整个目标函数:
这里 是一个可导的凸函数,用来表示 预测值
和真实值
之间的差异,可以用MSE来衡量;
是惩罚项,用来防止树的结构过于复杂