我正在使用深度神经网络进行二元类分类。每当我使用binary_crossentropy时,我的模型都不能提供良好的准确性(它更接近随机预测)。但是如果我通过制作输出层2的大小来使用分类交叉熵,那么我只能在接近0.90的1个时期内获得良好的准确性。谁能解释一下这里发生了什么?
答案 0 :(得分:14)
在尝试在输出层中使用带有softmax
激活的binary_crossentropy时,我也遇到此问题。据我所知,softmax
给出了每个类的概率,因此如果您的输出图层有2个节点,那么它将类似于p(x1)
,p(x2)
和x1 + x2 = X
。因此,如果您只有1个输出节点,它将始终等于1.0(100%),这就是您接近随机预测的原因(老实说,它将接近您在评估集中的类别分布)
尝试将其更改为其他激活方法,例如sigmoid
或relu
。