欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

集成学习(ensemble learning)(四)

发布时间:2025/3/19 22 豆豆
生活随笔 收集整理的这篇文章主要介绍了 集成学习(ensemble learning)(四) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 一、GBDT概述
  • 二、GDBT原理
    • 1、负梯度拟合
    • 2、GBDT回归算法
    • 3、GBDT分类算法
      • (1)二元GBDT分类算法
      • (2)多元GBDT分类算法
    • 4、GBDT常用损失函数
      • (1)分类任务
      • (2)回归任务
    • 5、GBDT的正则化
  • 三、从参数空间到函数空间理解GBDT+XGBoost
    • 1、泰勒公式
    • 2、最优化方法
      • (1)梯度下降法(Gradient Descend Method)
      • (2)牛顿法
    • 3、从参数空间到函数空间
      • (1)概述
      • (2)GBDT:梯度下降从参数空间到函数空间
      • (3)XGBoost:牛顿法从参数空间到函数空间

该篇为集成学习的第四篇,主要关注GDBT(Gradient Boosting Decison Tree, 梯度提升树)。在本文的第三部分中,从参数空间到函数空间的角度出发,理解GBDT+XGBoost的原理。

从传送下之前的文章:

  • 集成学习(ensemble learning)(一)
  • 集成学习(ensemble learning)(二)
  • 集成学习(ensemble learning)(三)

一、GBDT概述

GBDT 是一种迭代的前向分布的算法,其弱分类器为CART回归树。

在GBDT的迭代中,假设前一轮迭代得到的强学习器是 ft−1(x)f_{t−1}(x)ft1(x),利用前向分布算法,本步的模型可写成 ft(x)=ft−1(x)+ht(x)f_t(x)=f_{t-1}(x)+h_t(x)ft(x)=ft1(x)+ht(x),损失函数是L(y,ft(x))L(y,f_{t}(x))L(y,ft(x))

