99精品亚洲国产_中国A级毛片基地_欧美高清av电影在线观看_中文国产三级自拍_色爱区综合激月婷婷激情五月_一级黄色片免费在线观看_涩涩片大全百度影音_国产精品视频2024年最新视频_天堂AV无码不卡_在线观看欧美韩日

pg棋牌 RF,GBDT,XGBoost,lightGBM的對比

RF、GBDT、XGBoost、lightGBM都屬于集成學習(Ensemble Learning)。集成學習的目的是通過結(jié)合多個基學習器的預測結(jié)果來提高基學習器的泛化能力和魯棒性。

根據(jù)基礎學習器的生成方式,目前的集成學習方法大致分為兩類:即基礎學習器之間存在強依賴關(guān)系、必須串行生成的序列化方法和基礎學習器之間不存在強依賴關(guān)系。 ,可以同時生成的并行化方法;前者以Boosting為代表,后者以Bagging和“隨機森林”(Random Forest)為代表。

集成學習簡介:機器學習模型優(yōu)化的模型融合

本文主要比較集成學習中重要且廣泛使用的方法:RF(隨機森林)、ET(極端隨機樹)、GBDT(梯度提升決策樹)、XGBoost、lightGBM

1. RF(隨機森林):

1、射頻原理:

RF是Bagging算法的優(yōu)化版本。改進1:基礎學習器僅限于決策樹。改進2:除了bagging之外,還對樣本添加擾動,對屬性也添加擾動,即在決策樹學習的過程中。引入隨機屬性選擇。對于基礎決策樹的每個節(jié)點,從該節(jié)點的屬性集中隨機選擇一個包含k個屬性的子集,然后從這個子集中選擇一個最優(yōu)屬性進行劃分。 。

2. RF的生成:算法如下

輸入為樣本集D={(x,y1),(x2,y2),...(xm,ym)}D={(x,y1),(x2,y2),...(xm,ym)},弱分類器迭代次數(shù)T。
輸出為最終的強分類器f(x)f(x)
1)對于t=1,2...,T:
    a)對訓練集進行第t次隨機采樣,共采集m次,得到包含m個樣本的采樣集D-m
   b)用采樣集D-m訓練'第m個決策樹模型Gm(x)',在訓練決策樹模型的節(jié)點的時候, '在節(jié)點上所有的樣本特征中選擇一部分樣本特征, 在這些隨機選擇的部分樣本特征中選擇一個最優(yōu)的特征來做決策樹的左右子樹劃分'
2) 如果是'分類算法預測',則T個弱學習器投出最多票數(shù)的類別或者類別之一為最終類別。
'如果是回歸算法',T個弱學習器得到的回歸結(jié)果進行算術(shù)平均得到的值為最終的模型輸出。

3. RF和Bagging的比較:RF的初始性能很差,特別是當只有一個基學習器時。隨著學習者數(shù)量的增加,隨機森林通常會收斂到較低的泛化誤差。隨機森林的訓練效率也會高于bagging,因為在構(gòu)建單個決策樹時,bagging使用的是“確定性”決策樹。選擇特征劃分節(jié)點時,必須考慮所有特征,而使用隨機森林“隨機”特征數(shù)并且僅考慮特征的子集。

4、優(yōu)點和缺點:

優(yōu)點:訓練可以高度并行,在大數(shù)據(jù)時代大樣本訓練速度上有優(yōu)勢(個人認為這是主要優(yōu)勢);它可以處理非常高維的數(shù)據(jù),無需進行特征選擇pg電子娛樂平臺,并且在訓練后,給出特征的重要性;與Boosting系列的Adaboost和GBDT相比,RF實現(xiàn)相對簡單。 。

缺點:在有噪聲的分類或回歸問題上很容易過擬合。

2. ET(Extremely random trees) Extra-Trees(極端隨機樹):

1、ET的原理:該算法與隨機森林算法非常相似,都是由很多決策樹組成。但該算法與隨機森林有兩個主要區(qū)別:

1)對于每棵決策樹的訓練集,RF使用隨機采樣bootstrap來選擇采樣集作為每棵決策樹的訓練集,而額外樹一般不使用隨機采樣,即每棵決策樹都使用原始訓練放。

2)RF決策樹選擇劃分特征后,會根據(jù)信息增益、基尼系數(shù)、均方誤差等原則選擇最優(yōu)特征值劃分點,與傳統(tǒng)決策樹相同。但額外的樹木更為激進。他們隨機選擇一個特征值來劃分決策樹。

2、ET隨機選取特征值的說明:

