日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习笔记GBDT(一):原理

發(fā)布時間:2025/3/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习笔记GBDT(一):原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

文章目錄

  • 目錄
  • 前言
  • 1. GBDT概述
  • 2. GBDT的負梯度擬合
  • 3. GBDT回歸算法
    • 1) 初始化弱學(xué)習(xí)器
    • 2) 對于迭代輪數(shù)t=1,2,...,T有:
    • 3) 得到強學(xué)習(xí)器f(x)的表達式:
  • 4. GBDT分類算法
    • 4.1 二元GBDT分類算法
    • 4.2 多元GBDT分類算法
  • 5. GBDT常用損失函數(shù)
  • 6. GBDT的正則化
  • 7. GBDT小結(jié)
    • GBDT的主要優(yōu)點有:
    • GBDT的主要缺點是:
  • 問題一:Adaboost和GBDT的區(qū)別是什么?
  • 問題二:GBDT如何減少異常點的影響?

前言

機器學(xué)習(xí)相關(guān)內(nèi)容現(xiàn)在非常流行,為了走得更遠,非常需要我們有一個堅實的基礎(chǔ),因此,現(xiàn)在,開始好好復(fù)習(xí)一些經(jīng)典算法,并做好算法總結(jié)。

本文介紹Boosting家族中另一個重要的算法–梯度提升樹(Gradient Boosting Decision Tree,簡稱GBDT)。GBDT有很多簡稱,比如GBT(Gradient Boosting Tree),GTB(Gradient Tree Boosting), GBRT(Gradient Boosting Regression Tree),MART(Multiple Additive Regression Tree),其實都是指的同一種算法,本文統(tǒng)一簡稱GBDT。

1. GBDT概述

