【ML】面試準備,關於Adaboost & GBDT演算法你需要知道的那些

  • 2020 年 3 月 13 日
  • 筆記

研究方向:機器學習和自然語言處理

導讀

上一份筆記在介紹決策樹的過程中我們提到了「決策樹是許多集成學習演算法的基礎演算法」。那麼,什麼是集成學習演算法、集成學習演算法有哪幾種、它們彼此之間有什麼區別、集成學習演算法合起來性能一定會超過基礎學習器嗎?在接下來的幾份筆記中,我們將會針對幾種集成學習演算法針對高頻問題做推導和解答。

這份筆記將首先針對Adaboost和GBDT演算法進行介紹,Adaboost和GBDT演算法都屬於集成學習中採用Boosting策略的演算法,Boosting策略的本質思想就是通過高度相關的弱學習器,在每一輪的迭代重逐漸減小偏差。細分來看,Adaboost和GBDT演算法對於減小偏差的方式各有不同:

Adaboost演算法的核心是權重的調整:Adaboost在迭代中依據學習器每一輪的表現,調整樣本權重和弱學習器權重,最終將多個弱學習器累加成一個強學習器。

GBDT (Gradient Boosting Decision Tree) 梯度提升樹的核心在於殘差的擬合:GBDT用損失函數的負梯度作為殘差的估計值,使用CART回歸是依據均方差進行擬合。

如果你剛剛接觸集成學習演算法,你可能會有如下疑惑:

  • Adaboost和隨機森林有什麼區別?
  • GBDT和Adaboost如何實現分類和回歸?
  • GBDT和Adaboost有什麼區別和聯繫?
  • GBDT如何應對過擬合?
  • 在實際使用中,GBDT為什麼在高維稀疏特徵的數據集上表現較差?

這份筆記將會從個人的理解對這些問題進行推導和解答,如有疏漏,感謝提出~

筆記