前向分布算法

前向分步算法
負(fù)梯度擬合

偽殘差
使用負(fù)梯度作為偽殘差擬合決策樹。
損失函數(shù)
均方誤差
回歸
二分類,多分類
正則化
優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
- 預(yù)測(cè)精度高
- 適合低維數(shù)據(jù)
- 能處理非線性數(shù)據(jù)
- 可以靈活處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值。
- 在相對(duì)少的調(diào)參時(shí)間情況下,預(yù)測(cè)的準(zhǔn)備率也可以比較高。這個(gè)是相對(duì)SVM來說的。
- 使用一些健壯的損失函數(shù),對(duì)異常值的魯棒性非常強(qiáng)。比如 Huber損失函數(shù)和Quantile損失函數(shù)。
缺點(diǎn):
- 由于弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù)。不過可以通過自采樣的SGBT來達(dá)到部分并行。
- 如果數(shù)據(jù)維度較高時(shí)會(huì)加大算法的計(jì)算復(fù)雜度
sklearn參數(shù)
- 劃分時(shí)考慮的最大特征數(shù)max_features: 可以使用很多種類型的值,默認(rèn)是"None",意味著劃分時(shí)考慮所有的特征數(shù);如果是"log2"意味著劃分時(shí)最多考慮log2Nlog2N個(gè)特征;如果是"sqrt"或者"auto"意味著劃分時(shí)最多考慮N??√N(yùn)個(gè)特征。如果是整數(shù),代表考慮的特征絕對(duì)數(shù)。如果是浮點(diǎn)數(shù),代表考慮特征百分比,即考慮(百分比xN)取整后的特征數(shù)。其中N為樣本總特征數(shù)。一般來說,如果樣本特征數(shù)不多,比如小于50,我們用默認(rèn)的"None"就可以了,如果特征數(shù)非常多,我們可以靈活使用剛才描述的其他取值來控制劃分時(shí)考慮的最大特征數(shù),以控制決策樹的生成時(shí)間。
- 決策樹最大深度max_depth: 默認(rèn)可以不輸入,如果不輸入的話,決策樹在建立子樹的時(shí)候不會(huì)限制子樹的深度。一般來說,數(shù)據(jù)少或者特征少的時(shí)候可以不管這個(gè)值。如果模型樣本量多,特征也多的情況下,推薦限制這個(gè)最大深度,具體的取值取決于數(shù)據(jù)的分布。常用的可以取值10-100之間。
- 內(nèi)部節(jié)點(diǎn)再劃分所需最小樣本數(shù)min_samples_split: 這個(gè)值限制了子樹繼續(xù)劃分的條件,如果某節(jié)點(diǎn)的樣本數(shù)少于min_samples_split,則不會(huì)繼續(xù)再嘗試選擇最優(yōu)特征來進(jìn)行劃分。 默認(rèn)是2.如果樣本量不大,不需要管這個(gè)值。如果樣本量數(shù)量級(jí)非常大,則推薦增大這個(gè)值。
- 葉子節(jié)點(diǎn)最少樣本數(shù)min_samples_leaf: 這個(gè)值限制了葉子節(jié)點(diǎn)最少的樣本數(shù),如果某葉子節(jié)點(diǎn)數(shù)目小于樣本數(shù),則會(huì)和兄弟節(jié)點(diǎn)一起被剪枝。 默認(rèn)是1,可以輸入最少的樣本數(shù)的整數(shù),或者最少樣本數(shù)占樣本總數(shù)的百分比。如果樣本量不大,不需要管這個(gè)值。如果樣本量數(shù)量級(jí)非常大,則推薦增大這個(gè)值。
- 葉子節(jié)點(diǎn)最小的樣本權(quán)重和min_weight_fraction_leaf:這個(gè)值限制了葉子節(jié)點(diǎn)所有樣本權(quán)重和的最小值,如果小于這個(gè)值,則會(huì)和兄弟節(jié)點(diǎn)一起被剪枝。 默認(rèn)是0,就是不考慮權(quán)重問題。一般來說,如果我們有較多樣本有缺失值,或者分類樹樣本的分布類別偏差很大,就會(huì)引入樣本權(quán)重,這時(shí)我們就要注意這個(gè)值了。
- 最大葉子節(jié)點(diǎn)數(shù)max_leaf_nodes: 通過限制最大葉子節(jié)點(diǎn)數(shù),可以防止過擬合,默認(rèn)是"None”,即不限制最大的葉子節(jié)點(diǎn)數(shù)。如果加了限制,算法會(huì)建立在最大葉子節(jié)點(diǎn)數(shù)內(nèi)最優(yōu)的決策樹。如果特征不多,可以不考慮這個(gè)值,但是如果特征分成多的話,可以加以限制,具體的值可以通過交叉驗(yàn)證得到。
- 節(jié)點(diǎn)劃分最小不純度min_impurity_split: 這個(gè)值限制了決策樹的增長,如果某節(jié)點(diǎn)的不純度(基于基尼系數(shù),均方差)小于這個(gè)閾值,則該節(jié)點(diǎn)不再生成子節(jié)點(diǎn)。即為葉子節(jié)點(diǎn) 。一般不推薦改動(dòng)默認(rèn)值1e-7。
應(yīng)用場景
GBDT幾乎可用于所有回歸問題(線性/非線性),相對(duì)logistic regression僅能用于線性回歸,GBDT的適用面非常廣。亦可用于二分類問題(設(shè)定閾值,大于閾值為正例,反之為負(fù)例)。