当训练精度提高时,验证精度较低且不增加

2024-04-26 10:52:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我对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

这背后的原因是什么。?如何微调模型。?你知道吗


Tags: 模型addinputsizemodellayersactivityactivation