极端梯度提升XGBoost
XGBoost属于boosting集成学习方法,其基学习器的学习是串行的。CART回归树的加法模型:
y ^ = ϕ ( x ) = ∑ i = 1 K f k ( x ) , f k ∈ F \hat{y}=\phi(x)=\sum_{i=1}^K f_k(x),\quad f_k\in \mathcal{F} y^=ϕ(x)=i=1∑Kfk(x),fk∈F
其中, F = { f ( x ) = w q ( x ) } ( q : R m → T , w ∈ R T ) \mathcal{F}=\{f(x)=w_{q(x)}\}(q: \mathbb{R}^m\rightarrow T,w\in \mathbb{R}^T) F={
f(x)=wq(x)}(q:Rm→T,w∈RT)为包含所有CART回归树的函数空间。
- 每个 f k f_k fk对应一个独立的树结构 q q q和叶子结点的得分,它的取值为样本点所在叶结点的得分,
- 树结构 q q q看做一个诸多样本点映射到各个叶子结点的函数, T T T为叶子结点的个数,
- w i w_i wi代表第 i i i个叶子结点的得分。
模型参数为每棵树的结构及其叶结点的得分,或者简单的记作 Θ = { f 1 , f 2 , . . . , f K } \Theta=\{f_1,f_2,...,f_K\} Θ={ f1,f2,...,fK},也就是说,这里我们要学习的是一个个函数——学习树模型:定义一个目标函数,然后最优化目标函数。
XGBoost目标函数——正则化思想

基于正则化思想,给定数据集 { ( x i , y i ) , 1 ≤ i ≤ n } \{(x_i,y_i),\quad 1\leq i\leq n\} {
(xi,yi),1≤i≤n}, x i ∈ R m , y i ∈ R x_i\in \mathbb{R}^m, y_i\in\mathbb{R} xi∈Rm,yi∈R,通过最优化以下目标函数来学习模型,
min f k L ( ϕ ) = ∑ i = 1 n l ( y i , y ^ i ) + ∑ k = 1 K Ω ( f k ) w h e r e Ω ( f ) = γ T + 1 2 λ ∣ ∣ w ∣ ∣ 2 \begin{aligned} &\min_{f_k} \quad L(\phi)=\sum_{i=1}^nl(y_i,\hat{y}_i)+\sum_{k=1}^K\Omega(f_k)\\ &where \quad \Omega(f)=\gamma T+\frac{1}{2}\lambda ||w||^2 \end{aligned} fkminL(ϕ)=i=1∑nl(yi,y^i)+k=1∑KΩ(fk)whereΩ(f)=γT+21λ∣∣w∣∣2
其中, l l l为损失函数(可微、凸函数); Ω \Omega Ω衡量树的复杂度:对叶结点个数 T T T进行惩罚(剪枝),叶结点得分 w w wL2正则化项(光滑的得分函数、避免过拟合)。
优化目标函数——Additive Training
由于我们这里的 f k f_k fk是树,而不是一般地数值向量,不能用像SGD这样的方法来求解,因此采用Additive Training。

第 t t t轮学习中,我们需要寻找最优的 f t f_t ft得到预测 y ^ i ( t ) = y ^ i ( t − 1 ) + f t ( x i ) \hat{y}_i^{(t)}=\hat{y}_i^{(t-1)}+f_t(x_i) y^i(t)=y^i(t−1)+ft(xi),可写第 t t t轮的目标函数
L ( t ) = ∑ i = 1 n l ( y i , y ^ i ( t ) ) + ∑ k = 1 t Ω ( f k ) = ∑ i = 1 n l ( y i , y ^ i ( t − 1 ) + f t ( x i ) ) + Ω ( f t ) + ∑ k = 1 t − 1 Ω ( f k ) \begin{aligned} L^{(t)}&=\sum_{i=1}^nl(y_i,\hat{y}_i^{(t)})+\sum_{k=1}^t\Omega(f_k)\\ &=\sum_{i=1}^nl(y_i,\hat{y}_i^{(t-1)}+f_t(x_i))+\Omega(f_t)+\sum_{k=1}^{t-1}\Omega(f_k) \end{aligned} L(t)=i=1∑nl(yi,y^i(t))+k=1∑tΩ(fk)=i=1∑nl(yi,y<

XGBoost是一种基于梯度提升的决策树算法,通过引入正则化项和优化目标函数,有效控制模型复杂度,防止过拟合。相较于GBDT,XGBoost利用二阶导数信息,提供更精确的逼近,支持自定义代价函数,具备并行计算能力,显著提升训练速度。
最低0.47元/天 解锁文章
1177

被折叠的 条评论
为什么被折叠?



