一个二分类的神经网络,输出层用sigmoid,隐藏层使用reLU得到的代价cost比使用tanh得到的cost小(),但是reLU的准确率为0.5(数据集和测试集都是0.5左右),tanh的准确率为0.85(数据集为0.9左右,测试集为0.85左右)。cost是计算的交叉熵损失。
出现这种情况(cost更小但准确率低)可能的原因是什么呢?
这不科学呀
有可能是你的模型有问题,也有可能是参数设置的问题。
损失和准确度不是一回事,从这个问题来说,损失是让熵值降低,减少不确定性,而准确度是说的是预测的类别是正确的,首先从交叉熵来看loss降低一般来说预测是会变好的,但你的loss降低而准确度没有变化可能的原因是模型在简单样本上预测变好,困难样本上没变或变差。举个简单的例子两个样本,标签分别为1和0,两次迭代的预测结果如下(0.2,0.8)(0.4,0.6) (0.1,.0.9)(0.4,0.6)从损失来看降低啦,但实际精度并没有发生变化。如果说在容易样本上的概率变得足够高,能够完全抵消掉一部分容易样本转换为困难样本,这时就会出现loss下降但是准确度下降了
过拟合了 尝试减少模型参数