machine-learning - Binary_crossentropy 和 Categorical_crossentropy 之间的混淆

标签 machine-learning computer-vision deep-learning keras

我正在使用深度神经网络进行二元类分类。每当我使用binary_crossentropy时,我的模型都没有给出很好的准确性(它更接近随机预测)。但是,如果我通过将输出层的大小设置为 2 来使用分类交叉熵,那么我仅在 1 个 epoch 中就获得了很好的准确度,接近 0.90。谁能解释一下这里发生了什么?

最佳答案

我在尝试将binary_crossentropy与 softmax 一起使用时也遇到了这个问题输出层的激活。据我所知,softmax给出每个类的概率,因此如果你的输出层有 2 个节点,它将类似于 p(x1) , p(x2)x1 + x2 = X 。因此,如果您只有 1 个输出节点,它将始终等于 1.0 (100%),这就是您接近随机预测的原因(老实说,它将接近评估集中的类别分布)。

尝试将其更改为其他激活方法,例如 sigmoidrelu .

关于machine-learning - Binary_crossentropy 和 Categorical_crossentropy 之间的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428100/

相关文章:

null - 处理回归(机器学习)中分类特征的未分配(空)值?

machine-learning - 什么是循环神经网络,什么是长短期内存 (LSTM) 网络,它总是更好吗?

java - 霍夫圆检测精度很低

computer-vision - 计算机视觉 : Detecting Parabolas using the Hough Transform

python - 如何修改Python中生成器的最后一个元素?

python - 使用 ML 纠正拼写

opencv - 如何平均两个面具?

python-3.x - Keras: TypeError: run() 得到了一个意外的关键字参数 'kernel_regularizer'

computer-vision - AlexNet 中的神经元数量

deep-learning - 训练损失根本没有改变(PyTorch)