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

Keras 为什么我只使用100个样本进行验证时,验证分数会发生0.2%的变化,keras,deep-learning,Keras,Deep Learning,我创建了一个深度学习模型,400个样本用于培训,100个样本用于验证。 因为我有100个验证样本,所以我希望验证分数只会在1%的步骤中发生变化。我的意思是,当模型有一个错误的预测时,验证准确率应该是99%。但是我得到了0.2%的步长,例如,我在第6纪元中有99.8%的准确度 以下是我的一些经历 Epoch 1/50 7/7 [==============================] - 38s 4s/step - loss: 1.7120 - acc: 0.6757 - val_loss:

我创建了一个深度学习模型,400个样本用于培训,100个样本用于验证。 因为我有100个验证样本,所以我希望验证分数只会在1%的步骤中发生变化。我的意思是,当模型有一个错误的预测时,验证准确率应该是99%。但是我得到了0.2%的步长,例如,我在第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,那么精度是根据序列元素的数量而不是样本的数量来计算的


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

请显示您的型号代码您认为这与型号有关吗?例如,如果您的型号是RNN-则准确度计算基于令牌数,而不是样本数。我认为这大约是平均数。在每个历元中,将计算不同批次的精度,所有精度的平均值显示为历元的最终精度。但我不确定:|是的,它是CNN-LSTM模型。我不知道代币,我正在研究脑电图信号。