首页 新闻 会员 周边 捐助

tensorflow 神经网络 训练集准确度远高于验证集和测试集准确度?

0
悬赏园豆:50 [已解决问题] 解决于 2020-10-20 09:06

数据格式130001,五分类任务,数据极不平衡,自定义神经网络模型,tensorflow2.0 GPU。
65399/65399 [==============================] - 33s 509us/sample - loss: 0.1677 - accuracy: 0.9143 - f1: 1.0697 - val_loss: 68.5800 - val_accuracy: 0.1722 - val_f1: 0.9133
尝试:
数据读取后有进行preprocessing.MinMaxScaler() 归一化和shuffle,学习率0.0001,优化器adam,卷积有加l2正则化和droupout rate=0.2,droup之后有加BatchNormalization。已经尝试过动态学习率,换epochs为10(考虑过拟合),换resnet18以及更小的自定义模型,效果类似。

数据划分,初始训练集(30994, 3001),验证集(2661, 3001),测试集(8653, 3001)。后对初始训练集进行数据增强(截断拼接),(65399,3001)。
问题:
model.fit(data.x_train,data.y_train,batch_size=64,epochs=100,class_weight="auto",validation_data=(data.x_validate,data.y_validate))训练集的后期损失0.0303 ,准确度 0.9912。但验证集/测试集准确度只有0.3左右,f1值也很低?找不到其他原因了 T T

陶雨洁的主页 陶雨洁 | 初学一级 | 园豆:159
提问于:2020-10-19 10:23
< >
分享
最佳答案
0

数据归一化除了问题

陶雨洁 | 初学一级 |园豆:159 | 2020-10-20 08:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册