Python 精度增加,但损失也增加
我正在使用这个模型。当使用这个模型时,验证的准确度在增加,但同时验证的损失也在增加。这里发生了什么Python 精度增加,但损失也增加,python,tensorflow,keras,Python,Tensorflow,Keras,我正在使用这个模型。当使用这个模型时,验证的准确度在增加,但同时验证的损失也在增加。这里发生了什么 from keras.layers import Dense from keras.models import Sequential from keras.optimizers import adam model_alpha1 = Sequential() model_alpha1.add(Dense(64, input_dim=96, activation='relu')) model_alp
from keras.layers import Dense
from keras.models import Sequential
from keras.optimizers import adam
model_alpha1 = Sequential()
model_alpha1.add(Dense(64, input_dim=96, activation='relu'))
model_alpha1.add(Dense(2, activation='softmax'))
opt_alpha1 = adam(lr=0.001)
model_alpha1.compile(loss='sparse_categorical_crossentropy', optimizer=opt_alpha1, metrics=
['accuracy'])
history = model_alpha1.fit(x_train, y_train, validation_data=(x_test, y_test), epochs=200, verbose=1)
如果需要更多的细节,我将提供详细的评论。谢谢你看来你的模型是太过合适了。换句话说,您的模型对训练数据的拟合度太高,这就是为什么它对验证数据的性能不再好的原因 防止过度拟合的典型方法是使用
正则化
技术。例如:
- 辍学层
- 早停
- 噪音
这里有一些TF的正则化示例:当训练分类模型时,不可能直接优化精度,因为它不是可微函数。因此,我们使用交叉熵作为损失函数,这与精度高度相关。在检查我们的指标时,重要的是要记住,这仍然是两个不同的指标
在CE损失方面,您的模型表现出教科书式的过度拟合。然而,就你真正感兴趣的准确性而言,它只是“完成了训练”。这就是为什么我们不仅要跟踪损失,还要跟踪我们感兴趣的底线的实际指标,以便我们根据这些指标做出决策。请您做一些解释……在没有ce的情况下,我可以在这里使用什么样的损失函数。我认为ce是任务的正确损失函数。我想说的是,你需要记住,它不是你感兴趣的最终指标。你对准确性感兴趣,因此你应该使用准确性来决定何时停止训练以及使用哪个检查点。。。。。