機器學習算法中GBDT和XGBOOST的區別有哪些


首先xgboost是Gradient Boosting的一種高效系統實現,並不是一種單一算法。xgboost里面的基學習器除了用tree(gbtree),也可用線性分類器(gblinear)。而GBDT則特指梯度提升決策樹算法
xgboost相對於普通gbm的實現,可能具有以下的一些優勢:

1、顯式地將樹模型的復雜度作為正則項加在優化目標
2、公式推導里用到了二階導數信息,而普通的GBDT只用到一階
3、允許使用column(feature) sampling來防止過擬合,借鑒了Random Forest的思想,sklearn里的gbm好像也有類似實現。
4.實現了一種分裂節點尋找的近似算法,用於加速和減小內存消耗。
5.節點分裂算法能自動利用特征的稀疏性。
6.data事先排好序並以block的形式存儲,利於並行計算
7.cache-aware, out-of-core computation,這個我不太懂。。
8.支持分布式計算可以運行在MPI,YARN上,得益於底層支持容錯的分布式通信框架rabit。

很多,主要說下監督學習這塊的算法哈。歡迎討論。
svm,支撐向量機,通過找到樣本空間中的一個超平面,實現樣本的分類,也可以作回歸,主要用在文本分類,圖像識別等領域,;
lr,邏輯回歸,本質也是線性回歸,通過擬合擬合樣本的某個曲線,然后使用邏輯函數進行區間縮放,但是一般用來分類,主要用在ctr預估、推薦等;
nn,神經網絡,通過找到某種非線性模型擬合數據,主要用在圖像等;
nb,朴素貝葉斯,通過找到樣本所屬於的聯合分步,然后通過貝葉斯公式,計算樣本的后驗概率,從而進行分類,主要用來文本分類;
dt,決策樹,構建一棵樹,在節點按照某種規則(一般使用信息熵)來進行樣本划分,實質是在樣本空間進行塊狀的划分,主要用來分類,也有做回歸,但更多的是作為弱分類器,用在model embedding中;
rf,隨進森林,是由許多決策樹構成的森林,每個森林中訓練的樣本是從整體樣本中抽樣得到,每個節點需要進行划分的特征也是抽樣得到,這樣子就使得每棵樹都具有獨特領域的知識,從而有更好的泛化能力;
gbdt,梯度提升決策樹,實際上也是由多棵樹構成,和rf不同的是,每棵樹訓練樣本是上一棵樹的殘差,這體現了梯度的思想,同時最后的結構是用這所有的樹進行組合或者投票得出,主要用在推薦、相關性等;
knn,k最近鄰,應該是最簡單的ml方法了,對於未知標簽的樣本,看與它最近的k個樣本(使用某種距離公式,馬氏距離或者歐式距離)中哪種標簽最多,它就屬於這類;

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM