尽管损失值高,但精度高


15

在简单神经网络二进制分类器的训练过程中,我使用交叉熵得到了很高的损失值。尽管如此,验证集的准确性仍然具有很高的价值。有什么意义吗?损失与准确性之间没有严格的关联吗?

我在训练和验证这些值时:0.4011-acc:0.8224-val_loss:0.4577-val_acc:0.7826。这是我实现NN的首次尝试,而我刚刚接触过机器学习,因此无法正确评估这些结果。


3
您是否仅在训练集或验证中也观察到高损失值?比较训练集和验证集时,准确性或损失是否有大幅度下降?一些数字会有所帮助

Answers:


20

我也遇到过类似的问题。

我已经用交叉熵损失训练了我的神经网络二进制分类器。这里,交叉熵的结果是历元的函数。红色用于训练集,蓝色用于测试集。

交叉熵是历元的函数。

通过显示精度,我惊讶地发现,即使对于测试集,与epoch 50相比,epoch 1000的精度更高!

精度与时代的关系

为了理解交叉熵和准确性之间的关系,我研究了一个更简单的模型,即逻辑回归(具有一个输入和一个输出)。下面,我仅在3种特殊情况下说明这种关系。

通常,交叉熵最小的参数不是精度最大的参数。但是,我们可能期望交叉熵和准确性之间存在某种关系。

[在下文中,我假设你知道什么是交叉熵,为什么我们用它来代替精确到火车模型等等。如果没有,请仔细阅读本第一:如何解释的交叉熵的分数?]

插图1这是为了表明交叉熵最小的参数不是精度最大的参数,并了解原因。

这是我的样本数据。我有5分,例如输入-1导致输出0。 5分样本

交叉熵。 最小化交叉熵后,我得到0.6的精度。在x = 0.52处进行0和1之间的切割。对于这5个值,我分别得到的交叉熵为:0.14、0.30、1.07、0.97、0.43。

准确性。 在最大化网格上的精度之后,我获得了许多不同的参数,导致0.8。通过选择切割x = -0.1,可以直接显示出来。好了,您也可以选择x = 0.95来削减集合。

在第一种情况下,交叉熵很大。确实,第四个点距离切割点很远,因此具有较大的交叉熵。即,我分别获得交叉熵:0.01、0.31、0.47、5.01、0.004。

在第二种情况下,交叉熵也很大。在这种情况下,第三个点远离切口,因此具有较大的交叉熵。我分别获得了5e-5、2e-3、4.81、0.6、0.6的交叉熵。

在最小化交叉熵是1.27。对于,我们可以显示变化时(在同一张图中)交叉熵和准确性的演变。 一种一种b小数据示例

插图2在这里,我取。我将数据作为logit模型下的样本,其斜率且截距。我选择了一种具有较大效果的种子,但是许多种子会导致相关行为。ñ=100一种=0.3b=0.5

在这里,我仅绘制了最有趣的图形。最小化交叉熵的为0.42。对于此,我们可以显示变化时(在同一张图中)的交叉熵和准确性的演变。 bb一种中套

这是一件有趣的事情:情节看起来像我最初的问题。交叉熵上升,所选的变得很大,但是精度继续上升(然后停止上升)。一种

我们无法选择精度更高的模型(首先是因为这里我们知道基础模型的!)。一种=0.3

插图3在这里,我取,其中和。现在,我们可以观察到准确性和交叉熵之间的密切关系。ñ=10000一种=1b=0

大量数据

我认为,如果模型具有足够的容量(足以包含真实模型),并且数据很大(即样本量达到无穷大),那么当精度最大时,交叉熵可能最小,至少对于逻辑模型而言。我没有任何证据,如果有人引用,请分享。

参考书目:将交叉熵和准确性联系起来的主题既有趣又复杂,但是我找不到有关此内容的文章...研究准确性很有趣,因为尽管评分规则不正确,但是每个人都可以理解其含义。

注意:首先,我想在此网站上找到答案,涉及准确性和交叉熵之间关系的帖子很多,但答案却很少,请参阅:可比训练和测试交叉熵导致非常不同的准确度验证损失减少,但验证准确性恶化对分类交叉熵损失函数的怀疑 ; 解释日志损失百分比 ...


很好的插图。受这些插图的启发,我总结出两个可能的原因。1.模型太简单,无法提取所需的特征进行预测。在您的插图1中,这是一个多方面的问题,需要多一层才能获得100%的精度。
滇盛

-1

ahstat提供了很好的插图。

受这些插图的启发,我总结出两个可能的原因。1.模型太简单,无法提取所需的特征进行预测。在您的插图1中,这是一个多方面的问题,需要多一层才能获得100%的精度。2.数据的噪点过多。(比较图1和图3)

至于插图2,它解释了为什么我们不能在模型上添加过多的L1 / L2正则化。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.