python - Keras - 应使用什么精度指标与稀疏分类交叉熵来编译模型

标签 python tensorflow keras cross-entropy

当我有 2 个类时,我使用 binary_crossentropy 作为 loss 值来编译模型:

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])

但现在我有 5 个类,并且我没有使用热编码功能。因此,我选择“sparse_categorical_crossentropy”作为“损失”值。但准确度指标应该是 keras metric源代码表明有多个可用的准确度指标。我尝试过:

model.compile(optimizer='rmsprop', loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy'])

那么它是正确的还是我应该使用categorical_accuracy

最佳答案

sparse_categorical_accuracy is a correct metrics for sparse_categorical_entropy.

但是为什么要使用sparse_categorical_entropy?你们有什么类型的类(class)? sparse_categorical_entropy 用于整数输出。但如果您有一个one-hot-encoded目标,则应使用categorical_crossentropy作为损失函数准确性或指标的categorical_accuracy

<小时/>

更新:
使用以下代码解决您的分类问题:

model.add(Dense(5, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

关于python - Keras - 应使用什么精度指标与稀疏分类交叉熵来编译模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53609697/

相关文章:

python - python 中的指数平滑产生所有 NaN

python - Pattern.en Wordnet 是否受到限制?

python - ImageData 生成器中的 validation_split 返回 0 个图像

python - 通过ImageDataGenerator类将tfrecord加载到Keras中

python - 如何从 JSON 文件中的每个值中删除空格和换行符?

python - 如何保存 GridSearchCV xgboost 模型?

tensorflow - 检查 TPU 工作负载/利用率

tensorflow - xavier_initializer和xavier_initializer_conv2d有什么区别?

python - VGG,keras 中的感知损失

python-3.x - VGG16 型号卡住计算机