我是 Keras 和机器学习的新手。我正在尝试使用 Sequential 模型构建一个二元分类模型。经过一些实验,我发现在多次运行中(并非总是如此),我在第二个或第三个时代本身的验证数据上获得了甚至 97% 的准确率,但这急剧下降到了 12%。这背后的原因是什么?如何微调我的模型?这是我的代码 -model = Sequential()model.add(Flatten(input_shape=(6,size)))model.add(Dense(6,activation='relu'))model.add(Dropout(0.35))model.add(Dense(3,activation='relu'))model.add(Dropout(0.1))model.add(Dense(1,activation='sigmoid'))model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['binary_accuracy'])model.fit(x, y,epochs=60,batch_size=40,validation_split=0.2)
2 回答

慕虎7371278
TA贡献1802条经验 获得超4个赞
在我看来,您可以考虑以下因素。
将您的学习率降低到一个非常小的数字,例如 0.001 甚至 0.0001。
提供更多数据。
将辍学率设置为 0.2 之类的数字。使它们在整个网络中保持一致。
尝试减小批量大小。
使用适当的优化器:您可能需要对此进行一些试验。在同一网络上使用不同的优化器,并选择一个损失最小的优化器。
如果上述任何因素对您有用,请在评论部分告诉我。
添加回答
举报
0/150
提交
取消