我是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)
这是我得到的最终结果。
这是什么原因?如何微调模型。