【數據挖掘】模型融合

模型融合

1.目標

  • 對於多種調參完成的模型進行模型融合。
  • 完成對於多種模型的融合,提交融合結果並打卡。

2. 摘要

模型融合是比賽後期一個重要的環節,大體來說有如下的類型方式。

  1. 簡單加權融合:
    • 迴歸(分類概率):算術平均融合(Arithmetic mean),幾何平均融合(Geometric mean);
    • 分類:投票(Voting)
    • 綜合:排序融合(Rank averaging),log融合
  2. stacking/blending:
    • 構建多層模型,並利用預測結果再擬合預測。
  3. boosting/bagging(在xgboost,Adaboost,GBDT中已經用到):
    • 多樹的提升方法

3. 內容

3.1 簡單加權融合

1)平均融合

對於迴歸問題,一個簡單直接的思路是取平均。也可以採用加權平均,而權值可以用排序的方法確定,舉個例子,比如A、B、C三種基本模型,模型效果進行排名,假設排名分別是1,2,3,那麼給這三個模型賦予的權值分別是3/6、2/6、1/6。方法看似簡單,其實後面的高級算法也可以說是基於此而產生的,Bagging或者Boosting都是一種把許多弱分類器這樣融合成強分類器的思想

2)投票融合

對於一些分類問題,可以採用投票的方法。例如在二分類問題中,已建立三個模型,便可以通過三者投票的方式,投票最多的爲最終分類。

3.2 Stacking/Blending模型

1)Stacking

該模型是模型融合常用方法,本質上是一種分層的結構。重點是在第一層中,如何用基學習器生成新特徵,包含訓練數據集的新特徵和測試數據集的新特徵。

第一步:訓練數據集新特徵的生成。若直接在訓練數據集中對基學習器進行訓練,然後用輸出作爲新特徵,容易造成過擬合。所以爲了減少過擬合的影響,可以採取K-Folds的方式生成新特徵。其過程如下圖所示:

stacking訓練數據集新特徵生成

第二步:測試數據集新特徵的生成。在上面的K-Folds方法中,每一次在訓練集上得到基學習器後,就對測試數據集test進行預測,然後對K次的預測結果求平均,就得到了test上的新特徵,如下圖:

stacking測試數據集新特徵生成

第三步:得到新的訓練集和測試集後,在此基礎上再進行第二層訓練。

2)Blending

該模型必須將訓練集分爲2個部分,train1爲訓練基學習器,train2的預測值作爲訓練集的新特徵,test的預測值作爲測試集的新特徵。

blending模型

3)兩者對比

  • Stacking更復雜,需要進行經過K-Fold生成新特徵,而Blending相對簡單;

  • Stacking通過K-Fold會更穩定,而Blending使用的數據更少,更容易過擬合。

3.2 Boosting/Bagging模型

Bagging和Boosting都是ensemble learing 中的學習框架,所以並不能認爲其是一種具體算法,而是兩種不同的學習思想。

1)Boosting

Boosting的思想是通過若干個弱分類提高算法準確度。這種方法通過構造一個預測函數系列,然後以一定的方式將他們組合成一個預測函數。Boosting是一種提高任意給定學習算法準確度的方法。

Boosting的特點是各個學習器之間有依賴關係。

2)Bagging

Bagging(Bootstrap aggregation)由Leo Breiman提出,其具體內容:從數據集有放回的隨機抽取樣本,生成多個自助樣本集,每個自助樣本集大小與原數據集一致,因此一些樣本可能在同一個自助樣本集中出現多次。對每個自助樣本集訓練一個基學習器,常用的基學習器爲二元決策樹,因爲對於有複雜決策邊界的問題,二元決策樹性能不穩定,這種不穩定可以通過組合多個決策樹模型來客服。最終,對於迴歸問題,結果爲基學習器均值,對於分類問題,結果是從不同類別所佔的百分比引申出來的各類別概率或均值。

在這裏插入圖片描述

另外,隨機森林(Random Forest,RF)也運用的是Bagging的思想。

References:

  1. https://zhuanlan.zhihu.com/p/25836678
  2. https://cloud.tencent.com/developer/article/1463294
  3. https://cloud.tencent.com/developer/article/1085438
  4. https://cloud.tencent.com/developer/article/1024314
  5. https://cloud.tencent.com/developer/article/1146345
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章