可是最终用测试集验证模型却只有0.3的准确率,请问是怎么回事啊?

实现将数据集分成训练集与验证集和测试集,训练集900张,验证集和测试集分别为100张,然后利用keras框架进行模型训练,loss一直在降低,acc也一直在上升,但是val_loss小到一定程度就基本不变了,val_acc也是一直在徘徊,acc能够达到1,val_acc在0.8左右徘徊,可是最终用测试集验证模型却只有0.3的准确率,请问是怎么回事啊?

模型的泛化能力不行,即训练集数据覆盖范围小了,并没有覆盖到大部分情况。举个例子来说,你训练的数据都是圆形的,你用来测试矩形,那肯定不行啊。

减小模型复杂度或者增加训练集的多样性,可以给训练集做一些预处理加进去训练

 

我也碰到这问题,请问您已经解决了嘛