上周遇到问题:
使用BCIC 2a数据集来训练网络,不管是验证集还是测试集准确率均在0.5左右,当然训练集也不会高到哪里去,在0.5和0.65之间摆动
在网上找了很多教程,包括修改损失函数、修改各种参数等,均不能起到很好的效果,最终的解决方法是:
1、改数据集
BCIC 2a数据集本来就很小,并且其他方法在这个数据集上的准确率也并没有达到很高
2、改网络
我自己心知肚明,我自己搭的网络很垃圾,基本上就是几个卷积层,把网络建的深了之后,现在准确率一眼看过去就是增长了
我这个问题仅限于这个数据集,因为我的损失函数一直保持在0.69附近,准确率在0.5附近,就一直以为是代码哪里出了问题,搜了很多方法也没有改进。
另外,还修改了dense层的参数
z = Dense(self.num_class, activation='softmax', kernel_constraint=max_norm(0.1),
name='classifier')(latent)
把原来的数换成0.1了,也忘记原来是多少了