在 Keras 中为“categorical_crossentropy”选择验证指标

Selecting validation metric for `categorical_crossentropy` in Keras

我正在看这两个问题和文档:

https://keras.io/api/metrics/probabilistic_metrics/#categoricalcrossentropy-class

对于 X 射线图像的分类我 (15 类) 我做:

# Compile a model
model1.compile(optimizer = 'adam', loss = 'categorical_crossentropy', 
metrics = ['accuracy']) 

# Fit the model
history1 = model1.fit_generator(train_generator, epochs = 10, 
steps_per_epoch = 10, verbose = 1, validation_data = valid_generator)

我的模型有效并且我有一个输出:

但我不确定如何在此处添加验证准确性以比较结果并避免 over/underfitting。

希望以下内容对您有所帮助:

"categorical_crossentropy" 的使用告诉我你的标签是不同 classes 上的单一热编码。

假设您有 15 个 class,正确的预测将是一个包含 14 个零的向量,并且在相应的索引处有一个 1。在这种情况下,"accuracy" 将非常高,因为您的模型将在所有地方正确预测大部分为零,因此准确度应该很容易达到至少 13/15 = 0.86。

一个更合适的指标是 "categorical_accuracy" 如果模型预测正确的指数,它会给你 1,否则给你 0。

如果您的验证 "categorical_accuracy" 优于 1/15 = 0.067(假设您的 class 正确平衡),则您的模型优于随机模型。

您可以在 keras metrics 找到指标列表。