日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

模型融合策略voting、averaging、stacking

發布時間:2023/12/19 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 模型融合策略voting、averaging、stacking 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:https://zhuanlan.zhihu.com/p/25836678

1.voting

對于分類問題,采用多個基礎模型,采用投票策略選擇投票最多的為最終的分類。

2.averaging

對于回歸問題,一方面采用簡單平均法,另一方面采用加權平均法,加權平均法的思路:權值可以用排序的方法確定或者根據均方誤差確定。

3.stacking

Stacking模型本質上是一種分層的結構,這里簡單起見,只分析二級Stacking。假設我們有3個基模型M1、M2、M3。下面先看一種錯誤的訓練方式:

【1】基模型M1,對訓練集train訓練,然后用于預測train和test的標簽列,分別是P1,T1(對于M2和M3,重復相同的工作,這樣也得到P2,T2,P3,T3):

【2】分別把P1,P2,P3以及T1,T2,T3合并,得到一個新的訓練集和測試集train2,test2:

【3】再用第二層的模型M4訓練train2,預測test2,得到最終的標簽列:

Stacking本質上就是這么直接的思路,但是這樣肯定是不行的,問題在于P1的得到是有問題的,用整個訓練集訓練的模型反過來去預測訓練集的標簽,過擬合是非常非常嚴重的,因此現在的問題變成了如何在解決過擬合的前提下得到P1、P2、P3,這就變成了熟悉的節奏——K折交叉驗證。我們以2折交叉驗證得到P1為例,假設訓練集為4行3列:

將其劃分為兩部分:

用traina訓練模型M1,然后在trainb上進行預測得到preb3和pred4:

在trainb上訓練模型M1,然后在traina上進行預測得到pred1和pred2:

然后把兩個預測集進行拼接:

對于測試集T1的得到,有兩種方法。注意到剛剛是2折交叉驗證,M1相當于訓練了2次,所以一種方法是每一次訓練M1,可以直接對整個test進行預測,這樣2折交叉驗證后測試集相當于預測了2次,然后對這兩列求平均得到T1?;蛘咧苯訉y試集只用M1預測一次直接得到T1。P1、T1得到之后,P2、T2、P3、T3也就是同樣的方法。理解了2折交叉驗證,對于K折的情況也就理解也就非常順利了。所以最終的代碼是兩層循環,第一層循環控制基模型的數目,每一個基模型要這樣去得到P1,T1,第二層循環控制的是交叉驗證的次數K,對每一個基模型,會訓練K次最后拼接得到P1,取平均得到T1。

該圖是一個基模型得到P1和T1的過程,采用的是5折交叉驗證,所以循環了5次,拼接得到P1,測試集預測了5次,取平均得到T1。而這僅僅只是第二層輸入的一列/一個特征,并不是整個訓練集。再分析作者的代碼也就很清楚了。也就是剛剛提到的兩層循環。

總結

以上是生活随笔為你收集整理的模型融合策略voting、averaging、stacking的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。