1. 程式人生 > >機器學習整合演算法總結

機器學習整合演算法總結

一.Voting
思想:選取多個分類器,少數服從多數

二.Bagging
特點: 放回抽樣
方法:
1.放回抽樣訓練集
2.Outofbagging:放回抽樣中總有一部分資料沒被抽到,可將這部分作為驗證集
3.隨機取樣特徵
4.隨機取樣特徵+隨機取樣訓練集,如隨機森林
隨機森林
優點

可處理高位資料且不用做特徵選擇
能夠計算特徵重要性
泛化能力好
訓練速度快
缺點
在某些噪音較大的問題上容易過擬合
對不同取值的屬性的資料,取值劃分範圍較廣的屬性對隨機森林會有更大的影響
隨機森林若在特徵劃分值上也隨機的話,變成Extratrees

三.Boosting
1.Adaboost
思想:重視上一輪犯錯誤的樣本,下一輪給他們更高的權重,且誤差小的分類器會有更大的權重。
優點


可以將不同的分類演算法作為弱分類器
精度高
從發考慮每個分類器的權重
缺點
迭代次數即弱分類器數目不好確定,交叉驗證
資料不平衡
訓練耗時

2.Gbdt
思想:GBDT 是以決策樹為基學習器、採用 Boosting 策略的一種整合學習模型
與提升樹的區別:殘差的計算不同,提升樹使用的是真正的殘差,梯度提升樹用當前模型的負梯度來擬合殘差。簡單點說,就是先預測一個決策樹模型,基於這一輪殘差再去學習一個新的模型,並把他們合併從而更接近真實值
優點
靈活處理各種型別資料,包括離散和連續
在相對少調參的時間,準確率也比較高
缺點
難以並行處理

3.Xgboost
gbdt的進化版本
傳統的GBDT以CART樹作為基學習器,XGBoost還支援線性分類器
傳統的GBDT在優化的時候只用到一階導數資訊,XGBoost則對代價函式進行了二階泰勒展開,得到一階和二階導數
XGBoost在代價函式中加入了正則項,用於控制模型的複雜度。這也是XGBoost優於傳統GBDT的一個特性
shrinkage(縮減),相當於學習速率(XGBoost中的eta)。XGBoost在進行完一次迭代時,會將葉子節點的權值乘上該係數,主要是為了削弱每棵樹的影響,讓後面有更大的學習空間
列抽樣。XGBoost借鑑了隨機森林的做法,支援列抽樣,不僅防止過擬合,還能減少計算
XGBoost支援並行

四.Stacking
思想:將訓練集劃分成K個子集,在K-1折訓練集上訓練不同的弱學習器,然後用相應的弱學習器預測剩下的第K個子集從而得到相應的輸出,根據這些相應的輸出和標籤構成行的訓練集訓練得到最終的學習器。