模型融合是比賽後期乙個重要的環節,大體來說有如下的型別方式。
簡單加權融合:
stacking/blending:
boosting/bagging(在xgboost,adaboost,gbdt中已經用到):
1)平均融合
對於回歸問題,乙個簡單直接的思路是取平均。也可以採用加權平均,而權值可以用排序的方法確定,舉個例子,比如a、b、c三種基本模型,模型效果進行排名,假設排名分別是1,2,3,那麼給這三個模型賦予的權值分別是3/6、2/6、1/6。方法看似簡單,其實後面的高階演算法也可以說是基於此而產生的,bagging或者boosting都是一種把許多弱分類器這樣融合成強分類器的思想
2)投票融合
對於一些分類問題,可以採用投票的方法。例如在二分類問題中,已建立三個模型,便可以通過三者投票的方式,投票最多的為最終分類。
1)stacking
該模型是模型融合常用方法,本質上是一種分層的結構。重點是在第一層中,如何用基學習器生成新特徵,包含訓練資料集的新特徵和測試資料集的新特徵。
第一步:訓練資料集新特徵的生成。若直接在訓練資料集中對基學習器進行訓練,然後用輸出作為新特徵,容易造成過擬合。所以為了減少過擬合的影響,可以採取k-folds的方式生成新特徵。其過程如下圖所示:
第二步:測試資料集新特徵的生成。在上面的k-folds方法中,每一次在訓練集上得到基學習器後,就對測試資料集test進行**,然後對k次的**結果求平均,就得到了test上的新特徵,如下圖:
第三步:得到新的訓練集和測試集後,在此基礎上再進行第二層訓練。
2)blending
該模型必須將訓練集分為2個部分,train1為訓練基學習器,train2的**值作為訓練集的新特徵,test的**值作為測試集的新特徵。
3)兩者對比bagging和boosting都是ensemble learing 中的學習框架,所以並不能認為其是一種具體演算法,而是兩種不同的學習思想。
1)boosting
boosting的思想是通過若干個弱分類提高演算法準確度。這種方法通過構造乙個**函式系列,然後以一定的方式將他們組合成乙個**函式。boosting是一種提高任意給定學習演算法準確度的方法。
boosting的特點是各個學習器之間有依賴關係。
2)bagging
bagging(bootstrap aggregation)由leo breiman提出,其具體內容:從資料集有放回的隨機抽取樣本,生成多個自助樣本集,每個自助樣本集大小與原資料集一致,因此一些樣本可能在同乙個自助樣本集**現多次。對每個自助樣本集訓練乙個基學習器,常用的基學習器為二元決策樹,因為對於有複雜決策邊界的問題,二元決策樹效能不穩定,這種不穩定可以通過組合多個決策樹模型來客服。最終,對於回歸問題,結果為基學習器均值,對於分類問題,結果是從不同類別所佔的百分比引申出來的各類別概率或均值。
另外,隨機森林(random forest,rf)也運用的是bagging的思想。
資料探勘 模型融合
在模型調參結束後,我我們就可以進行模型融合了 這是最後也是乙個相當重要的環節,方式大概有有以下幾種 模型融合是比賽後期乙個重要的環節,大體來說有如下的型別方式。簡單加權融合 stacking blending boosting bagging 在xgboost,adaboost,gbdt中已經用到 ...
資料探勘實戰(六) 模型融合
如圖,上半部分是用乙個基礎模型進行5折交叉驗證。拿出四折作為training data,另外一折作為testing data。每一次的交叉驗證包含兩個過程,1.基於training data訓練模型 2.基於training data訓練生成的模型對testing data進行 在整個第一次的交叉驗...
零基礎入門資料探勘 Task5 模型融合
先產生一組個體學習器,然後利用某種策略將它們結合起來,加強模型效果。周志華和李航老師的書中都證明隨著個體學習器數目的增大,整合的錯誤率將呈指數級下降,最終趨向於零。因此,模型融合被廣泛應用。簡單來說就是通過對一組的基分類器以某種方式進行組合,以提公升模型整體效能的方法。多模型投票 votingcla...