本轮迭代的目标是找到一个CART回归树模型的弱学习器 ht(x)h_t(x)ht(x),让本轮的损失函数 L(y,ft(x)=L(y,ft−1(x)+ht(x))L(y,f_t(x)=L(y,f_{t−1}(x)+h_t(x))L(y,ft(x)=L(y,ft1(x)+ht(x)) 最小。也就是说,本轮迭代找到决策树,要让样本的损失尽量变得更小

GBDT主要的优点

  • 可以灵活处理各种类型的数据,包括连续值和离散值。
  • 在相对少的调参时间情况下,预测的准确率也可以比较高。这个是相对SVM来说的。
  • 使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。

GBDT的主要缺点

  • 由于弱学习器之间存在依赖关系,难以并行训练数据。 不过可以通过自采样的SGBT来达到部分并行。

二、GDBT原理

1、负梯度拟合

目标:让样本的损失尽量变得更小,何如解决损失函数拟合方法的问题?

Freidman提出了用损失函数的负梯度来拟合本轮损失的近似值,进而拟合一个CART回归树。第 ttt 轮的第 iii 个样本的损失函数的负梯度表示为
(1)rti=−[∂L(yi,f(xi))∂f(xi)]f(x)=ft−1(x)r_{ti}=- \left[ \frac{\partial{L(y_i,f(x_i))}}{\partial f(x_i)} \right]_{f(x)=f_{t-1}(x)} \tag{1}rti=[f(xi)L(yi,f(xi))]f(x)=ft1(x)(1)
利用 (xi,rti),i=1,2,...,m(x_i,r_{ti}),i=1,2,...,m(xi,rti)i=1,2,...,m,可以拟合一颗CART回归树,得到第 ttt 颗回归树,其对应的叶节点区域 Rtj,j=1,2,...,JR_{tj},j=1,2,...,JRtj,j=1,2,...,J。其中 JJJ 为叶子节点的个数。

针对每一个叶子节点里的样本,求出使损失函数最小,也就是拟合叶子节点最好的的输出值

ctjc_{tj}ctj 如下:
(2)ctj=argmin⎵c∑xi∈RtjL(yi,ft−1(xi)+c)c_{tj}=\underbrace{arg\ min}_c\sum_{x_i\in R_{tj}}L(y_i,f_{t-1}(x_i)+c)\tag{2}ctj=carg minxiRtjL(yi,ft1(xi)+c)(2)
则本轮的决策树拟合函数如下:
(3)ht(x)=∑j=1JctjI(x∈Rtj)h_t(x)=\sum_{j=1}^Jc_{tj}I(x\in R_{tj})\tag{3}ht(x)=j=1JctjI(xRtj)(3)
从而本轮最终得到的强学习器的表达式如下:
(4)ft(x)=ft−1(x)+∑j=1JctjI(x∈Rtj)f_t(x)=f_{t-1}(x)+\sum_{j=1}^{J}c_{tj}I(x\in R_{tj})\tag{4}ft(x)=ft1(x)+j=1JctjI(xRtj)(4)

一种通用的拟合损失误差的办法:通过损失函数的负梯度来拟合,则无论是分类问题还是回归问题,均可通过其损失函数的负梯度的拟合,就可以用GBDT来解决我们的分类回归问题。区别仅仅在于损失函数不同所导致的负梯度不同。

2、GBDT回归算法

输入:训练集样本 T=(x1,y1),(x2,y2),...,(xm,ym)T={(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}T=(x1,y1),(x2,y2),...,(xm,ym), 最大迭代次数 TTT,损失函数 LLL
输出:强学习器 f(x)f(x)f(x)

(1)初始化弱学习器
f0(x)=argmin⎵c∑i=1mL(yi,c)f_0(x)=\underbrace{arg\ min}_c\sum_{i=1}^mL(y_i,c)f0(x)=carg mini=1mL(yi,c)
(2) 对迭代轮数 t=1,2,...,Tt=1,2,...,Tt=1,2,...,T 有:
    a) 对样本 i=1,2,...,mi=1,2,...,mi=1,2,...,m,计算负梯度
rti=−[∂L(yi,f(xi))∂f(xi)]f(x)=ft−1(x)r_{ti}=- \left[ \frac{\partial{L(y_i,f(x_i))}}{\partial f(x_i)} \right]_{f(x)=f_{t-1}(x)}rti=[f(xi)L(yi,f(xi))]f(x)=ft1(x)
    b) 利用 (xi,rti),i=1,2,...,m(x_i,r_{ti}),i=1,2,...,m(xi,rti)i=1,2,...,m,可以拟合一颗CART回归树,得到第 ttt 颗回归树,其对应的叶节点区域 Rtj,j=1,2,...,JR_{tj},j=1,2,...,JRtj,j=1,2,...,J。其中 JJJ 为叶子节点的个数。
    c) 对叶子区域 j=1,2,...,Jj=1,2,...,Jj=1,2,...,J 计算最佳拟合值:
ctj=argmin⎵c∑xi∈RtjL(yi,ft−1(xi)+c)c_{tj}=\underbrace{arg\ min}_c\sum_{x_i\in R_{tj}}L(y_i,f_{t-1}(x_i)+c)ctj=carg minxiRtjL(yi,ft1(xi)+c)
    d) 更新强学习器
ht(x)=∑j=1JctjI(x∈Rtj)h_t(x)=\sum_{j=1}^Jc_{tj}I(x\in R_{tj})ht(x)=j=1JctjI(xRtj)

(3)得到强学习器 f(x)f(x)f(x) 的表达式
f(x)=fT(x)=f0(x)+∑t=1T∑j=1JctjI(x∈Rtj)f(x)=f_T(x)=f_{0}(x)+\sum_{t=1}^T\sum_{j=1}^{J}c_{tj}I(x\in R_{tj})f(x)=fT(x)=f0(x)+t=1Tj=1JctjI(xRtj)

3、GBDT分类算法

由于样本输出不是连续的值,而是离散的类别,导致我们无法直接从输出类别去拟合类别输出的误差

解决方法

  • 使用指数损失函数。GBDT退化为Adaboost算法。
  • 对数似然损失函数。用类别的预测概率值和真实概率值的差来拟合损失。

本文仅关注对数似然损失函数的GBDT分类。

(1)二元GBDT分类算法

