深度学习,训练集准确率高,但验证集准确率一直不上升,很低的问题
在训练过程中,训练集的准确率稳步上升,但是验证集的准确率一直在40%左右徘徊,从网上搜索可能的原因有:
1、学习率太小,陷入局部最优。
2、数据量太小(4000多条数据,应该还可以吧)
3、训练集和测试集数据分布不同:如训练集正样本太少(训练集和测试集每次都是随机选择,排除)
4、学习率过大
5、模型参数量过多而数据量过少(在其他数据集训练是可以的,这条应该排除)
6、过拟合,数据量太小但模型的结构较为复杂(解决办法:降低模型的复杂度,增大L2正则项,在全连接层加入Dropout层;有了dropout,网络不会为任何一个特征加上很高的权重(因为那个特征的输入神经元有可能被随机删除),最终dropout产生了收缩权重平方范数的效果)
7、输入到网络中的特征有问题,特征与label之间没有很明确关联,或特征太小(排除)
8、数据没有归一化(排除)
9、修改学习率,使得每次梯度下降低于某个值或者停止下降时,降低学习率,来使得梯度进一步下降