当考虑将输入分类为2类之一的问题时,我看到的99%的示例都使用了具有单个输出和sigmoid的NN作为激活,随后是二进制交叉熵损失。我想到的另一种选择是让最后一层产生2个输出并使用C = 2类的分类交叉熵,但是在任何示例中我都从未见过。
有什么理由吗?

谢谢

最佳答案

如果在两个输出网络的顶部使用softmax,则在数学上等效于在顶部使用sigmoid的单个输出。
做一下数学,您会看到的。

在实践中,根据我的经验,如果您查看两个输出网的原始“ logit”(在softmax之前),您会发现一个正好是另一个的负数。这是由于梯度沿每个神经元正好沿相反的方向拉动的结果。

因此,由于两种方法都是等效的,因此单个输出配置具有较少的参数并且需要较少的计算,因此,使用具有S型曲面的单个输出会更有利。

关于python - 二进制交叉熵与2类的分类交叉熵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57726064/

10-10 21:31