交叉熵损失和后勤损失之间有什么区别吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交叉熵损失和后勤损失之间有什么区别吗?相关的知识,希望对你有一定的参考价值。

我想为我的深度学习模型使用逻辑损失成本函数来解决二元分类问题。我正在使用keras来构建模型。但是,keras没有任何预定义的逻辑loss function

在阅读关于损失函数的过程中,我遇到了关于交叉熵损失和逻辑损失的令人困惑的陈述。在这个维基百科article中,有一个单独的部分用于后勤损失和交叉熵损失。

然而,在这个维基百科article中,它提到:

后勤损失有时被称为交叉熵损失。

此外,这个sklearn page开头:

对数损失,又称逻辑损失或交叉熵损失。

任何帮助,将不胜感激。

答案

在keras中使用binary_crossentropy进行2类分类问题。使用categorical_crossentropy超过2个类。

两者都是相同的。如果tensorflow用作keras的后端,那么它使用下面提到的函数来评估binary_crossentropy。

tf.nn.sigmoid_cross_entropy_with_logits(labels=target,
                                                   logits=output)

在以下功能的文档中提到:

为简洁起见,让x = logits,z =标签。物流损失是

z * -log(sigmoid(x))+(1 - z)* -log(1 - sigmoid(x))

以上是关于交叉熵损失和后勤损失之间有什么区别吗?的主要内容,如果未能解决你的问题,请参考以下文章

谈谈交叉熵损失函数

逻辑损失和交叉熵损失的区别

np.dot 和 np.multiply 与 np.sum 在二进制交叉熵损失计算中的区别

均方误差和交叉熵损失函数比较

交叉熵损失函数和focal loss

交叉熵和对数损失函数之间的关系