當特征屬性為類別形式時,隨機選擇某些類別的樣本作為左分支,其他類別的樣本作為右分支;當特征屬性為數(shù)值形式時,隨機選擇特征屬性最大值的樣本。該值和最小值之間的任意數(shù)字。當樣本的特征屬性值大于該值時,則作為左分支。當小于這個值時,就作為右分支。這樣就達到了將樣本隨機分配到該特征屬性下的兩個分支的目的。然后計算此時的分叉值(如果特征屬性是類別形式,可以應用基尼指數(shù);如果特征屬性是數(shù)值形式,可以應用均方誤差)。遍歷節(jié)點中的所有特征屬性,根據(jù)上述方法獲取所有特征屬性的分叉值。我們選擇分叉值最大的形式來實現(xiàn)節(jié)點的分叉。

3、ET和RF的比較:由于特征值的劃分點是隨機選擇的,而不是最優(yōu)點,所以生成的決策樹的大小一般會比RF生成的要大。換句話說,模型的方差相對于RF進一步減小,但偏差相對于RF進一步增大。在某些時候,額外的樹比 RF 具有更好的泛化能力。

(RF還有一個變體,Isolation Forest,用于查找異常值,與本文關(guān)系不大,可以自行關(guān)注)

3.GBDT(梯度提升決策樹):

1、GBDT原理:

GBDT是集成學習Boosting家族的一員,是對boosting樹的改進。 Boosted Tree是當加性模型和學習算法都是前向分布算法時的算法。然而,它將基本學習器限制在決策樹上。對于二元分類問題,損失函數(shù)是指數(shù)函數(shù),這意味著AdaBoost算法中的基本學習器僅限于二元決策樹;對于回歸問題,損失函數(shù)是平方誤差,此時擬合的是當前模型。殘差。梯度boosting樹GBDT是boosting樹算法的改進。 boosting樹算法僅適用于誤差函數(shù)為指數(shù)函數(shù)和平方誤差的情況。對于一般損失函數(shù),梯度boosting樹算法使用當前模型值中損失函數(shù)的負梯度作為殘差Poor近似。

GBDT會累加所有樹的結(jié)果,而這個累加并不能通過分類來完成,所以GBDT的樹都是CART回歸樹,而不是分類樹(雖然GBDT調(diào)整后也可以用于分類,但它不代表樹) GBDT 是一個分類樹)。

2.GBDT算法:

關(guān)于GBDT算法原理的詳細信息可以參考:梯度提升樹(GBDT)原理總結(jié)

關(guān)鍵部分總結(jié)如下:

輸入是訓練集樣本

,最大迭代次數(shù)T,損失函數(shù)L。

輸出是強學習器 f(x)

1)初始化弱學習器

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

a) 計算樣本 i=1,2,...m 的負梯度

b) 利用

,擬合一棵CART回歸樹得到第t棵回歸樹,其對應的葉子節(jié)點面積為

![這里寫圖片描述](http://latex.codecogs.com/gif.latex?R_%7Btj%7D),j=1,2,...,J

。其中 J 是回歸樹 t 的葉節(jié)點數(shù)。

c) 計算葉面積 j =1,2,..J 的最佳擬合值

d) 更新強學習器

3)獲取強學習器f(x)的表達式

3、GBDT和Boosting的區(qū)別:

GBDT 與傳統(tǒng)的 Boosting 有很大不同。 GBDT的每一次計算都是為了減少之前的殘差。為了消除殘差,我們可以在殘差減小的梯度方向建立模型。所以,在 GradientBoost 中,每建立一個新模型,都是讓之前模型的殘差走梯度下降法,這與傳統(tǒng)的 Boosting 注重正確和錯誤的樣本權(quán)重有很大不同。

4、優(yōu)點和缺點:

優(yōu)點:可以靈活處理各種類型的數(shù)據(jù);與SVM相比,參數(shù)調(diào)整時間相對較少,預測精度較高。

缺點:基學習器之前存在串行關(guān)系pg電子麻將胡了,難以并行訓練數(shù)據(jù)。

4.XGBoost:

1.了解XGBoost原理:

XGBoost原理詳解。推薦兩篇很棒的博客,xgboost原理和xgboost算法原理。

這里我簡單解釋一下我的理解:

XGBoost是集成學習Boosting家族的一員,是基于GBDT的Boosting算法的改進。 GBDT使用模型在數(shù)據(jù)上的負梯度作為殘差的近似值來擬合殘差。 XGBoost 也對數(shù)據(jù)進行殘差擬合,但它使用泰勒展開來近似模型損失殘差;同時,XGBoost改進了模型的損失函數(shù),并添加了模型復雜度的正則項。