GBDT也是集成學(xué)習(xí)Boosting家族的成員,但是和傳統(tǒng)的Adaboost有很大的不同。回顧一下Adaboost,我們是利用前一輪迭代弱學(xué)習(xí)器的誤差率來更新訓(xùn)練集的權(quán)重,這樣一輪一輪地迭代下去。GBDT也是迭代,使用了前向分布算法,但是弱學(xué)習(xí)器限定了只能使用CART回歸樹模型,同時迭代思路和Adaboost也有所不同。
在GBDT的迭代中,假設(shè)前一輪迭代得到的強學(xué)習(xí)器是:ft?1(x)f_{t-1}(x)ft?1?(x),損失函數(shù)是L(y,ft?1(x))L(y,f_{t-1}(x))L(y,ft?1?(x)),本輪迭代的目標是找到一棵CART回歸樹模型的弱學(xué)習(xí)器ht(x)h_t(x)ht?(x),讓本輪的損失L(y,ft(x)=L(y,ft?1(x)+ht(x))L(y,ft(x)=L(y,f_{t?1}(x)+h_t(x))L(y,ft(x)=L(y,ft?1?(x)+ht?(x))最小。也就是說,本輪迭代找到的決策樹,要使樣本的損失盡量變得更小。
GBDT的思想可以用一個通俗的例子來解釋,假如有個人30歲,我們首先用20歲去擬合,發(fā)現(xiàn)損失是10歲,這時我們再用6歲去擬合剩下的損失,發(fā)現(xiàn)差距還有4歲,第三輪我們用3歲擬合剩下的差距,差距就只有一歲了。如果我們的迭代輪數(shù)還沒有完,可以繼續(xù)迭代下去,每一輪迭代,擬合的歲數(shù)誤差都會減小。
從上面的例子來看這個思想還是蠻簡單的,但是有個問題是這個損失的擬合不好度量,損失函數(shù)各種各樣,怎么找到一種通用的擬合方法呢?

2. GBDT的負梯度擬合

前面我們介紹了GBDT的基本思路,但是沒有解決損失函數(shù)擬合方法的問題。針對這個問題,大牛Freidman提出了用損失函數(shù)的負梯度來擬合本輪損失的近似值,進而擬合一棵CART回歸樹。第t輪的第i個樣本的損失函數(shù)的負梯度表示為
rti=??L(yi,f(xi))?f(xi)f(x)=ft?1(x)r_{ti}=-{\frac{\partial L{(y_i,f(x_i))}}{\partial f(x_i)}}_{f(x)=f_{t-1}(x)}rti?=??f(xi?)?L(yi?f(xi?))?f(x)=ft?1?(x)?
利用(xi,rti)(i=1,2,..m)(x_i,r_{ti})(i=1,2,..m)(xi?,rti?)(i=1,2,..m),我們可以擬合一棵CART回歸樹,得到第t棵回歸樹,其對應(yīng)的葉子節(jié)點區(qū)域Rtj,j=1,2,..,jR_{tj},j=1,2,..,jRtj?,j=1,2,..,j,其中J為葉子節(jié)點的個數(shù)。
針對每一個葉子節(jié)點里的樣本,我們求出使損失函數(shù)最小,也就是擬合葉子節(jié)點最好的輸出值ctjc_{tj}ctj?,如下所示:
ctj=argminc∑xi∈RtjL(yi,ft?1(xi)+c)c_{tj}=argmin_c \sum_{x_i \in R_{tj} }L(y_i,f_{t-1}(x_i)+c)ctj?=argminc?xi?Rtj??L(yi?,ft?1?(xi?)+c)

(注意:這里的c可以理解為用來擬合之前的GBDT個體學(xué)習(xí)器學(xué)習(xí)后所剩下的殘差,因此與權(quán)重系數(shù)無關(guān)。比如某個樣本要擬合數(shù)字10,之前的幾個GBDT學(xué)習(xí)器已經(jīng)擬合到了9.5。那么我們現(xiàn)在要找到一個c,使當(dāng)前的GBDT包含這個樣本的節(jié)點的誤差最小。那么這個值c在考慮節(jié)點其它樣本誤差的同時希望能夠盡量地接近0.5,減少誤差。)

這樣就得到了本輪的決策樹擬合函數(shù),如下所示:
ht(x)=∑j=1JctjI(x∈Rtj)h_t(x)=\sum_{j=1}^Jc_{tj}I(x \in R_{tj})ht?(x)=j=1J?ctj?I(xRtj?)
從而得到本輪最終的強學(xué)習(xí)器,表達式如下所示:
ft(x)=ft?1(x)+∑j=1JctjI(x∈Rtj)f_t(x)=f_{t-1}(x)+\sum_{j=1}^Jc_{tj}I(x \in R_{tj})ft?(x)=ft?1?(x)+j=1J?ctj?I(xRtj?)

通過損失函數(shù)的負梯度來擬合,找到了一種通用的擬合損失誤差的方法,這樣無輪是分類問題還是回歸問題,我們通過其損失函數(shù)的負梯度的擬合,就可以用GBDT來解決我們的分類和回歸問題。區(qū)別僅僅在于損失函數(shù)不同導(dǎo)致的負梯度不同而已。

3. GBDT回歸算法

接下來,我們總結(jié)一下GBDT的回歸算法。
因為,分類算法的輸出是不連續(xù)的類別值,需要一些處理才能使用負梯度,我們在下一節(jié)講。
輸入是訓(xùn)練集樣本T=(x1,y1),(x2,y2),(x3,y3),...(xm,ym)T={(x_1,y_1),(x_2,y_2),(x_3,y_3),...(x_m,y_m)}T=(x1?,y1?),(x2?,y2?),(x3?,y3?),...(xm?,ym?),最大迭代次數(shù)T,損失函數(shù)L。
輸出是強學(xué)習(xí)器f(x)。

1) 初始化弱學(xué)習(xí)器

f0(x)=argminc∑i=1mL(yi,c)f_0(x)=argmin_c \sum_{i=1}^mL(y_i,c) f0?(x)=argminc?i=1m?L(yi?,c)

2) 對于迭代輪數(shù)t=1,2,…,T有:

a) 對于樣本i=1,2,…,m,計算負梯度
rti=??L(yi,f(xi))?f(xi)f(x)=ft?1(x)r_{ti}=-{\frac{\partial L{(y_i,f(x_i))}}{\partial f(x_i)}}_{f(x)=f_{t-1}(x)}rti?=??f(xi?)?L(yi?f(xi?))?f(x)=ft?1?(x)?
b) 利用(xi,rti)(i=1,2,..m)(x_i,r_{ti})(i=1,2,..m)(xi?,rti?)(i=1,2,..m),我們可以擬合一棵CART回歸樹,得到第t棵回歸樹,其對應(yīng)的葉子節(jié)點區(qū)域Rtj,j=1,2,..,jR_{tj},j=1,2,..,jRtj?,j=1,2,..,j,其中J為回歸樹的葉子節(jié)點的個數(shù)。
c) 對于葉子區(qū)域j=1,2,…,J,計算最佳擬合值
ft(x)=ft?1(x)+∑j=1JctjI(x∈Rtj)f_t(x)=f_{t-1}(x)+\sum_{j=1}^Jc_{tj}I(x \in R_{tj})ft?(x)=ft?1?(x)+j=1J?ctj?I(xRtj?)
d) 更新強學(xué)習(xí)器
ft(x)=ft?1(x)+∑j=1JctjI(x∈Rtj)f_t(x)=f_{t-1}(x)+\sum_{j=1}^Jc_{tj}I(x \in R_{tj})ft?(x)=ft?1?(x)+j=1J?ctj?I(xRtj?)

