XGBoost简介:打开树模型的黑盒子

作者:字节移动技术——许瑶坤

首先明确一下,XGBoost是一种训练决策树模型的学习方式,准确的说是训练Tree Ensemble Model的方式,这里把Tree Ensemble Model翻译成树集成模型。

举个例子

img

这里是一个简单的数据集,横坐标表示药物的剂量,绿色表示药物有效,红色表示药物无效。

首先给出来训练后得到的决策树模型,

img

这里每个非叶子节点是一个判断条件,因为数据集比较简单,这里只有一个特征的判断,实际使用过程中会有多个特征。每个叶子节点对应有一个权重,注意这里设定了初始的预测概率是0.5,也就是刚开始我们什么都不知道的时候,认定一种剂量下药物有效的概率是0.5,然后这棵树给出来的是相对于最开始猜想的一个偏移量,比如当Dosage<5时,给出的叶子节点权重是-0.5,那么这个时候我们预测的概率就是0.5+(-0.5)=0,也就是模型输出这个剂量下药物没有用。

多棵树就是有多个这样的决策树,然后预测结果等于所有决策树输出的和。

大概有了这个简单的例子,这里来做一下简单的数学推导。

理论部分

树集成模型

简单来说,树集成模型是由多棵决策树组成的,对于给定输入,树集成模型的预测结果等于每一个决策树预测结果的和。

这里给一下原论文的形式化定义。

给定一个数据集D\mathcal{D},数据集中有nn个训练数据,每条数据有mm个特征,

D={(xi,yi)}(D=n,xiRm,yiR)\mathcal{D} = \{(x_{i}, y_{i})\}(|\mathcal{D}|=n, x_{i}\in\mathbb{R}^{m}, y_{i}\in\mathbb{R})

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享