验证准确性低,并且随着训练准确性的提高而没有增加

时间:2019-10-30 08:08:22

标签: python validation keras deep-learning conv-neural-network

我是Keras和机器学习的新手。我正在尝试使用顺序模型构建分类模型。经过一些实验,我发现我的验证准确性行为非常低并且没有增加,尽管训练准确性很好。我向各层添加了正则化参数,并且还在各层之间添加了辍学。仍然,该行为存在。这是我的代码。

from keras.regularizers import l2
model = keras.models.Sequential()
model.add(keras.layers.Conv1D(filters=32, kernel_size=1, strides=1, padding="SAME", activation="relu", input_shape=[512,1],kernel_regularizer=keras.regularizers.l2(l=0.1))) # 一定要加 input shape
keras.layers.Dropout=0.35
model.add(keras.layers.MaxPool1D(pool_size=1,activity_regularizer=l2(0.01)))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(256, activation="softmax",activity_regularizer=l2(0.01)))
model.compile(loss="sparse_categorical_crossentropy",
             optimizer="adam",
             metrics=["accuracy"])
Ahistory = model.fit(train_x, trainy, epochs=300, 
                    validation_split = 0.2, 
                    batch_size = 16)

这是我得到的最终结果。

Training accuracy & Validation accuracy

这是什么原因?如何微调模型。

0 个答案:

没有答案