CNN验证曲线优劣判断、过拟合识别及模型优化咨询
CNN训练曲线表现判断与模型优化咨询
基础问题
- CNN模型训练过程中,验证曲线略高于训练曲线、略低于训练曲线两种情况,哪种对应模型表现更好?
- 两组控制变量实验的训练-验证性能曲线中,哪组对应的模型泛化表现更优?
实验设置说明
两组实验采用完全相同的Keras Sequential层结构搭建图像检测模型,唯一变量为第二组实验使用了数据增强策略扩充训练集,具体参数:
- 第一组实验:训练数据集规模为5170,对应性能曲线如下:

- 第二组实验:训练数据集规模为9743(经数据增强扩充),对应性能曲线如下:

待澄清的具体疑问
- 初步观测结果:第一组曲线存在明显锯齿状波动,排除波动问题外,初步判断其表现优于第二组;第二组曲线平滑无明显锯齿波动,但存在验证集准确率略高于训练集的现象。
- 需确认问题:第二组出现的验证集准确率略高于训练集的现象是否属于过拟合,该表现是否在可接受范围内?
现有模型结构
本次实验搭建的是二分类图像检测模型,所用网络层代码如下:
tf.keras.layers.Conv2D(128,(3,3), activation = 'relu', input_shape = (150,150,3)), tf.keras.layers.MaxPool2D(2,2), tf.keras.layers.Conv2D(64,(3,3), activation = 'relu'), tf.keras.layers.MaxPool2D(2,2), tf.keras.layers.Conv2D(32,(3,3), activation = 'relu'), tf.keras.layers.MaxPool2D(2,2), tf.keras.layers.Flatten(), tf.keras.layers.Dense(512,activation='relu'), tf.keras.layers.Dropout(0.5), tf.keras.layers.Dense(128,activation='relu'), tf.keras.layers.Dropout(0.25), tf.keras.layers.Dense(1,activation='sigmoid')
- 额外咨询:当前搭建的模型结构是否存在可改进优化的空间?
内容的提问来源于stack exchange,提问作者Tneiliser
相关产品推荐
相关产品推荐

