XGBoost演算法原理簡析

來源:互聯網
上載者:User

標籤:資料科學   情境   flv   alt   fnr   決策樹   strong   能力   margin   

“Young man, in mathematics you don’t understand things. You just get used to them.”

XGBoost(eXtreme Gradient Boosting)演算法是Gradient Boosting演算法的高效實現版本,因其在應用實踐中表現出優良的效果和效率,因而也被工業界廣為推崇。

想要瞭解XGBoost演算法的原理,首先需要理解Boosting演算法。簡單來說,Boosting演算法是將個體學習器整合為更複雜學習器的機器學習方法,它更強調個體學習器之間存在強依賴關係,因此也可認為是串列整合學習方法。相比下,Bagging演算法則屬於並行整合學習方法。

Boosting演算法的基本原理是:首先用初始樣本訓練一個基學習器,根據學習表現對樣本分布進行調整,使得表現差的樣本獲得更多的關注,然後不斷迭代用調整分布後的樣本訓練下一個基學習器,直到基學習器數量達到指定數目。

Boosting演算法族中最著名的即是Freund於1997年提出的AdaBoost演算法,可將其理解為“加性模型”,即最終的學習器為t個基學習器的“加權和”模型,每次使用訓練錯誤的樣本訓練新的基學習器,並通過權重調整降低之前表現不佳的學習器的影響,最終降低整合學習器的結果偏差。

2001年,Freund又提出了Gradient Boosting架構,將損失函數擴充到更一般的情況,即通過梯度計算迴歸擬合的殘差(準確應稱之為偽殘差),基於該殘差產生新的基學習器,並計算其最優的疊加權重值。如果選擇基分類器為決策樹(如CART樹),則對應為GBDT演算法。

CART樹是分類樹,並不滿足GB迴歸損失函數的要求,因此需要將分類GINI係數指標替換為最小均方差,即當所有分枝的預測結果唯一或是達到分葉節點數量上限時,以該樹所有節點的預測均值作為該分類器的預測結果。此外,GBDT還借鑒了Bagging整合學習的一些思想,例如通過隨機抽樣提高模型的泛化能力,通過交叉驗證選擇最優參數等。

2014年,陳天奇博士提出了XGBoost演算法,它可認為是在GBDT演算法基礎上的進一步最佳化。首先,XGBoost演算法在基學習器損失函數中引入了正則項,控制減少訓練過程當中的過擬合;其次,XGBoost演算法不僅使用一階導數計算偽殘差,還計算二階導數可近似快速剪枝的構建新的基學習器;此外,XGBoost演算法還做了很多工程上的最佳化,例如支援並行計算、提高計算效率、處理稀疏訓練資料等等。

綜上分析,XGBoost演算法源起於Boosting整合學習方法,在演化過程中又融入了Bagging整合學習方法的優勢,通過Gradient Boosting架構自訂損失函數提高了演算法解決通用問題的能力,同時引入更多可控參數即可針對問題情境進行最佳化,最後通過工程實現方面細節最佳化,在保證演算法結果穩定的同時還可高效處理大規模資料,可擴充支援不同程式設計語言。這些因素共同使它成為了工業界的主流機器學習演算法之一。

對XGBoost演算法意猶未盡的朋友,可在資料小蝦米公眾號後台回複關鍵字“xgboost”,下載陳天奇博士的論文PPT細細品味。

資料科學武林風起雲湧,
隨資料小蝦米共闖江湖~

?

XGBoost演算法原理簡析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.