对于二元GBDT,如果用类似于 Logistic Regression 的对数似然损失函数,则损失函数为:
L(y,f(x))=log(1+exp(−yf(x)))L(y,f(x))=log(1+exp(-yf(x)))L(y,f(x))=log(1+exp(yf(x)))
其中,y∈{+1,−1}y∈\{+1,-1\}y{+1,1}。则此时的负梯度误差为
rti=−[∂L(y,f(xi))∂f(xi)]f(x)=ft−1(x)=yi1+exp(yif(xi))r_{ti}=-\left[\frac{∂L(y,f(x_i))}{∂f(x_i)}\right]_{f(x)=f_{t-1}(x)}=\frac{y_i}{1+exp(y_if(x_i))}rti=[f(xi)L(y,f(xi))]f(x)=ft1(x)=1+exp(yif(xi))yi
对于生成的决策树,我们各个叶子节点的最佳负梯度拟合值为
ctj=argmin⎵c∑xi∈Rtjlog(1+exp(−yift−1(xi)+c)))c_{tj}=\underbrace{arg\ min}_c\sum_{x_i\in R_{tj}}log(1+exp(-y_if_{t-1}(x_i)+c)))ctj=carg minxiRtjlog(1+exp(yift1(xi)+c)))
由于上式比较难优化,我们一般使用近似值代替
ctj=∑xi∈Rtjrtj∑xi∈Rtj∣rtj∣(1−∣rtj∣)c_{tj}=\frac{\sum_{x_i\in R_{tj}}r_{tj}}{\sum_{x_i\in R_{tj}}|r_{tj}|(1-|r_{tj}|)}ctj=xiRtjrtj(1rtj)xiRtjrtj
除了负梯度计算和叶子节点的最佳负梯度拟合的线性搜索,二元GBDT分类和GBDT回归算法过程相同。

(2)多元GBDT分类算法

多元GBDT要比二元GBDT复杂一些,对应的是多元逻辑回归和二元逻辑回归的复杂度差别。假设类别数为K,则此时我们的对数似然损失函数为:
L(y,f(x))=−∑k=1Kyklogpk(x)L(y,f(x))=-\sum_{k=1}^Ky_klogp_k(x)L(y,f(x))=k=1Kyklogpk(x)
其中,如果样本输出类别为 kkk,则yk=1y_k=1yk=1。第 kkk 类的概率 pk(x)p_k(x)pk(x) 的表达式为:
pk(x)=exp(fk(x))∑l=1Kexp(fl(x))p_k(x)=\frac{exp(f_k(x))}{\sum_{l=1}^Kexp(f_l(x))}pk(x)=l=1Kexp(fl(x))exp(fk(x))
集合上两式,我们可以计算出第 ttt 轮的第 iii 个样本对应类别 lll 的负梯度误差为
rti=−[∂L(yi,f(xi))∂f(xi)]f(x)=fl,t−1(x)=yil−pl,t−1(xi)r_{ti}=-\left[\frac{∂L(y_i,f(x_i))}{∂f(x_i)}\right]_{f(x)=f_{l,t-1}(x)}={y_{il}}-p_{l,t-1}(x_i)rti=[f(xi)L(yi,f(xi))]f(x)=fl,t1(x)=yilpl,t1(xi)
观察上式可以看出,其实这里的误差就是样本 iii 对应类别l的真实概率和 t−1t−1t1 轮预测概率的差值。
对于生成的决策树,我们各个叶子节点的最佳负梯度拟合值为
ctjl=argmin⎵cjl∑i=0m∑k=1KL(yk,ft−1,l(x)+∑j=0JcjlI(xi∈Rtj))c_{tjl}=\underbrace{arg\ min}_{c_{jl}}\sum_{i=0}^m\sum_{k=1}^KL(y_k,f_{t-1,l}(x)+\sum_{j=0}^Jc_{jl}I(x_i\in R_{tj}))ctjl=cjlarg mini=0mk=1KL(yk,ft1,l(x)+j=0JcjlI(xiRtj))
由于上式比较难优化,我们一般使用近似值代替
ctjl=K−1K∑xi∈Rtjlrtjl∑xi∈Rtil∣rtil∣(1−∣rtil∣)c_{tjl}=\frac{K-1}{K}\frac{\sum_{x_i\in R_{tjl}}r_{tjl}}{\sum_{x_i\in R_{til}}|r_{til}|(1-|r_{til}|)}ctjl=KK1xiRtilrtil(1rtil)xiRtjlrtjl

除了负梯度计算和叶子节点的最佳负梯度拟合的线性搜索,多元GBDT分类和二元GBDT分类以及GBDT回归算法过程相同。

4、GBDT常用损失函数

(1)分类任务

对于分类算法,其损失函数一般有 对数损失函数指数损失函数 两种:

指数损失函数
L(y,f(x))=exp(−yf(x))L(y,f(x))=exp(−yf(x))L(y,f(x))=exp(yf(x))
其负梯度计算和叶子节点的最佳负梯度拟合参见Adaboost原理篇。

对数损失函数——见2.3.1和2.3.2

  • 二元分类
  • 多元分类

(2)回归任务

常用的损失函数为均方差、绝对损失、Huber损失和分位数损失

  • 均方差损失——最常见
    L(y,f(x))=(y−f(x))2L(y,f(x))=(y-f(x))^2L(y,f(x))=(yf(x))2

  • 绝对损失
    L(y,f(x))=∣y−f(x)∣L(y,f(x))=|y-f(x)|L(y,f(x))=yf(x)
    其对应负梯度误差为:
    sign(yi−f(xi))sign(y_i-f(x_i))sign(yif(xi))

  • Huber损失
    Huber损失是均方差和绝对损失的折衷产物,对于远离中心的异常点,采用绝对损失,而中心附近的点采用均方差。这个界限一般用分位数点度量。损失函数如下:
    L(y,f(x))={12(y−f(x))2,if ∣y−f(x)∣≤δδ(∣y−f(x)∣−δ2),if ∣y−f(x)∣>δL(y,f(x))= \begin{cases} \frac{1}{2}(y-f(x))^2, & \text {if $|y-f(x)|\leq\delta$} \\ \delta(|y-f(x)|-\frac{\delta}{2}), & \text{if $|y-f(x)|>\delta$} \end{cases}L(y,f(x))={21(yf(x))2,δ(yf(x)2δ),if ∣yf(x)δif ∣yf(x)>δ
    对应的负梯度误差为:
    r(yi,f(xi))={yi−f(xi),if ∣y−f(x)∣≤δδsign(yi−f(xi)),if ∣y−f(x)∣>δr(y_i,f(x_i))= \begin{cases} y_i-f(x_i), & \text {if $|y-f(x)|\leq\delta$} \\ \delta sign(y_i-f(x_i)), & \text{if $|y-f(x)|>\delta$} \end{cases}r(yi,f(xi))={yif(xi),δsign(yif(xi)),if ∣yf(x)δif ∣yf(x)>δ

  • 分位数损失
    它对应的是分位数回归的损失函数,表达式为
    L(y,f(x))=∑y≥f(x)θ∣y−f(x)∣+∑y&lt;f(x)(1−θ)∣y−f(x)∣L(y,f(x))=\sum_{y\geq f(x)}\theta|y-f(x)|+\sum_{y&lt;f(x)}(1-\theta)|y-f(x)|L(y,f(x))=yf(x)θyf(x)+y<f(x)(1θ)yf(x)
    其中 θθθ 为分位数,需要在回归前指定。对应的负梯度误差为:
    r(yi,f(xi))={θ,if yi≥f(xi)θ−1,if yi&lt;f(xi)r(y_i,f(x_i))= \begin{cases} \theta, &amp; \text {if $y_i\geq f(x_i)$} \\ \theta-1, &amp; \text{if $y_i &lt; f(x_i)$} \end{cases}r(yi,f(xi))={θ,θ1,if yif(xi)if yi<f(xi)

对于Huber损失和分位数损失,主要用于健壮回归,也就是减少异常点对损失函数的影响。

5、GBDT的正则化

GBDT的正则化主要有三种方式。

第一种:设置步长(learning rate)
定义为 ν\nuν,对于前面的弱学习器的迭代
fk(x)=fk−1(x)+hk(x)f_k(x)=f_{k−1}(x)+h_k(x)fk(x)=fk1(x)+hk(x)
加上了正则化项,则有
fk(x)=fk−1(x)+νhk(x)f_k(x)=f_{k−1}(x)+\nu h_k(x)fk(x)=fk1(x)+νhk(x)
其中 ν\nuν 的取值范围为 0&lt;ν≤10&lt;\nu\leq10<ν1。对于同样的训练集学习效果,较小的 ν\nuν 意味着需要更多的弱学习器的迭代次数。通常我们用步长和迭代最大次数一起来决定算法的拟合效果。

第二种:子采样比例(subsample)
子采样比例(subsample):取值为 (0,1](0,1](0,1]。注意:这里是 无放回抽样
选择小于1的比例可以减少方差,即防止过拟合,但是会增加样本拟合的偏差,因此取值不能太低。推荐在 [0.5,0.8][0.5, 0.8][0.5,0.8] 之间。

使用了子采样的GBDT有时也称作随机梯度提升树(Stochastic Gradient Boosting Tree, SGBT)。由于使用了子采样,程序可以通过采样分发到不同的任务去做boosting的迭代过程,最后形成新树,从而减少弱学习器难以并行学习的弱点。

第三种:弱学习器即CART回归树进行正则化剪枝。

三、从参数空间到函数空间理解GBDT+XGBoost

1、泰勒公式

定义:是一个用函数在某点的信息,描述其附近取值的公式。

基本形式
f(x)=f(x0)0!+f′(x0)1!(x−x0)+f′′(x0)2!(x−x0)2+...+f(n)(x0)n!(x−x0)nf(x)=\frac{f(x_0)}{0!}+\frac{f&#x27;(x_0)}{1!}(x-x_0)+\frac{f&#x27;&#x27;(x_0)}{2!}(x-x_0)^2+...+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^nf(x)=0!f(x0)+1!f(x0)(xx0)+2!f(x0)(xx0)2+...+n!f(n)(x0)(xx0)n
其中一阶泰勒展开式就是求一阶导,二阶展开式即求二阶导。x0x_0x0为已知,公式表示 f(x)f(x)f(x)x0x_0x0 附近的展开。

GDBT 或是 xgb 都是一个参数迭代的过程,因此这里表示一个迭代形式的泰勒函数:假设
xt=xt−1+Δxx^t=x^{t-1}+\Delta xxt=xt1+Δx
f(xt)f(x^t)f(xt)x(t−1)x^{(t-1)}x(t1) 处进行展开:
f(xt)=f(xt−1+Δx)≈f(xt−1)+f′(xt−1)Δx+f′′(xt−1)Δx22f(x^t)=f(x^{t-1}+\Delta x)\approx f(x^{t-1})+f&#x27;(x^{t-1})\Delta x+f&#x27;&#x27;(x^{t-1})\frac{\Delta x^2}{2}f(xt)=f(xt1+Δx)f(xt1)+f(xt1)Δx+f(xt1)2Δx2

2、最优化方法

(1)梯度下降法(Gradient Descend Method)

机器学习中需要最小化损失函数 L(θ)L(θ)L(θ),这个 θθθ 就是要求解的模型参数。GDM常用于求解无约束最优化问题,是一种迭代方法。初始化 θθθθ0θ^0θ0,不断迭代来更新 θθθ 的值,进行损失函数的极小化。

  • 迭代公式: θt=θ(t−1)+Δθθ^t = θ^{(t-1)}+\Delta{θ}θt=θ(t1)+Δθ
    进行一阶泰勒展开:
    L(θt)=L(θt−1+Δθ)≈L(θt−1)+L′(θt−1)Δθ\begin{aligned} L(\theta^t)&amp;=L(\theta^{t-1}+\color{red}{\Delta{\theta}}\color{black}{)}\\ &amp;\approx L(\theta^{t-1})+L&#x27;(\theta^{t-1})\color{red}{\Delta{\theta}} \end{aligned}L(θt)=L(θt1+Δθ)L(θt1)+L(θt1)Δθ
    要使得 L(θt)&lt;L(θ(t−1))L(θ^t) &lt; L(θ^{(t-1)})L(θt)<L(θ(t1)),则可取:
    Δθ=−αL′(θt−1),则:θt=θt−1−αL′(θt−1)\color{red}{\Delta{\theta}}\color{black}{=-\alpha L&#x27;(\theta^{t-1})},\text{则:}\theta^t=\theta^{t-1}-\alpha{L&#x27;(\theta^{t-1})}Δθ=αL(θt1),则:θt=θt1αL(θt1)
  • 其中解释一下为何 Δθ\Delta\thetaΔθ 要取值为上式:首先明确,α\alphaα 的值为正,为了保证 Δθ\Delta\thetaΔθ 恒为负数,则需要乘上 L′(θt−1)L&#x27;(θ^{t-1})L(θt1) 先保证其为整数,再加上负号即可。
  • 其实 α\alphaα 就是我们常用的学习速率
  • α\alphaα 如何选取?
    通常我们选取一个很小的值,例如 0.01−0.10.01-0.10.010.1 之间。

(2)牛顿法

牛顿法就是求取二阶泰勒展开:
L(θt)≈L(θt−1)+L′(θt−1)Δθ+L′′(θt−1)Δθ22\begin{aligned} L(\theta^t) &amp;\approx L(\theta^{t-1})+L&#x27;(\theta^{t-1})\color{red}{\Delta{\theta}}\color{black}+L&#x27;&#x27;(\theta^{t-1})\frac{\color{red}{\Delta\theta^2}}{2} \end{aligned}L(θt)L(θt1)+L(θt1)Δθ+L(θt1)2Δθ2
假设我们要求的参数 θ\thetaθ 是一维,则记一阶导数为 ggg,二阶导数为 hhh,那么上式可表示为:
L(θt)≈L(θt−1)+gΔθ+hΔθ22\begin{aligned} L(\theta^t) &amp;\approx L(\theta^{t-1})+g\color{red}{\Delta{\theta}}\color{black}+h\frac{\color{red}{\Delta\theta^2}}{2} \end{aligned}L(θt)L(θt1)+gΔθ+h2Δθ2
此时若求取 L(θt)L(θ^t)L(θt) 的极小值,则令 gΔθ+hΔθ22g{\Delta{\theta}}+h\frac{{\Delta\theta^2}}{2}gΔθ+h2Δθ2 极小,求取其一阶导数为 000 时的 Δθ\Delta\thetaΔθ 即可:
∂(gΔθ+hΔθ22)∂Δθ=0Δθ=−gh\begin{aligned} \frac{\partial\left( g\color{red}{\Delta{\theta}}\color{black}+h\frac{\color{red}{\Delta\theta^2}}{2} \right)}{\partial\color{red}\Delta\theta}\color{black} &amp;= 0 \\ \\ \color{red}\Delta\theta=\color{black}-\frac{g}{h} \end{aligned}Δθ(gΔθ+h2Δθ2)Δθ=hg=0
θt=θt−1+Δθ=θt−1−gh\theta^t=\theta^{t-1}+\color{red}{\Delta\theta}\color{black}=\theta^{t-1}-\frac{g}{h}θt=θt1+Δθ=θt1hg
如果参数 θ\thetaθ 是向量形式,那么可以向高维空间推广,此时的 hhhHHH(海森矩阵)。

3、从参数空间到函数空间

(1)概述

以上介绍的梯度下降和牛顿法均为参数空间的优化算法
如何从参数空间推广到函数空间呢?

  • 从 Gradient descend 到 Gradient boosting;
  • 从 Newton’s method 到 Newton Boosting

下面介绍GBDT和xgb中使用的函数空间的优化算法,其基本原理还是梯度下降和牛顿法。

两者关系如下:GBDT泛指一切梯度提升树,包括XGB。为了区分二者,可以利用其梯度下降的原理进行区分

  • GBDT在函数空间中利用梯度下降进行优化
  • XGB 在函数空间利用牛顿法进行优化

(2)GBDT:梯度下降从参数空间到函数空间


其中对于函数空间,仅仅是将参数的拟合换为函数的拟合,每次仍然迭代的是一个负梯度,只是其最终得到的是增量函数的累加而不是增量参数累加。
GBDT里,迭代项 ft(x)f_t(x)ft(x) 就是我们的决策树,最终将每棵决策树的预测值(函数)加起来。

(3)XGBoost:牛顿法从参数空间到函数空间

对于牛顿法的函数空间优化,其方法类似于梯度下降的函数空间优化。

牛顿法不仅使用目标函数的一阶偏导数,还进一步利用了目标函数的二阶偏导,这样就考虑了梯度变化的趋势,因而能更全面地确定合适的搜索方向以加快收敛。

  • 从参数空间到函数空间理解GBDT+XGBoost

总结

以上是生活随笔为你收集整理的集成学习(ensemble learning)(四)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。