Boosting演算法總結

2021-10-04 13:27:48 字數 1030 閱讀 3791

adaboosting:

通過前向分步法,優化損失函式,為指數損失函式,然後梯度上公升樹。

可以 任意分類器作為弱分類器。

優化步長,與迭代次數。

gbdt

回歸問題:

1) 擬合殘差

2)cart樹

3)擬合負梯度

分類問題:

1)改變擬合loss, 比如: 邏輯回歸,對數損失, adaboost 指數損失。

2)訓練更精準

3)沒法並行處理

調參gbdt

n_estimators: 弱學習做大迭代次數

learing_rate: 權重縮減係數,也稱作步長。)

subsample: 子取樣,不放回抽樣,防止過擬合。不能太小,負責偏差大。

隨機森林是有放回抽樣

loss: 回歸選誤差函式, 分類選指數損失,或對數損失。

cart

max_feature: 最大特徵樹

2)max_depth: 決策樹最大深度,預設是3,資料多特徵多一般限制使用

3)mini_samples_split: 內部節點再劃分使用的最小樣本數。

4)mini_samples_leaf: 葉子節點最少樣本數。用於剪枝

xgboost

優化方面

1)演算法本身優化:

a. 弱分類模型選擇上,可以支援更多弱分類器。

b. 損失函式上,新增正則化項,預防過擬合

c. 演算法優化上,對誤差做二階泰勒展開,更加準備。 gbdt只做一階泰勒展開。

2)演算法執行效率

a. 每個弱分類器,建立過程並行選擇,先對所有的特徵的值進行排序分組,對分組特徵,選擇合適的分組大小,cpu快取進行讀取加速。

3) 演算法健壯性

a.缺失值特徵,列舉所有缺失值進入左子樹還是右子樹決定缺失值處理方法。

調參1)booster: 預設是gbtree cart,gblinear

2)e_estimators : 弱分類器個數

3)objective 分類,還是損失,以及對應的損失函式。

Boosting演算法學習

1 提公升演算法 boosting 是常用的有效的統計學習演算法,屬於迭代演算法,它通過不斷地使用乙個弱學習器彌補前乙個弱學習器的 不足 的過程,來序列地構造乙個較強的學習器,這個強學習器能夠使目標函式值足夠小。2 bagging也是一種常用的統計學習方法,兩者經常放在一起對比,它們不同的是,bag...

Boosting演算法概念解析

根據所給演算法描述,好像只能同質 整合。adaboost是一種迭代演算法,其核心思想是針對同乙個訓練集訓練不同的分類器 弱分類器 然後把這 adaboost 些弱分類器集合起來,構成乙個更強的最終分類器 強分類器 其演算法本身是通過改變資料分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以...

Boosting演算法和Adaboost演算法的關係

1990年,schapire就首先構造出一種多項式級的演算法,將弱學習演算法提公升為強學習演算法,就是最初的boosting演算法。boosting意思為提公升 加強,現在一般指將弱學習提公升為強學習的一類演算法。級聯分類器就是將多個強分類器連線在一起進行操作,每乙個強分類器都由若干個弱分類器加權組...