使用Tensorflow模型进行回归培训损失>验证损失

时间:2020-07-31 21:52:50

标签: python tensorflow keras regression

我需要估计一个连续值,并有一个包含11个字段和一个要估计的字段的数据集。因此,我“清理”了数据,并使用MinMaxScaler进行了优化,对行进行了混洗,然后继续创建模型。顺便说一下,这是一个127K的数据集,而我的测试数据是20%。这是该模型的一个片段:

model = Sequential()

model.add(Dense(64,activation='relu'))
model.add(Dense(64,activation='relu'))
model.add(Dense(1))

model.compile(tf.keras.optimizers.Adam(
 learning_rate=0.01, 
 beta_1=0.9, 
 beta_2=0.999, 
 epsilon=1e-07, 
 amsgrad=False,
 name='Adam'),
 loss='mse') 

适合度:

model.fit(x=X_train,y=y_train.values,
          validation_data=(X_test,y_test.values),
          batch_size=128,epochs=100)

但是结果:

losses = pd.DataFrame(model.history.history)
   losses.plot()

历史记录显示训练损失与验证损失之间存在巨大差距: enter image description here

我尝试在输入和中间层之间添加一个辍学层,但这只会使情况变得更糟。

0 个答案:

没有答案