3) 得到強學(xué)習(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}^Jc_{tj}I(x \in R_{tj})f(x)=fT?(x)=f0?(x)+t=1T?j=1J?ctj?I(xRtj?)

4. GBDT分類算法

接下來介紹GBDT分類算法,GBDT的分類算法從思想上和GBDT的回歸算法沒有區(qū)別,但是由于樣本輸出不是連續(xù)的值,而是離散的類別,導(dǎo)致無法直接從輸出類別去擬合類別輸出的誤差。
要解決這個問題有兩種方法,一種是用指數(shù)損失函數(shù),此時GBDT退化為Adaboost算法;另一種是使用類似于Logistic回歸的對數(shù)似然損失函數(shù)的方法。也就是說,我們用的是類別的預(yù)測概率值和真實概率值的差來擬合損失。本文僅討論使用對數(shù)似然損失函數(shù)的GBDT分類算法。對于對數(shù)似然損失函數(shù),又有二元分類和多元分類的區(qū)別。

4.1 二元GBDT分類算法

對于二元GBDT,如果使用類似于Logistic回歸的對數(shù)似然損失函數(shù),則損失函數(shù)為:
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}。則此時的負梯度誤差為
rti=??L(yi,f(xi))?f(xi)f(x)=ft?1(x)=yi/(1+exp(yif(xi)))r_{ti}=-{\frac{\partial L{(y_i,f(x_i))}}{\partial f(x_i)}}_{f(x)=f_{t-1}(x)}=y_i/(1+exp(y_if(x_i)))rti?=??f(xi?)?L(yi?f(xi?))?f(x)=ft?1?(x)?=yi?/(1+exp(yi?f(xi?)))
對于生成的決策樹,各個葉子節(jié)點的最佳殘差擬合值為
ctj=argmin∑xi∈Rtjlog(1+exp(?yi(ft?1(xi)+c)))c_{tj}=argmin \sum_{x_i\in R_{tj}}log(1+exp(-y_i(f_{t-1}(x_i)+c)))ctj?=argminxi?Rtj??log(1+exp(?yi?(ft?1?(xi?)+c)))

由于上式比較難優(yōu)化,一般使用近似值代替
ctj=∑xi∈Rijrti/∑xi∈Rtj∣rti∣(1?∣rti∣)c_{tj}=\sum_{x_i \in R_{ij}}r_{ti}/\sum_{x_i \in R_{tj}}|r_{ti}|(1-|r_{ti}|)ctj?=xi?Rij??rti?/xi?Rtj??rti?(1?rti?)
除了負梯度計算和葉子節(jié)點的最佳殘差擬合的線性搜索,二元GBDT分類和GBDT回歸算法過程相同。

4.2 多元GBDT分類算法

多元GBDT要比二元GBDT復(fù)雜一些,對應(yīng)的是多元Logistic回歸和二元Logistic回歸的復(fù)雜度差別。假設(shè)類別數(shù)為K,則此時的對數(shù)似然損失函數(shù)為:
L(y,f(x))=?∑k=1Kyklogpk(x)L(y,f(x))=-\sum_{k=1}^Ky_klogp_k(x)L(y,f(x))=?k=1K?yk?logpk?(x)
如果樣本輸出類別為k,則yk=1y_k=1yk?=1。第k類的概率pk(x)p_k(x)pk?(x)的表達式為:
pk(x)=exp(fk(x))/∑l=1Kexp(fl(x))p_k(x)=exp(f_k(x))/\sum_{l=1}^Kexp(f_l(x))pk?(x)=exp(fk?(x))/l=1K?exp(fl?(x))

結(jié)合上面兩式,可以計算出第t輪的第i個樣本對應(yīng)類別lll的負梯度誤差為

rtil=?[?L(yi,f(xi))?f(xi)]fk(x)=fl,t?1,x=yil?pl,t?1(xi)r_{til}=-[\frac{\partial L(y_i,f(x_i))}{ \partial f(x_i)}]_{f_{k}(x)=f_{l,{t-1},x}}=y_{il}-p_{l,t-1}(x_i)rtil?=?[?f(xi?)?L(yi?,f(xi?))?]fk?(x)=fl,t?1,x??=yil??pl,t?1?(xi?)

