当前位置: 首页 > 知识库问答 >
问题:

损失、准确性、验证损失、验证准确性之间有什么区别?

戚令秋
2023-03-14

在每个纪元结束时,我会得到以下输出:

Epoch 1/25
2018-08-06 14:54:12.555511: 
2/2 [==============================] - 86s 43s/step - loss: 6.0767 - acc: 0.0469 - val_loss: 4.1037 - val_acc: 0.2000
Epoch 2/25
2/2 [==============================] - 26s 13s/step - loss: 3.6901 - acc: 0.0938 - val_loss: 2.5610 - val_acc: 0.0000e+00
Epoch 3/25
2/2 [==============================] - 66s 33s/step - loss: 3.1491 - acc: 0.1406 - val_loss: 2.4793 - val_acc: 0.0500
Epoch 4/25
2/2 [==============================] - 44s 22s/step - loss: 3.0686 - acc: 0.0694 - val_loss: 2.3159 - val_acc: 0.0500
Epoch 5/25
2/2 [==============================] - 62s 31s/step - loss: 2.5884 - acc: 0.1094 - val_loss: 2.4601 - val_acc: 0.1500
Epoch 6/25
2/2 [==============================] - 41s 20s/step - loss: 2.7708 - acc: 0.1493 - val_loss: 2.2542 - val_acc: 0.4000
.
.
.
.

谁能给我解释一下损失、准确性、验证损失和验证准确性之间有什么区别吗?

共有1个答案

葛泳
2023-03-14

在对DL模型进行拟合时,引入validation_split作为拟合参数,它将每一个时期的数据分成两部分,即训练数据和验证数据。在训练数据上训练模型,在验证数据上通过检验模型的丢失和准确性来验证模型。

通常,随着时间的增加,损耗越低,精度越高。但是使用val_loss和val_acc,许多情况都是可能的:

>

  • val_loss开始增加,val_acc开始减少(表示模型是填鸭式的值而不是学习)

    val_loss开始增加,val_acc也增加。(在输出层使用softmax的情况下,可能是过拟合或不同概率值的情况)

    val_loss开始减少,val_acc开始增加(正确,意味着模型构建正在学习和工作良好)

  •  类似资料:
    • 关于使用Lenet5网络解释MNIST上某些优化器的性能,我有几个问题,以及验证损失/精度与训练损失/精度图确切地告诉我们什么。因此,所有的事情都是在Keras中使用标准的LeNet5网络完成的,它运行了15个历元,批处理大小为128。 有两个图,列车acc vs val acc和列车损失vs val损失。我生成了4个图,因为我运行了两次,一次是validation_split=0.1,一次是va

    • 问题内容: 我找不到Keras如何定义“准确性”和“损失”。我知道我可以指定不同的指标(例如mse,交叉熵),但是keras会打印出标准的“准确性”。如何定义?同样对于损失:我知道我可以指定不同类型的正则化- 损失中的那些正则化吗? 理想情况下,我想打印出用于定义它的公式;如果没有,我会在这里解决。 问题答案: 看一下,您可以在其中找到所有可用指标的定义,包括不同类型的准确性。除非在编译模型时将其

    • 我正在尝试通过bash命令验证pdf文件的完整性。 然后我破译了PKC通过 从解码的pkcs7中我得到了一些有用的信息 特别是,我注意到messageDigest字段等于使用ByTerange获得的signedContent的计算摘要。 我已经提取了加密的散列,用我的公钥对其进行了解密,并用asn1命令再次进行了解码。 结果是这个对象 我非常肯定解密工作了,因为对象被正确解码了,并且正如我所期望的

    • 当我用Theano或Tensorflow训练我的神经网络时,它们会每历元报告一个叫做“损失”的变量。 我该如何解释这个变量呢?更高的损耗是更好还是更差,或者这对我的神经网络的最终性能(准确性)意味着什么?

    • 问题内容: 我的系统需要至少10毫秒的计时器精度。 我选择了timerfd,因为它非常适合我,但是发现即使在长达15毫秒的时间内,它也不是完全准确的,或者是我不理解它是如何工作的。 在一个10毫秒的计时器上,我测量的时间高达21毫秒。 我已经进行了一次快速测试,以显示我的问题。 这里是一个测试: 像这样执行: 即使假设有些可能的延迟,对我来说15毫秒的延迟听起来也太多了。 问题答案: 尝试按以下方

    • 我们正在构建一个需要精确性的apiendpoint。我们希望对POST/PUT到服务器的参数实施严格的验证。 如果api用户发送了一个不受支持的对(例如,我们允许参数[first\u name,last\u name],并且用户包含一个不受支持的参数[country]),我们希望验证失败。 已尝试构建名为(用作)的自定义验证器,但要使其在数组中可用,必须将其应用于嵌套/子属性列表的父级(…因为我们