作者keven92110 (感恩师傅)
看板DataScience
标题[问题] val_loss < loss
时间Wed Mar 6 08:26:12 2019
各位有遇到过这个问题吗(如标题)
我的loss history如下图上方图表
https://i.imgur.com/Zfp0YvK.jpg
从头到尾都val_loss < loss,
若继续train下去也是会overfitting(val_loss > loss),
但前面val_loss, val_acc都表现比较好感觉蛮奇怪的
实际预测的分数惨不忍赌,
比训练/验证的分数低很多,
不知道哪里出问题QQ
作业系统:win10
问题类别:ML,DL,RNN
使用工具:python
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.72.2.184
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1551831975.A.428.html
1F:推 sma1033: 原因应该很简单,你的val_dataset有很高比例被包在train_03/06 08:33
2F:→ sma1033: dataset底下,也就是train的时候会吃到和val_dataset相近03/06 08:33
3F:→ sma1033: 的资料,而val_dataset的多样性又比train_dataset低所致03/06 08:34
4F:→ sma1033: 假设code没问题,test惨的原因单纯就是「资料太不一样」03/06 08:36
5F:→ sma1033: 你可能分资料的时候,sample取得不够random,或是量太少03/06 08:37
6F:推 yougigun: 推s03/06 09:35
7F:推 keepxha: ML/DL常见问题,若资料不够多可试试K-fold验证03/06 13:34
8F:推 Luluemiko: 应该是资料分布的问题 train跟test很不像03/06 23:17
9F:→ Luluemiko: 可以回头看一下两组资料特徵的分布是否相似03/06 23:19
感谢各位指点,思考了一下有点头绪:
我描述一下我的dataset ,
binary output只有0和1,
1很少,比例悬殊(约1:19)
model训练时容易往0靠近,
如果val dataset被分配到较少的1,
val_loss比train loss好应该是可以理解的
延伸请教一下,
若要train这种比例悬殊的binary dataset,
train data的0,1比例要维持原本的悬殊比例吗?
或是0,1比例1:1效果会比较好?
我的想法是1:1 model比较不会往某边靠,
但和实际data比例不符感觉又会失真
※ 编辑: keven92110 (114.136.206.180), 03/07/2019 00:19:25
※ 编辑: keven92110 (114.136.206.180), 03/07/2019 00:24:05
※ 编辑: keven92110 (114.136.206.180), 03/07/2019 00:35:04
※ 编辑: keven92110 (114.136.206.180), 03/07/2019 01:14:15
10F:推 sma1033: 通常资料分类比例太过悬殊有两种作法:1.弄成你说的1:1 03/07 07:30
11F:→ sma1033: 2.把量少的那方loss权重乘以一个大於1的倍数,让model在 03/07 07:31
12F:→ sma1033: training过程无法忽略量少的资料,你可以考虑看那个适合 03/07 07:31
13F:推 f496328mm: 比较常看到的是,用真实比例 03/07 13:04
14F:→ f496328mm: 最後在判断 0 or 1 的机率上,不要用 0.5 03/07 13:04
15F:→ f496328mm: 试试看用 0.1 or 0.2 去调整你的边界 03/07 13:05
16F:→ f496328mm: imbalance 的问题很常见 03/07 13:06
17F:→ f496328mm: 我之前做生产线分析,不良品只有0.5% 03/07 13:06
18F:→ f496328mm: 就是用调整边界的方法 03/07 13:07
19F:推 ruokcnn: Imbalanced data 可以用smote解解看 03/07 21:29
20F:→ ruokcnn: 或是先cluster 各抓同数目的两类别train看看 03/07 21:30
21F:→ ruokcnn: Binary问题最好还是输出0~1之後再切thresholds 03/07 21:31
22F:推 luli0034: 应该说今天小类别对你来说是不是很重要 如果是的话才是 03/09 00:11
23F:→ luli0034: 问题(如何提升recall) 类别不平衡可以over/under sampli 03/09 00:11
24F:→ luli0034: ng或是在training 前调整class weight等等 也可以试试 03/09 00:11
25F:→ luli0034: 看切资料集的时候维持原类别比例(val也是维持1:19) 03/09 00:11