微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误的准确性验证集

如何解决错误的准确性验证集

我有一个光谱识别对象的模型

model = Sequential()
model.add(Conv1D(filters = 64,input_shape=(train_generator.get_half_spec_size(160000),1),kernel_size = 20,activation='relu'))
model.add(Batchnormalization())
model.add(Conv1D(filters = 64,kernel_size = 16,activation='relu',kernel_regularizer=regularizers.l1_l2(l1=1e-5,l2=1e-4),bias_regularizer=regularizers.l2(1e-4),activity_regularizer=regularizers.l2(1e-5)))
model.add(Batchnormalization())
model.add(MaxPool1D(strides=5))


model.add(Flatten())

model.add(Dense(512,activation='relu'))

model.add(Dropout(0.5))

model.add(Dense(256,activation='relu'))
#model.add(Batchnormalization())
model.add(Dense(2,activation='softmax'))

model.compile(optimizer=Adam(),loss='sparse_categorical_crossentropy',metrics=['accuracy'])

似乎我对“准确度”指标有一些奇怪的看法。首先,几乎在所有的 epoch 中,训练集的准确率都是 0.66,验证集的准确率是 0.99。

好的。比当模型学习时 - 我只取了一个样本并检查样本验证是否正确。验证不正确(有1但预测为0),但评估的答案是

[2.060739278793335,1.0]

如此大的损失(预期)和错误的准确性(1.0)

然后我又取了一个样本并再次预测。 '评估'的答案是

[0.18439120054244995,1.0]

现在正确的损失和准确度(实际上模型的预测是正确的)。

我的建议是,“准确度”指标在那里工作是错误的。还是哪里出错了?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。