2、XGBoost和GBDT的區(qū)別:了解了XGBoost的原理就很容易理解兩者的區(qū)別

損失函數(shù)的變化:(衍生品和正則項的理解)

工具的優(yōu)化:(趨勢值和并行性的認知)

5. 輕GBM:

1. lightGBM的理解:它是微軟開發(fā)的一個新的boosting框架?;驹砼cXGBoost相同,但在框架上進行了優(yōu)化(重點是優(yōu)化模型的訓練速度)。

lightGBM介紹參考:Faster Than XGBOOST – LightGBM介紹

2.lightGBM和XGBoost的區(qū)別:

(1) xgboost采用level-wise分裂策略,而lightGBM采用leaf-wise策略。不同之處在于xgboost不加區(qū)別地分割每一層中的所有節(jié)點。有些節(jié)點的增益可能很小,對結(jié)果沒有影響。大,但是xgboost也被拆分了,這就帶來了必要的開銷。 leaf-wise的方法是在當前所有葉子節(jié)點中選擇分裂收益最大的節(jié)點進行分裂,并遞歸地進行。很明顯,leaf-wise的這種方法很容易過擬合,因為很容易陷入到比較高的深度,所以需要限制最大深度,以避免過擬合。

(2)lightgbm采用的是基于直方圖的決策樹算法,與xgboost中的exact算法不同。直方圖算法在內(nèi)存和計算成本方面具有相當大的優(yōu)勢。

-.內(nèi)存優(yōu)勢:顯然,直方圖算法的內(nèi)存消耗是(#data* #features * 1Bytes)(因為對特征分桶后只保存了特征離散化后的值)pg賞金女王單機版試玩平臺,而xgboost的exact算法的內(nèi)存消耗是:(2 * #data * #features* 4Bytes),因為xgboost需要同時保存原始特征值和該值的順序索引。這些值需要32位浮點數(shù)來保存。

-.計算優(yōu)勢。預排序算法在選擇分割特征時需要遍歷所有樣本的特征值來計算分割收益,時間為(#data),而直方圖算法只需要遍歷桶,時間為( #垃圾桶 )

(3)直方圖差分加速度

-.父節(jié)點的直方圖減去兄弟節(jié)點的直方圖就可以得到子節(jié)點的直方圖,從而加快計算速度。

(4)lightgbm支持直接輸入分類特征

-.在分割離散特征時,將每個值視為一個桶,分割時的增益計算為“是否屬于某個類別”的增益。類似于one-hot編碼。

(5)但實際上,xgboost的近似直方圖算法也與lightgbm的直方圖算法類似。為什么xgboost的近似直方圖算法還是比lightgbm慢很多?

-. xgboost 在每一層動態(tài)構(gòu)建直方圖。因為xgboost的直方圖算法并不是針對特定的特征,而是所有的特征共享一個直方圖(每個樣本的權(quán)重是二階導數(shù)),所以每個層的直方圖都要重新構(gòu)建,而lightgbm對于每個層都有一個直方圖特征,因此構(gòu)建一次直方圖就足夠了。

-. lightgbm做了緩存優(yōu)化嗎?

(6)lightgbm的哪些方面是并行化的?

-.特征并行

一般的特征并行就是對數(shù)據(jù)進行垂直分區(qū)(垂直分區(qū)數(shù)據(jù),即拆分屬性),然后將拆分后的數(shù)據(jù)分散到各個worker上。每個worker計算自己擁有的數(shù)據(jù)的最佳分割點,然后匯總得到全局結(jié)果。最佳分裂點。但lightgbm表示,這種方式的通信開銷比較大。 lightgbm的做法是每個worker擁有所有數(shù)據(jù),然后進行劃分? (我不明白,既然每個worker都有所有的數(shù)據(jù),那么總結(jié)有什么意義呢?這個并行性體現(xiàn)在哪里??)

-.數(shù)據(jù)并行

傳統(tǒng)的數(shù)據(jù)并行對數(shù)據(jù)集進行劃分,也稱為并行分區(qū)(水平分區(qū)數(shù)據(jù))。分發(fā)到每個worker后,worker將獲得的數(shù)據(jù)制作直方圖,并對每個worker的直方圖進行匯總,得到全局直方圖。 Lightgbm還聲稱這個操作的通信開銷比較大。 Lightgbm的做法是使用“Reduce Scatter”機制。它并沒有總結(jié)所有的直方圖,只是總結(jié)了不同worker的不同特征的直方圖(原理?)。在這個總結(jié)的直方圖上進行分割并最終同步。

關(guān)鍵詞:

客戶評論

我要評論