参考:https://www.jianshu.com/p/86051c14d434
1.出现了过拟合现象,在epoch=30的情况下:
损失loss:
精度acc:
所以根据上述图像选择epoch=5得到结果,提交到kaggle上,获得分数0.98414。
1.尝试加入dropout层
model.add(Flatten())
model.add(Dropout(0.5))
在flatten之后,
损失loss:
可以比较明显地看出,良好地解决了过拟合的问题,(至于在16epoch的时候为什么损失突然升高,不明白。)
精度acc:
这次结果提交分数为0.98671。
2.调参?
没有调整学习率,尝试对batch_size调整。
根据第三小节的实验,发现使用adam+dropout效果最好。所以将其作为基线,对模型调参batch_size。
将batch_size由32改为128,其他均选择最优结果。
loss:
精度:
提交到kaggle的结果为:0.99057,为什么和32一样?接着尝试一下batch_size=64
看起来效果不错,提交到kaggle评分为:0.98942,结果没有那么好。
3.使用其他的优化方法
初始使用的是rmsprop;
sgd:(加dropout)
loss
//相较于rmsprop更平滑。
acc:
但是效果看起来没有rms好,提交之后的结果
对sgd也去掉dropout之后,也出现了过拟合:
adam:(dropout)
发现是有过拟合的趋势的。
看精度,也获得了和rsm相似的很好的效果。
将本次结果提交,kaggle评分为0.99057。又有了新的提升。