gpt4 book ai didi

python - 如何防止此模型中的过度拟合?

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:42 25 4
gpt4 key购买 nike

我为图像分类问题制作了这个模型。我遇到的问题是验证准确度总是比训练准确度低 5-8%,而验证损失远高于训练损失。这是我的一个纪元的示例:loss: 0.2232 - acc: 0.9245 - val_loss: 0.4131 - val_acc: 0.8700

model = Sequential()

model.add(Conv2D(32, 3, 3, border_mode='same', input_shape=(150,
150, 3), activation='relu'))
model.add(Conv2D(32, 3, 3, border_mode='same', activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(64, 3, 3, border_mode='same', activation='relu'))
model.add(Conv2D(64, 3, 3, border_mode='same', activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(128, 3, 3, border_mode='same',
activation='relu'))
model.add(Conv2D(128, 3, 3, border_mode='same',
activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(256, 3, 3, border_mode='same',
activation='relu'))
model.add(Conv2D(256, 3, 3, border_mode='same',
activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))

model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))

model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',
optimizer=RMSprop(lr=0.0001),
metrics=['accuracy'])

# this is the augmentation configuration we will use for training
train_datagen = ImageDataGenerator(
rescale=1. / 255,
shear_range=0.1,
zoom_range=0.1,
horizontal_flip=True)

# this is the augmentation configuration we will use for testing:
# only rescaling
test_datagen = ImageDataGenerator(rescale=1. / 255)

我尝试过使用 Hyperas 进行贝叶斯超参数优化,但它推荐的模型超参数并不真正适合我。我应该在我的模型中更改什么以防止它过度拟合?我没有使用太多数据来训练和验证模型,因为我没有太多关于模型将在现实生活中使用的数据。任何建议将不胜感激。

最佳答案

过度拟合是一回事,训练与验证错误是另一回事。

您的训练分数优于验证分数这一事实并不意味着您过度拟合。当您的验证分数达到最佳然后随着训练开始变得更糟时,您就过度拟合了。

如果您正在寻找更好的验证分数 - 更好的模型泛化,您可以做的是:

  • 增加 dropout(你的 dropout 看起来不错,但尝试增加它看看会发生什么,

  • 使用更多数据进行训练(不可能像你上面说的那样)

  • 尝试更重的增强

  • 尝试预训练网络

  • 尝试集成

  • try tta(测试时间增加)

  • 尝试任何其他训练策略,如余弦退火、混合生成器或其他生成器(非 keras)作为白化

关于python - 如何防止此模型中的过度拟合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57076930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com