如何解决训练损失和验证损失都很大Python-Keras
我在keras的python中有一个奇怪的问题。网络输出显示出巨大的培训损失和验证损失值:
当前系数为 5.0 训练7200个样本,验证800个样本
Epoch 1/300
- 4秒-损失:289033.6717-湄:1.4962-val_loss:245246.5262-val_mae:0.8944
Epoch 2/300
- 4秒-损失:226937.6319-湄:0.8431-val_loss:211641.6300-val_mae:0.8809
Epoch 3/300
- 4秒-亏损:201703.9288-湄:0.8447-val_loss:192584.1669-val_mae:0.8746
Epoch 4/300
- 4秒-损失:185884.4973-湄:0.8455-val_loss:179480.7294-val_mae:0.8760
Epoch 5/300
- 4秒-损失:174479.2118-湄:0.8443-val_loss:169587.4256-val_mae:0.8792
我认为该网络不完善。 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,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
我们非常感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。