DataScience 板


LINE

應該說你目前的架構不該稱作K-fold validation,比較像是某種bootstrap+ensemble 假設有n種模型架構,K-fold validation是用來比較模型架構以及找出最好的模型架構 : =========================訓練、驗證、測試流程============================ : 首先將資料集 Data 切成 train 跟 test : train 切成 k 塊,以 4 為例, A, B, C, D : k=1, B + C + D 定義 train-train , A 定義 train-validation : 我有七種模型,你可以想像用不同的 backbone (resnet, mobilenet,...) : 訓練完成我在 A 上可以得到 7 個 AUC 。 : k=2, A + C + D 定義 train-train , B 定義 train-validation : 我有七種模型,同上 : 訓練完成我在 B 上可以得到 7 個 AUC 。 : k=3, A + B + D 定義 train-train , C 定義 train-validation : 我有七種模型,同上 : 訓練完成我在 C 上可以得到 7 個 AUC 。 : k=4, A + B + C 定義 train-train , D 定義 train-validation : 我有七種模型,同上 : 訓練完成我在 D 上可以得到 7 個 AUC 。 到這邊目前都沒問題,但是接下來就不正確了 正常的K-fold validation會將每個模型在不同k上面的AUC做平均 所以你會得到7個平均過後的AUC,分別代表7個不同模型架構 根據這7個AUC選最出好的模型架構,再去測在test set上驗證表現以及有沒有overfit 正常的K-fold validation到這邊就結束了,因為你已經找到一個相對穩定的模型架構 接下來可以考慮拿選出來的模型架構在7個fold上train好的model進行emsemble然後上線 也可以可以考慮用這個模型train在所有data上,然後上線這單一model 或是用這個模型重複整個K-fold validation,只是這次在所有data上,然後emsemble上線 : 以上都跟 test 無關,只在 train 中。 : 最後我會得到 k*(3+3+1) 個模型,我全部在 test 上做驗證, : 可以得到所有模型在測試集上的評估數據。 : 產品端可以將全部的模型都上線,但是伺服器費用高,所以不能全上。 : 需要挑選上線的模型,挑選 N 個模型,由單一表現最高的開始往下挑, : 舉個例子來說明我的挑選方法: : fold-k model_n 代表第 k 個 fold 裡面第 n 個模型 : k = 1,2,3,4 有 4 個 fold : n = 1,2,3,4,5,6,7 我有七個模型架構 : top-1 ensemble : 挑 test 上表現最好的第一個模型, : 假設來自 fold-3 model_1 ,其中 test AUC 0.86 。 : top-2 ensemble : 挑 test 上表現最好的前兩個模型,預測結果兩者取平均, : 假設來自 fold-3 model_1 、 fold-1 model_3 ,其中 test AUC 0.87 : top-3 ensemble : 挑 test 上表現最好的前三個模型,預測結果三者取平均, : 假設來自 fold-3 model_1 、 fold-1 model_3 、 fold-3 model_2 , : 其中 test AUC 0.88 。 : top-4 ensemble : 挑 test 上表現最好的前四個模型,預測結果四者取平均, : 假設來自 fold-3 model_1 、 fold-1 model_3 、 : fold-3 model_2 、 fold-4 model_1, : 其中 test AUC 0.875 。 : 發現在選到第四個模型綜合結果下降了,所以就挑選前三個模型, : 當作產品的 classifier ,當然預測結果是取平均。 這個其實比較像是bootstrap+ensemble 你有很多個模型架構,train在很多sample過後的training set (類似bootstrap) 最後再從中選出比較好的幾個ensemble 所以本質上你直接把test當成是validation set來測model以及如何選model進行ensemble 在不容易overfit的task下的確有可能有比較好的表現,但就不該稱作K-fold validation 順帶一提,在你目前的架構下是沒有實質上的test set的 : ============================================================== : 挑選模型是從所有的 fold 當中訓練的所有模型來挑選。 : 請問這樣做產品會有很嚴重的邏輯錯誤在裡面嗎? : 有的話在哪邊? : 還是我應該簡單點,切 train, validation, test 這樣訓練一次, : 不要做 K-fold ,但先前的經驗告訴我 ensemble 這種作法會提昇一個檔次, : 所以我會想往這樣走, : 而且透過不同的模型架構以及 K-fold 作法可以獲得更多的模型。 : 我不知道我的邏輯錯在哪? : 懇請高手指導,謝謝。 簡單說,K-fold是為了找出最好的模型架構,但並不代表這就會給你最好的表現 你可以用K-fold validation找出前幾好的模型架構ensemble 也可以用類似你目前的方式,train一大堆model pool直接ensemble 理論上都是可行的 不過還是建議你重新看一遍K-fold validation的定義,希望有幫助到你 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.231.116 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1643356714.A.D3B.html ※ 編輯: ej0cl6 (118.167.231.116 臺灣), 01/28/2022 15:59:47
1F:→ andrew43: 推這篇。 01/28 17:33
2F:推 YogaGAGA: 有幫助到我,謝謝 01/28 17:45
3F:→ wheado: 謝謝 01/28 21:25







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP