当我只使用100个样本进行验证时,为什么我看到验证分数发生0.2%的变化



我创建了一个深度学习模型,其中有400个样本用于训练,100个样本用于验证。因为我正好有100个验证样本,所以我期望验证分数只会在1%的步骤中发生变化。我是说,当模型有一个错误预测时,验证准确率应为99%。但是我得到0.2%的步长——例如,我在epoch 6中有99.8%的准确率。

这是我的一些时代。

Epoch 1/50
7/7 [==============================] - 38s 4s/step - loss: 1.7120 - acc: 0.6757 - val_loss: 1.1954 - val_acc: 0.8460
Epoch 2/50
7/7 [==============================] - 21s 3s/step - loss: 1.1830 - acc: 0.9484 - val_loss: 1.0480 - val_acc: 0.9760
Epoch 3/50
7/7 [==============================] - 20s 3s/step - loss: 0.9788 - acc: 0.9973 - val_loss: 0.8467 - val_acc: 1.0000
Epoch 4/50
7/7 [==============================] - 20s 3s/step - loss: 0.8315 - acc: 0.9994 - val_loss: 0.6995 - val_acc: 1.0000
Epoch 5/50
7/7 [==============================] - 20s 3s/step - loss: 0.7167 - acc: 1.0000 - val_loss: 0.6072 - val_acc: 1.0000
Epoch 6/50
7/7 [==============================] - 20s 3s/step - loss: 0.6138 - acc: 1.0000 - val_loss: 0.5310 - val_acc: 0.9980

训练精度也存在同样的问题。我在Keras中使用这个命令来拟合模型。

history = model.fit(np.array(X_train),np.array(Y_train),epochs=50, batch_size=64, validation_data = (np.array(X_test),np.array(Y_test)), shuffle=True)

我是否误解了精度计算?

如果你的模型是RNN -,那么精度是基于序列元素的数量而不是样本的数量来计算的。

在你的情况下-精度计算为正确信号数除以总信号数。

最新更新