1 XGBoost二分类算法简介
XGBoost(Extreme Gradient Boosting)算法是陈天奇博士于2016年发表的论文《 XGBoost:A Scalable Tree Boosting System》中正式提出的。XGBoost在GBDT算法的基础上作出了一系列的优化,如在损失函数的计算中增加了二阶导数,增加了正则项,一定程度上的并行计算等。
XGBoost算法支持回归算法与分类算法。其中的回归算法在《XGBoost回归算法原理与应用》中有着比较详细的讲解。本文讲解分类算法中的二分类算法。XGBoost二分类算法与回归算法的主要区别在于损失函数的构造。
为保证文章结构的完整性,本文沿袭了前一篇文章的相关内容。
2 关于目标函数
2.1 损失函数
以表示第
轮预测值,
表示第
棵树在样本
处的取值(权重),
表示第
轮的损失函数,损失函数
二阶可导。
将二阶泰勒展开:
记,
在XGBoost二分类算法中,一般可选择指数损失函数和经改造的对数损失函数。这里使用经改造的对数损失函数。
,其中
,可见
,对比逻辑回归函数可以发现,
为正样本事件发生的概率。
对损失函数进行变化:
具体推导过程见前一篇文章。
损失函数关于的一阶、二阶导数分别为:
,由于
,故