在 keras 模型指标中使用简单的 "accuracy" 进行多 class class 化在技术上是错误的吗?我们应该使用 CategoricalAccuracy() 吗?
Is it technically wrong to use simple "accuracy" in keras model metrics for multi-class classification? Should we use CategoricalAccuracy()?
因此,根据 Keras 的定义,简单的“准确性”指标比较 2 个标记为 类 的指标是正确的。
代码片段
---------some model layers---------.
model.add(Dense(len(all_labels), name="output", activation = 'softmax'))
METRICS = ['accuracy', tf.keras.metrics.CategoricalAccuracy() , tf.keras.metrics.AUC(), 'mae']
model.compile(optimizer = 'adam', loss = 'binary_crossentropy',
metrics = METRICS)
我正在尝试解决多class图像识别问题(7 classes,互斥)(一个数据点只属于一个class),one-hot使用 encoding 和 Output Softmax Activation 用于 Multi-class(这是正确的还是我应该选择 Sigmoid?)。
损失函数是二元交叉熵(分类交叉熵用于多标签{相互包含})。
那么什么准确性指标适用于此?
'accuracy' 或 categoricalAccuracy()?
example out--> 显示 'accuracy' 高但 categoricalAccuracy 很差
Epoch 1/10
99/100 [============================>.] - ETA: 4s - loss: 0.5722 - acc: 0.8334 - categorical_accuracy: 0.1504 - auc_2: 0.5117 - mean_absolute_error: 0.2434
如果这个模型在分类准确性方面很差,如何让它变得更好?
您应该使用 CategoricalAccuracy。它适用于 one-hot 标签和 类 的预测对数。
我认为你应该使用 CategoricalCrossentropy 作为损失函数。当你有两个 类.
时使用 BinaryCrossentropy
因此,根据 Keras 的定义,简单的“准确性”指标比较 2 个标记为 类 的指标是正确的。 代码片段
---------some model layers---------.
model.add(Dense(len(all_labels), name="output", activation = 'softmax'))
METRICS = ['accuracy', tf.keras.metrics.CategoricalAccuracy() , tf.keras.metrics.AUC(), 'mae']
model.compile(optimizer = 'adam', loss = 'binary_crossentropy',
metrics = METRICS)
我正在尝试解决多class图像识别问题(7 classes,互斥)(一个数据点只属于一个class),one-hot使用 encoding 和 Output Softmax Activation 用于 Multi-class(这是正确的还是我应该选择 Sigmoid?)。 损失函数是二元交叉熵(分类交叉熵用于多标签{相互包含})。 那么什么准确性指标适用于此? 'accuracy' 或 categoricalAccuracy()?
example out--> 显示 'accuracy' 高但 categoricalAccuracy 很差
Epoch 1/10
99/100 [============================>.] - ETA: 4s - loss: 0.5722 - acc: 0.8334 - categorical_accuracy: 0.1504 - auc_2: 0.5117 - mean_absolute_error: 0.2434
如果这个模型在分类准确性方面很差,如何让它变得更好?
您应该使用 CategoricalAccuracy。它适用于 one-hot 标签和 类 的预测对数。
我认为你应该使用 CategoricalCrossentropy 作为损失函数。当你有两个 类.
时使用 BinaryCrossentropy