1. 程式人生 > >模型融合方法總結

模型融合方法總結

1.簡單平均

即各模型結果的均值

2.加權平均

各模型結果*權值再求和,其中權值通過交叉驗證確定,權值之和為1

3.sigmoid平均

sigmoid平均
適合模型結果差異比較小的情況

4.bagging

從特徵,引數,樣本的多樣性差異性來做多模型融合,參考隨機森林

5.blending

首先將訓練集分為兩部分(D1和D2),一部分用於第一層(level 1)的訓練,另一部分用於第二層(level 2)的訓練。level1 在D1上訓練了多個模型,將這些模型的預測結果作為level2的feature,在D2上訓練第二層模型。

6.stacking

這裡寫圖片描述
stacking在第一層模型中通過交叉驗證的方式生成預測的label,作為第二層線性模型的輸入特徵(第一層有幾個模型第二層就有幾個特徵),一般模型差異越大融合效果越好。實際中也可以將預測的幾個label特徵加入到原始特徵中,然後用複雜模型再次訓練。
這裡寫圖片描述


blending和stacking的比較:

  • blending是將train劃分為2份不相交的資料,一份用來訓練生成新的特徵,並將其加入到第二層繼續訓練,第二層只用到了部分資料;
  • stacking將train進行cv劃分來訓練。第二層用到了第一層的全部資料,並且需要訓練大量的模型。

7.其他

  • 可以從特徵構造的角度生成兩組很不相同的特徵,再進行上述融合,這樣融合的效果往往比較好(典型案例);
  • 同一個模型也可以通過設定不同的引數甚至是不同的seed,產生多組預測結果,再進行上述融合。