可比较的训练和测试交叉熵导致非常不同的准确度

机器算法验证 神经网络 精确召回 损失函数
2022-03-17 16:06:28

前提

我正在 ImageNet 数据集中的 51 个子类上训练卷积神经网络(ConvNet) 为了关注过度拟合,有人建议我绘制训练和测试损失函数值(使用负对数似然标准)和准确性(对样本总数的正确猜测)。到目前为止,我得到了一致的结果,类似于下面的例子。

清除过拟合

然后,我使用dropout技术消除了过度拟合,生成了以下图表。

用 dropout 杀死过拟合

问题

现在我很困惑。我有类似的交叉熵误差,但准确度却大不相同。对于训练和测试,类似的损失函数值不应该给我类似的精度吗?

改写问题:为什么etestetrainatestatrain其中e停留在交叉熵误差(定义如下)和a停留在准确性

定义

我一直在交替使用术语交叉熵误差损失函数值我指的是由下式给出的平均预测误差

e=1mi=1mln[p(yi|xi)]

其中是训练或测试集中的图像数量,是真实标签,相关联的模型输出概率,将被分类为myip(yi|xi)xiyi

1个回答

Frank Harrell 教授在我的帖子中提出,百分比准确度是一个不正确的评分规则,其中准确度得分可能由错误的模型优化,并且添加非常重要的预测器可能会导致模型不太准确。此外,准确性评分规则是高方差。另一方面,对数似然被认为是适当的评分规则。