前言
如果你能找到這里,真是我的幸運~這里是藍白絳的學(xué)習(xí)筆記,本集合主要針對《百面機器學(xué)習(xí)——算法工程師帶你去面試》這本書。主要記錄我認為重要的知識點,希望對大家有幫助。
第十二章 集成學(xué)習(xí)
5、梯度提升決策樹的基本原理
- 梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)是Boosting算法中非常流行的模型。Gradient Boosting是Boosting中的一大類算法,基本思想是根據(jù)當(dāng)前模型損失函數(shù)的負梯度信息來訓(xùn)練新加入的弱分類器,然后將訓(xùn)練好的弱分類器以累加的形式結(jié)合到現(xiàn)有模型中。采用決策樹為弱分類器的Gradient Boosting算法被稱為GBDT,有時也稱MART(Multiple Additive Regression Tree)。GBDT中使用的決策樹通常為CART樹。
- 梯度提升和梯度下降的區(qū)別和聯(lián)系:
- 聯(lián)系:兩者均是在每一輪迭代中,利用損失函數(shù)相對于模型的負梯度方向的信息來對當(dāng)前模型進行更新。
- 區(qū)別:在梯度下降中,模型是以參數(shù)化形式表示,從而模型的更新等價于參數(shù)的更新;在梯度提升中,模型并不需要進行參數(shù)化表示,而是直接定義在函數(shù)空間中,從而大大擴展了可以使用的模型種類。
提升算法 | 目標(biāo) | 迭代公式 | 損失 |
---|---|---|---|
梯度提升 | 函數(shù)空間 |
||
梯度下降 | 參數(shù)空間 |
- GBDT的優(yōu)點和局限性:
- 優(yōu)點:
(1) 預(yù)測階段的計算速度快,樹與樹之間可并行計算。
(2) 在分布稠密的數(shù)據(jù)集上,泛化能力和表達能力都很好。
(3) 采用決策樹作為弱分類器使得GBDT模型具有較好的解釋性和魯棒性,能夠自動發(fā)現(xiàn)特征間的高階關(guān)系,也不需要對數(shù)據(jù)進行特殊的預(yù)處理如歸一化等。 - 局限:
(1) GBDT在高維稀疏的數(shù)據(jù)集上,表現(xiàn)不如支持向量機或神經(jīng)網(wǎng)絡(luò)。
(2) GBDT在處理文本分類特征問題上,相對于其他模型優(yōu)勢不如在處理數(shù)值特征時明顯。
(3) 訓(xùn)練過程需要串行訓(xùn)練,只能在決策樹內(nèi)部采用一些局部并行的手段提升訓(xùn)練速度。
6、XGBoost與GBDT的聯(lián)系和區(qū)別
- XGBoost與GBDT的聯(lián)系和區(qū)別可以總結(jié)成以下幾個方面:
- GBDT是機器學(xué)習(xí)算法,XGBoost是該算法的工程實現(xiàn)。
- 在使用CART作為基分類器時,XGBoost就顯式地加入了正則項來控制模型的復(fù)雜度,有利于防止過擬合,提高模型的泛化能力。
- GBDT在模型訓(xùn)練時只使用了代價函數(shù)的一階導(dǎo)數(shù)信息,XGBoost對代價函數(shù)進行二階泰勒展開,可以同時使用一階和二階導(dǎo)數(shù)。
- 傳統(tǒng)的GBDT使用CART作為基分類器,XGBoost支持多種類型的基分類器,比如線性分類器。
- 傳統(tǒng)的GBDT在每輪迭代時使用全部的數(shù)據(jù),XGBoost則采用了與隨機森林相似的策略,支持對數(shù)據(jù)進行采樣。
- 傳統(tǒng)的GBDT沒有設(shè)計對缺失值進行處理,XGBoost能夠自動學(xué)習(xí)出缺失值的處理策略。
小結(jié)
這是本章的第二部分,主要講了梯度提升和梯度下降的區(qū)別、GBDT的優(yōu)缺點、XGBoost與GBDT的聯(lián)系與區(qū)別。
結(jié)尾
如果您發(fā)現(xiàn)我的文章有任何錯誤,或?qū)ξ业奈恼掠惺裁春玫慕ㄗh,請聯(lián)系我!如果您喜歡我的文章,請點喜歡~*我是藍白絳,感謝你的閱讀!