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/cn.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灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP