我在keras的python中有一个奇怪的问题。网络输出显示出巨大的培训损失和验证损失值:
当前系数为 5.0 训练7200个样本,验证800个样本
Epoch 1/300
Epoch 2/300
Epoch 3/300
Epoch 4/300
Epoch 5/300
我认为该网络不完善。 MAE作为指标很好,但是为什么损失和验证损失很大?
有关数据:具有2400个功能部件的10个样本。 1200个要素的值分别为0、1、2,并且另一半是连续的。我只需按每列的平均值和标准差来缩放所有数据。
网络结构:
input = Input(name='input', shape=(p, ));
show_layer_info('Input', input);
dense1 = Dense(p, activation='relu',use_bias=bias, kernel_initializer=Constant(value=0.1), kernel_regularizer=regularizers.l2(coeff))(input);
show_layer_info('Dense', dense1);
out_ = Dense(1, use_bias=bias, kernel_initializer='glorot_normal')(dense1)
show_layer_info('Dense', out_)
opt = Adam(lr=lr, decay = 0.1) # , beta_1=0.95, beta_2=0.999 , decay=0.1
model = Model(inputs=input, outputs=out_)
model.compile(loss='mse', optimizer=opt, metrics=['mae'])
l2正则化的系数为:
CoeffS = np.array([5, 1, 5e-1, 1e-1, 1e-2, 5e-2, 1e-3, 1e-4, 1e-5])
lr = 1e-3
num_epochs = 300
batch_size = 128
我们非常感谢您的帮助。