Task5 學習筆記

2021-10-04 18:23:36 字數 1621 閱讀 9000

模型融合是對多種調參完成的模型以某種方式進行融合,進而提公升結果的準確性。

其一般來說有以下幾種方法:

簡單加權融合

對於回歸問題,簡單加權融合一般包括對模型進行算術平均或者幾何平均進行融合;

對於分類問題可以通過投票方式進行融合,包括軟投票與硬投票,區別在於軟投票是在硬投票的基礎上賦予了不同的權重;

對於綜合問題可以採取排序融合或者對數融合。

stacking/blending:

通過構建多層模型,利用前一層模型的**結果,輸入下一層中再次進行訓練擬合。

boosting/bagging

多樹的提公升方法,在xgboost,adaboost,gbdt中都有使用。

簡單來說stacking就是當用初始訓練資料學習出若干個基學習器後,將這幾個學習器的**結果作為新的訓練集,來學習乙個新的學習器。

將個體學習器結合在一起的時候使用的方法叫做結合策略。對於分類問題,我們可以使用投票法來選擇輸出最多的類。對於回歸問題,我們可以將分類器輸出的結果求平均值。

上面說的投票法和平均法都是很有效的結合策略,還有一種結合策略是使用另外乙個機器學習演算法來將個體機器學習器的結果結合在一起,這個方法就是stacking。

在stacking方法中,我們把個體學習器叫做初級學習器,用於結合的學習器叫做次級學習器或元學習器(meta-learner),次級學習器用於訓練的資料叫做次級訓練集。次級訓練集是在訓練集上用初級學習器得到的。

blending,其實和stacking是一種類似的多層模型融合的形式,其主要思路是把原始的訓練集先分成兩部分,比如70%的資料作為新的訓練集,剩下30%的資料作為測試集。

在第一層,我們在這70%的資料上訓練多個模型,然後去**那30%資料的label,同時也**test集的label。

在第二層,我們就直接用這30%資料在第一層**的結果做為新特徵繼續訓練,然後用test集第一層**的label做特徵,用第二層訓練的模型做進一步**。

相比stacking,其優點在於更加方便,不用通過k折交叉驗證來獲得特徵,並且由於generlizers和stacker使用了不一樣的資料集,可以避免資訊洩露。

缺點在於blending方式中使用了很少的資料(第二階段的blender只使用training set10%的量,而且blender可能會過擬合。

結果層面的融合,這種是最常見的融合方法,其可行的融合方法也有很多,比如根據結果的得分進行加權融合,還可以做log,exp處理等。在做結果融合的時候,有乙個很重要的條件是模型結果的得分要比較近似,然後結果的差異要比較大,這樣的結果融合往往有比較好的效果提公升。

特徵層面的融合,這個層面其實感覺不叫融合,準確說可以叫分割,很多時候如果我們用同種模型訓練,可以把特徵進行切分給不同的模型,然後在後面進行模型或者結果融合有時也能產生比較好的效果。

模型層面的融合,模型層面的融合可能就涉及模型的堆疊和設計,比如加staking層,部分模型的結果作為特徵輸入等,這些就需要多實驗和思考了,基於模型層面的融合最好不同模型型別要有一定的差異,用同種模型不同的引數的收益一般是比較小的。

reference:

github: by ml67

演算法學習Task5

k means演算法 聚類與分類的區別,分類的目標事先已知,而聚類是一種無監督學習,目標未知 具體方法有距離 密度 層次 網格 圖論 k means演算法基於距離 1 確定簇的個數k,可以通過經驗以及交叉檢驗可以 2 初始選取k個中心點,採用k means 加速收斂,即選擇樣本點中任意乙個作為第乙個...

Task5模型融合整理筆記

模型融合用於對多個模型進行融合以得到優於單個模型的效果。模型融合的方法主要有 回歸 算術平均融合,幾何平均融合 分類 投票融合 綜合 排序融合,融合 將多個模型得到的 結果concate之後再次進行模型 def weighted method test pre1,test pre2,w 1 2,1 ...

TASK 5 模型融合

task 5 模型融合 總結自 datawhale 零基礎入門資料探勘 task 5 模型融合 ml67 1 stacking 是用初始訓練資料學習出若干個基學習器後,將這幾個學習器的 結果作為新的訓練集,來學習乙個新的學習器。2 結合策略 如何將個體學習器結合在一起使用的方法。分類可以使用投票法。...