我正在使用深度神经网络进行二元类分类。每当我使用binary_crossentropy时,我的模型都没有给出很好的准确性(它更接近随机预测)。但是,如果我通过将输出层的大小设置为 2 来使用分类交叉熵,那么我仅在 1 个 epoch 中就获得了很好的准确度,接近 0.90。谁能解释一下这里发生了什么?
最佳答案
我在尝试将binary_crossentropy与 softmax
一起使用时也遇到了这个问题输出层的激活。据我所知,softmax
给出每个类的概率,因此如果你的输出层有 2 个节点,它将类似于 p(x1)
, p(x2)
和x1 + x2 = X
。因此,如果您只有 1 个输出节点,它将始终等于 1.0 (100%),这就是您接近随机预测的原因(老实说,它将接近评估集中的类别分布)。
尝试将其更改为其他激活方法,例如 sigmoid
或relu
.
关于machine-learning - Binary_crossentropy 和 Categorical_crossentropy 之间的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428100/