如何读取二进制交叉熵的输出?

数据挖掘 喀拉斯 统计数据
2022-03-08 13:00:51

假设对于单个训练示例,真实标签为 [1 0 0 0 0],而预测为 [0.1 0.5 0.1 0.1 0.2]。如何计算其二元交叉熵?以及输出值如何决定样本属于 a 类还是 b 类?我也想知道二元交叉熵公式中的1-p是什么?

1个回答

二元交叉熵是交叉熵损失函数的简化,适用于只有两个输出类的情况。本质上,它可以归结为与您的真实类别标签相关的概率的负对数。

交叉熵

交叉熵定义为

L=ylog(p)

在哪里y是二进制类标签,如果是正确的类,则为 1,否则为 0。p是每个类别的概率。

我们来看一个例子,如果举个例子X输出标签为 0,您的模型输出为[0.7,0.3]. 然后我们可以看到使用二元交叉熵的损失函数为

L=(1log(0.7)+0log(0.3))=0.155

请注意损失如何仅受真实标签的预测概率影响。

二进制交叉熵

二进制交叉熵是具有 2 个输出类的示例,可以简化为

L=(ylog(p)+(1y)log(1p))=(1log(0.7)+(11)log(10.7))=0.155


你的例子

对于你的例子,[1,0,0,0,0]和预测[0.10.50.10.10.2]损失是

L=(1log(0.1)+0log(0.5)+0log(0.1)+0log(0.1)+0log(0.2))=1