python - 在 Keras 中为“categorical_crossentropy”选择验证指标
问题描述
我正在查看这两个问题和文档:
Keras categorical_accuracy 指标的输出是什么?
分类交叉熵需要使用 categorical_accuracy 或 accuracy 作为 keras 中的指标吗?
https://keras.io/api/metrics/probabilistic_metrics/#categoricalcrossentropy-class
对于 X 射线图像 I(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)
我的模型有效,我有一个输出:
但我不确定如何在此处添加验证准确性以比较结果并避免过度/欠拟合。
解决方案
我希望以下内容可以帮助您:
的使用"categorical_crossentropy"
告诉我,您的标签是对不同类的一种热编码。
假设您有 15 个类,正确的预测将是一个包含 14 个零的向量,以及对应索引处的一个。在这种情况下"accuracy"
将非常高,因为您的模型将正确预测几乎所有地方都为零,因此准确度应该很容易达到至少 13/15 = 0.86。
一个更合适的指标是"categorical_accuracy"
,如果模型预测正确的索引,它会给你 1,否则为 0。
如果您的验证"categorical_accuracy"
优于 1/15 = 0.067(假设您的班级正确平衡),则您的模型比随机模型要好。
您可以在keras metrics中找到指标列表。
推荐阅读
- openlayers - 为什么 layer.getSource().getExtent() 需要超时才能工作?
- php - 为什么在 Symfony 框架中使用 App\Entity 而不是 App\Model 的学说命名空间不起作用?(请参阅下面的错误消息)
- sql - 如何从此 SELECT 查询中删除重复连接?
- dependencies - Yarn 工作区共享依赖项
- ios - 检查下拉列表的文本是否有效以打开下一个选择器 usnig Swift
- sql - SQL 计数和连接
- ios - 添加 tabBarController、iOS、Swift 后导航消失
- javafx - 如何将侦听器附加到两个仅在两者都更改时触发一次的属性?
- c# - 使用 XSD.exe 的多个版本 C# 类/XSD
- python - 如何将子菜单项添加到 wxPython 中的弹出菜单项?