我的模型是否过拟合?验证损失不断波动

数据挖掘 机器学习 神经网络 深度学习
2022-03-05 20:31:44

我已经训练了一个 4 层神经网络

model = Sequential()

#get number of columns in training data
n_cols = X_train.shape[1]

#add model layers
model.add(Dense(8, activation='relu', input_shape=(n_cols,)))
model.add(Dense(8, activation='relu'))
model.add(Dropout(rate = 0.05))
model.add(Dense(8, activation='relu'))

model.add(Dense(1))
#adam = optimizers.Adam(lr=0.0001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)
model.compile(optimizer='adam', loss='mae')
history = model.fit(X_train, y_train, epochs= 200, validation_split=0.2, batch_size=128)

当我在训练和验证损失之间绘制图表时,图表似乎就像在此处输入图像描述 验证损失在波动。我做对了吗?

1个回答

过度拟合是指模型在训练集上比在验证上表现更好的情况(这种行为的例子:损失曲线正在向不同的方向移动)。根据你的情节,模型并没有过度拟合。验证损失似乎比训练波动更大,因为您在训练数据集中有更多的点,并且在计算损失时测试错误的影响更大。