训练集准确率最后接近100%,测试集准确率在60%,随着训练step的增加不再增长。过拟合了,怎么办?

论坛 期权论坛 期权     
小明   2018-10-15 22:54   18262   9




情况如上图所示,第一张图为准确率变化函数,第二章为loss函数变化曲线。橙色线是训练集,蓝色线是测试集。改如何调参呢???应该是过拟合了,使用了数据增强,dropout,L2, batch norm,可是还没有用,怎么办?数据集为6万多的图片,用的VGG-16。



分享到 :
0 人收藏

9 个回复

正序浏览
9#
dengdan  1级新秀 | 2018-10-15 22:54:49 发帖IP地址来自
把`batch的准确率`和`训练集的平均准确率`的计算方式贴出来吧, 不然不好分析.
8#
老白的白  3级会员 | 2018-10-15 22:54:48 发帖IP地址来自
初学者答一波...
一个option是,增加训练的数据量
7#
mangocat  3级会员 | 2018-10-15 22:54:47 发帖IP地址来自
测试集和训练集的分布一致么?比如正样本率?
6#
Condy  2级吧友 | 2018-10-15 22:54:46 发帖IP地址来自
我也遇到过,训练imagenet的时候我当时的做法是加batchnorm层,当时消除了过拟合但准确率上不去。建议你先仔细判断是否数据集label有打错,再去在模型上做改动,如果没问题就最好先拿预训练的模型finetuning一下看看。
5#
谢宇杰  2级吧友 | 2018-10-15 22:54:45 发帖IP地址来自
没有百试不爽的方法避免过拟合,建议减少特征变量的数量,多训练几个模型,每个模型包含不同的特征变量的组合,也许会发现导致训练集准确率过高的原因。训练集准确率100%貌似是有点问题的。
4#
lens  5级知名 | 2018-10-15 22:54:44 发帖IP地址来自
1,人工标注有问题;2,数据量不够;3,各种防止过拟合的方法没用好。关于第二点,除了人工合成数据外,听说迁移学习有用,不过我也没用过。
3#
犀利哥的大实话  2级吧友 | 2018-10-15 22:54:43 发帖IP地址来自
(1) 查看是否Normalization做的有问题
(2) 查看是否有Noise存在
(3) 在Training error 没到100%,比如90%的时候停掉,看Test Error 走向如何
(4) 如果(3)有收获,则加入Validation。
2#
逗你玩  2级吧友 | 2018-10-15 22:54:42 发帖IP地址来自
看起来好像是学习率有点大了。如果数据没问题的话。
1#
芯尚刃  3级会员 | 2018-10-15 22:54:40 发帖IP地址来自
单从描述上看不是很清楚你的情况,不过可以看看以下方法是否有效:
1、神经网络是CNN吗?深度是多少层呢?如果层数太深可以适当减少,学习速率可以先调大一点看是不是落在局部最优解了,另外可以试着换一下优化函数;
2、数据增强后泛化能力还是很差,那有一种可能是训练集和测试集完全不相关,可以适当对调一下训练集和测试集的数据,使得网络可以记住一些测试集的特征。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:706
帖子:20
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP