內(nèi)容:
1.算法概述
1.1 決策樹(shù)(DT)是一種基本的分類(lèi)和回歸方法。在分類(lèi)問(wèn)題中它可以認(rèn)為是if-then規(guī)則的集合,也可以認(rèn)為是定義在特征空間與類(lèi)空間上的條件概率分布,學(xué)習(xí)思想包括ID3,C4.5,CART(摘自《統(tǒng)計(jì)學(xué)習(xí)方法》)。
1.2 Bagging :基于數(shù)據(jù)隨機(jī)重抽樣的集成方法(Ensemble methods),也稱(chēng)為自舉匯聚法(boostrap aggregating),整個(gè)數(shù)據(jù)集是通過(guò)在原始數(shù)據(jù)集中隨機(jī)選擇一個(gè)樣本進(jìn)行替換得到的。進(jìn)而得到S個(gè)基預(yù)測(cè)器( base estimators),選擇estimators投票最多的類(lèi)別作為分類(lèi)結(jié)果,estimators的平均值作為回歸結(jié)果。(摘自《統(tǒng)計(jì)學(xué)習(xí)方法》和scikit集成方法介紹)
1.3 隨機(jī)森林(RF):基于boostrap重抽樣和隨機(jī)選取特征,基預(yù)測(cè)器是決策樹(shù)的集成方法(Ensemble methods)
1.4 Boosting :通過(guò)改變樣本的權(quán)重(誤分樣本權(quán)重?cái)U(kuò)大)學(xué)習(xí)多個(gè)基預(yù)測(cè)器,并將這些預(yù)測(cè)器進(jìn)行線(xiàn)性加權(quán)的集成方法 (摘自《統(tǒng)計(jì)學(xué)習(xí)方法》)
1.5 梯度提升決策樹(shù)(GBDT):基于boosting方法,提升方向是梯度方向的決策樹(shù)的集成方法(Ensemble methods)
1.6 XGBDT:基于GBDT的一種升級(jí)版本,對(duì)目標(biāo)函數(shù)做了二階導(dǎo)數(shù),主要改進(jìn)是使用了正則化和特征分塊存儲(chǔ)并行處理(參考大殺器xgboost指南)
1.7 回歸/分類(lèi)樹(shù)樹(shù)模型函數(shù):
,這里數(shù)據(jù)集被劃分為R1,...,Rm個(gè)區(qū)域,每一個(gè)區(qū)域?qū)?yīng)一個(gè)預(yù)測(cè)值Cm;其中I()是指示函數(shù),當(dāng)滿(mǎn)足條件時(shí)返回1,否則為0
1.8 決策樹(shù)常見(jiàn)的損失函數(shù):
用于分類(lèi)的損失函數(shù):01損失,LR的對(duì)數(shù)損失,softmax的mlogloss
用于回歸的損失函數(shù):線(xiàn)性回歸的MSE
2.算法推導(dǎo)
2.1 決策樹(shù)生成過(guò)程就是一個(gè)遞歸的過(guò)程,如果滿(mǎn)足某種停止條件(樣本都是同一類(lèi)別,迭代次數(shù)或者其他預(yù)剪枝參數(shù))則返回多數(shù)投票的類(lèi)作為葉結(jié)點(diǎn)標(biāo)識(shí);否則選擇最佳劃分特征和特征值生成|T|個(gè)子節(jié)點(diǎn),對(duì)子節(jié)點(diǎn)數(shù)據(jù)進(jìn)行劃分;所以劃分屬性的計(jì)算方式是DT的精髓,以下總結(jié)各種劃分屬性的計(jì)算方法(附一個(gè)java實(shí)現(xiàn)決策樹(shù)的demo):
ID3與C4.5中使用的信息增益和信息增益率:
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式