集成学习(中)XGBoost算法

XGBoost算法

  • XGBoost本质上还是一个GBDT,但是力争把速度和效率发挥到极致,所以叫X (Extreme) GBoosted

  • XGBoost是一个优化的分布式梯度增强库,提供了并行树提升(也称为GBDT,GBM),可使用分布式环境(Hadoop,SGE,MPI)运行;以CART决策树为子模型,通过Gradient Tree Boosting实现多棵CART树的集成学习,得到最终模型

XGBoost算法

(1) 构造目标函数:

L(ϕ)=∑il(y^i,yi)+∑kΩ(fk) \mathcal{L}(\phi)=\sum_{i} l\left(\hat{y}_{i}, y_{i}\right)+\sum_{k} \Omega\left(f_{k}\right) L(ϕ)=il(y^i,yi)+kΩ(fk)
其中,∑il(y^i,yi)\sum_{i} l\left(\hat{y}_{i}, y_{i}\right)il(y^i,yi)为loss function,∑kΩ(fk)\sum_{k} \Omega\left(f_{k}\right)kΩ(fk)为正则化项。

(2) 叠加式的训练(Additive Training):

因此,目标函数可以分解为:
L(K)=∑i=1nl(yi,y^i(K−1)+fK(xi))+∑kΩ(fk) \mathcal{L}^{(K)}=\sum_{i=1}^{n} l\left(y_{i}, \hat{y}_{i}^{(K-1)}+f_{K}\left(\mathrm{x}_{i}\right)\right)+\sum_{k} \Omega\left(f_{k}\right) L(K)=i=1nl(yi,y^i(K1)+fK(xi))+kΩ(fk)
也为:
在这里插入图片描述
(3) 使用泰勒级数近似目标函数:

在这里插入图片描述

(4) 如何定义一棵树:

第一个概念是样本所在的节点位置q(x)q(x)q(x)

第二个概念是有哪些样本落在节点j上Ij={ i∣q(xi)=j}I_{j}=\left\{i \mid q\left(\mathbf{x}_{i}\right)=j\right\}Ij={ iq(xi)=j}

第三个概念是每个结点的预测值wq(x)w_{q(x)}wq(x)

第四个概念是模型复杂度Ω(fK)\Omega\left(f_{K}\right)Ω(fK),它可以由叶子节点的个数以及节点函数值来构建,则:Ω(fK)=γT+12λ∑j=1Twj2\Omega\left(f_{K}\right) = \gamma T+\frac{1}{2} \lambda \sum_{j=1}^{T} w_{j}^{2}Ω(fK)=γT+21λj=1Twj2。如下图的例子:
在这里插入图片描述

q(x1)=1,q(x2)=3,q(x3)=1,q(x4)=2,q(x5)=3q(x_1) = 1,q(x_2) = 3,q(x_3) = 1,q(x_4) = 2,q(x_5) = 3q(x1)=1,q(x2)=3,q(x3)=1,q(x4)=2,q(x5)=3I1={ 1,3},I2={ 4},I3={ 2,5}I_1 = \{1,3\},I_2 = \{4\},I_3 = \{2,5\}I1={ 1,3},I2={ 4},I3={ 2,5}w=(15,12,20)w = (15,12,20)w=(15,12,20)
因此,目标函数用以上符号替代后:
L~(K)=∑i=1n[gifK(xi)+12hifK2(xi)]+γT+12λ∑j=1Twj2=∑j=1T[(∑i∈Ijgi)wj+12(∑i∈Ijhi+λ)wj2]+γT \begin{aligned} \tilde{\mathcal{L}}^{(K)} &=\sum_{i=1}^{n}\left[g_{i} f_{K}\left(\mathrm{x}_{i}\right)+\frac{1}{2} h_{i} f_{K}^{2}\left(\mathrm{x}_{i}\right)\right]+\gamma T+\frac{1}{2} \lambda \sum_{j=1}^{T} w_{j}^{2} \\ &=\sum_{j=1}^{T}\left[\left(\sum_{i \in I_{j}} g_{i}\right) w_{j}+\frac{1}{2}\left(\sum_{i \in I_{j}} h_{i}+\lambda\right) w_{j}^{2}\right]+\gamma T \end{aligned} L~(K)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值