返回信息流rt,一个时序数据的多分类问题,CNN+LSTM做预测,5个类别,因为类别不平衡,所以用的balanced accuracy,train acc能到几乎100%,train loss也降得很低,但val loss只在前面15个epoch有下降,后面就几乎稳定了,val acc只有20%左右(几乎全判断为了样本最多的那个类别),dropout、学习率都调过很多次,没效果[ema1],数据量是够的,训练集和验证集分布也是相似的。
求助,刚学,折腾好久了。。。
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #38305同步于 2022/3/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
【问题】train acc接近100%,val acc只有20%。。。
sf123
2022/3/29镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
如果真像你说的那样数据集没有问题那感觉只能是过拟合了,不过听楼主的描述很奇怪,感觉还是数据集有问题,是公开数据集还是楼主自己做的?
【 在 sf123 的大作中提到: 】
: rt,一个时序数据的多分类问题,CNN+LSTM做预测,5个类别,因为类别不平衡,所以用的balanced accuracy,train acc能到几乎100%,train loss也降得很低,但val loss只在前面15个epoch有下降,后面就几乎稳定了,val acc只有20%左右(几乎全判断为了样本最多的那个类别),dropout、学习率都调过很多次,没效果[ema1],数据量是够的,训练集和验证集分布也是相似的。
: 求助,刚学,折腾好久了。。。
: ............
【 在 cloudsquare 的大作中提到: 】
: 如果真像你说的那样数据集没有问题那感觉只能是过拟合了,不过听楼主的描述很奇怪,感觉还是数据集有问题,是公开数据集还是楼主自己做的?
数据集是公开的[em2]
过拟合教科书... 你确定数据量是够的吗? 几百几千的数据是不够的。或者数据量确实很多,但你说的类别不平衡是不是这种:A类样本数量巨多,BCDE样本数就一丢丢。这样的你除非有好的手段balance损失函数,不然我啥玩意都往A类判你train acc也能几斤100%
经典的长尾效应。 你需要对训练做均衡,一般思路有(1)训练输入样本类别均衡 (2)loss上做类别均衡 (3)模型结构上做改变对类别做均衡
常用的方法有 将少样本的类别多做数据增广,让batch内的各个类别样本尽可能均衡
focal loss 等很多loss会对类别做均衡