keras - Keras中二进制交叉熵损失值的含义?
问题描述
在训练期间,我看到二元交叉熵损失是正无界的。那么我们可以仅仅从损失值来解释任何事情吗?例如,如果二元交叉熵损失为 0.5,这是否意味着模型只能在一半的时间内猜测正确的结果?
解决方案
看到的损失是损失的平均数。在我看来,当您有一个批量大小为 1 的输出 sigmoid 时,这是正确的。具有更大的批量大小,使这更加复杂。一个例子:
batch_size=4
error_batch_1 = 0.4 #close
error_batch_2 = 0.3 #close
error_batch_3 = 0.3 #close
error_batch_4 = 1 #far away
当计算平均值时,我们得到:2/4 = 0.5
当您以这种方式查看错误时,您会认为一半的预测是正确的,但实际上,4 个中有 3 个是正确的(意味着结果四舍五入为 1 或 0)
推荐阅读
- c++ - 如何解决 C++ 错误:重新定义“类”
- python - 从检查点创建 Estimator 并保存为 SavedModel,无需进一步培训
- django - 当 DEBUG = False 时 Django 电子邮件后端失败
- c++ - 使用双指针的反向链表
- augmented-reality - 1.16.0 的 Sceneform 依赖项(不兼容 AndroidX)
- python - 熊猫 | 如何获取包含时间戳的两列之间的时间差(以秒为单位)
- python - “import Fuzzywuzzy”会导致错误,而“fromfuzzywuzzy import fuzz”不会
- linux - 构建 eudev 3.2.7 时缺少标题
- tensorflow - 数据增强层的行为是什么?
- c# - 处理HttpclientHandler的正确方法