觀察上式可以看出,其實這里的誤差就是樣本i對應(yīng)類別lll的真實概率和t-1輪預(yù)測概率的差值。
對于生成的決策樹,各個葉子節(jié)點的最佳負梯度擬合值為
ctjl=argmin∑i=0m∑k=1KL(yk,ft?1,l(x)+∑j=0JcjlI(xi∈Rtj))c_{tjl}=argmin\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?=argmini=0m?k=1K?L(yk?,ft?1,l(x)?+j=0J?cjl?I(xi?Rtj?))
由于上式比較難優(yōu)化,一般使用近似值代替
ctjl=K?1K∑xI∈Rtjlrtjl∑xi∈Rtil∣r[til∣(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?=KK?1?xi?Rtil??r[?til(1?rtil?)xI?Rtjl??rtjl??

除了負梯度計算和葉子節(jié)點的最佳負梯度擬合的線性搜索,多元GBDT分類和二元GBDT分類以及GBDT回歸算法過程相同。

5. GBDT常用損失函數(shù)

這里我們再總結(jié)一下常用的GBDT損失函數(shù)。
對于分類算法,其損失函數(shù)一般有對數(shù)損失函數(shù)和指數(shù)損失函數(shù)兩種:
a) 如果是指數(shù)損失函數(shù),則損失函數(shù)表達式為
L(y,f(x))=exp(?yf(x))L(y,f(x))=exp(-yf(x))L(y,f(x))=exp(?yf(x))
其負梯度計算和葉子節(jié)點的最佳負梯度擬合參見Adaboost原理篇。
b) 如果是對數(shù)損失函數(shù),分為二元分類和多元分類兩種,參見前面4.1節(jié)和4.2節(jié)。
對于回歸算法,常用損失函數(shù)有如下4種:
a) 均方差,這是最常見的回歸損失函數(shù)
L(y,f(x))=(y?f(x))2L(y,f(x))=(y-f(x))^2L(y,f(x))=y?f(x)2
b) 絕對損失,這個損失函數(shù)也很常見
L(y,f(x))=∣y?f(x)∣L(y,f(x))=|y-f(x)|L(y,f(x))=y?f(x)
對應(yīng)負梯度誤差為:
sign(yi?f(xi))sign(y_i-f(x_i))sign(yi??f(xi?))
c) Huber損失,它是均方差和絕對損失的折衷產(chǎn)物,對于遠離中心的異常點,采用絕對損失,而中心附近的點采用均方差。這個界限一般用分位數(shù)點度量。損失函數(shù)如下:
L(y,f(x))={0.5?(y?f(x))2if∣y?f(x)∣≤δδ(∣y?f(x)∣?0.5?δ)if∣y?f(x)∣>δL(y,f(x))=\begin{cases} 0.5*(y-f(x))^2 &\text{if} |y-f(x)| \leq \delta \\ \delta (|y-f(x)|-0.5*\delta) &\text{if} |y-f(x)| > \delta \end{cases} L(y,f(x))={0.5?(y?f(x))2δ(y?f(x)?0.5?δ)?ify?f(x)δify?f(x)>δ?
對應(yīng)的負梯度誤差為:
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?))={yi??f(xi?)δsign(yi??f(xI?))?ify?f(x)δify?f(x)>δ?

d) 分位數(shù)損失,它對應(yīng)的是分位數(shù)回歸的損失函數(shù),表達式為:
L(y,f(x))=∑y≥f(x)θ∣y?f(x)∣+∑y&lt;f(x)(1?θ)∣y?f(x)∣L(y,f(x))=\sum_{y \ge f(x)}\theta|y-f(x)|+\sum_{y&lt;f(x)}(1-\theta)|y-f(x)| L(y,f(x))=yf(x)?θy?f(x)+y<f(x)?(1?θ)y?f(x)
其中θ為分位數(shù),需要在回歸前指定,對應(yīng)的負梯度誤差為:
r(yi,f(xi))={θif?yi≥f(xi)θ?1if?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?yi?f(xi?)if?yi?<f(xi?)?

對于Huber損失和分位數(shù)損失,主要用于健壯回歸,也就是減少異常點對損失函數(shù)的影響。

6. GBDT的正則化

和Adaboost一樣,GBDT也需要進行正則化,防止過擬合。GBDT的正則化主要有三種方式。
1,類似Adaboost的正則化項,即步長(learning rate)。定義為ννν,對前面弱學(xué)習(xí)器的迭代
fk(x)=fk?1(x)+hk(x)f_k(x)=f_{k-1}(x)+h_k(x)fk?(x)=fk?1?(x)+hk?(x)
如果加上正則化項,則有
fk(x)=fk?1(x)+vhk(x)f_k(x)=f_{k-1}(x)+vh_k(x)fk?(x)=fk?1?(x)+vhk?(x)
ν的取值范圍是0<ν≤1。對于同樣的訓(xùn)練集學(xué)習(xí)效果,較小的ν意味著需要更多的弱學(xué)習(xí)器迭代次數(shù)。通常我們用步長和迭代最大次數(shù)一起來決定算法的擬合效果。
2, 按照比例進行子采樣(subsample),使用該子訓(xùn)練樣本來做模型擬合,取值為(0,1]。注意這里的子采樣和隨機森林不一樣,隨機森林使用的是有放回抽樣,而這里使用的是無放回抽樣。如果取值為1,則全部樣本都使用,等于沒有使用子采樣。如果取值小于1,則只有一部分樣本會去做GBDT的決策樹擬合。選擇小于1的比例可以減少方差,即防止過擬合,但是會增加樣本擬合的偏差,因此取值不能太低,推薦在[0.5, 0.8]之間。
使用了子采樣的GBDT有時也稱作隨機梯度提升樹(Stochastic Gradient Boosting Tree, SGBT)。由于使用了子采樣,程序可以通過采樣分發(fā)到不同的任務(wù)去做boosting的迭代過程,最后形成新樹,從而減少弱學(xué)習(xí)器難以并行學(xué)習(xí)的弱點。GBDT的并行以及后來出現(xiàn)的xgBoost的并行主要是針對單棵樹特征處理和選擇的并行(特征排序),以及在模型完成后進行預(yù)測時的并行。
3) 對于弱學(xué)習(xí)器即CART回歸樹進行正則化剪枝。

7. GBDT小結(jié)

GDBT本身并不復(fù)雜,不過要吃透的話需要對集成學(xué)習(xí)的原理,決策樹原理和各種損失函數(shù)有一定的了解。由于GBDT的卓越性能,只要是研究機器學(xué)習(xí)都應(yīng)該掌握這個算法,包括背后的原理和應(yīng)用調(diào)參方法。目前GBDT的算法比較好的庫是xgboost。當(dāng)然scikit-learn也可以。
最后總結(jié)一下GBDT的優(yōu)缺點。

GBDT的主要優(yōu)點有:

  • 可以靈活處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值;
  • 在相對少的調(diào)參時間情況下,預(yù)測的準備率也可以比較高。這個是相對SVM來說的。
  • 使用一些健壯的損失函數(shù),對異常值的魯棒性非常強。比如Huber損失函數(shù)和分位數(shù)(Quantile)損失函數(shù)。
  • GBDT的主要缺點是:

  • 由于弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù)。不過可以通過自采樣的SGBT來達到部分并行。
  • 問題一:Adaboost和GBDT的區(qū)別是什么?

    答:Adaboost和GBDT不一樣的地方最明顯的就是損失函數(shù)了。Adaboost的目標是找到一個可以使當(dāng)前損失函數(shù)最小的弱分類器,具體的數(shù)學(xué)解就是偏導(dǎo)數(shù)等于零的解。而GBDT不同的地方是讓偏導(dǎo)數(shù)等于零這個解不是對所有的損失函數(shù)都有效的,在Adaboost里面做分類的時候,指數(shù)函數(shù)做損失函數(shù),這個解是可求的,但是換成一般函數(shù)怎么辦呢?然后就在損失函數(shù)梯度提升樹(GBDT)原理那里做一階泰勒展開,因為展開后的方程變成了一個常數(shù)加上一階梯度和新的弱分類器的乘積,所以梯度和弱分類器的乘積越小,損失函數(shù)就越小,因此要拿逆梯度來擬合新的弱分類器,這時候可以把弱分類器分類作為步長,讓損失函數(shù)沿著梯度做逆梯度下降。至于一些正則化項的存在很大程度是為了限制步長和弱分類器的復(fù)雜度,限制弱分類器的復(fù)雜度很好理解,限制步長就是因為在逆梯度方向一步不能邁的太大。

    問題二:GBDT如何減少異常點的影響?

    答:主要用到了以下3種方法:1) 使用健壯的損失函數(shù),比如Huber損失函數(shù)和分位數(shù)(Quantile)損失函數(shù);2) 增加正則化項;3) 采用無放回的子采樣。
    另外,對于異常點的魯棒性,隨機森林要比GBDT好的多。主要原因是GBDT的模型在迭代過程中較遠的異常點殘差往往會比正常點大,導(dǎo)致最終建立的模型出現(xiàn)偏差。一般的經(jīng)驗是,異常點少的樣本集GBDT表現(xiàn)更加優(yōu)秀,而異常點多的樣本集,隨機森林表現(xiàn)更好。

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的机器学习笔记GBDT(一):原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。