我是使用“ acc”(来自训练数据?)还是“ val acc”(来自验证数据?)一?
如果您想估计模型对新数据进行泛化的能力(这可能是您想要做的),那么您将查看验证准确性,因为验证拆分仅包含模型在训练和训练中从未看到的数据。因此不能仅仅记住。
如果您的训练数据准确性(“ acc”)不断提高,而验证数据准确性(“ val_acc”)变差,则您可能处于过度拟合的情况,即您的模型开始基本上只是存储数据。
每个时期都有不同的acc和val acc。我怎么知道整个模型的acc或val acc?我是否要对所有时期acc或val acc求平均值,以找到整个模型的acc或val acc?
每个时期都是对您所有数据的一次训练。在运行期间,将根据损失函数调整模型的参数。结果是一组具有一定泛化到新数据能力的参数。验证准确性反映了该能力。因此,将每个纪元都视为自己的模型,如果对另一个纪元进行训练,则模型会变得更好或更糟。验证准确度的变化(更好=验证准确度提高)可以判断它的好坏。因此,请选择验证精度最高的时期模型。不要平均不同时期的精度,这没有多大意义。您可以使用ModelCheckpoint
回调ModelCheckpoint
来自动保存具有最高验证准确性的模型(请参阅回调文档 )。
模型1的最高精度为0.7737
,模型2的最高精度为0.7572
。因此,您应该更好地查看模型1(在时期3)。尽管0.7737
可能只是随机的异常值。
0
我不知道要比较我的2个Keras模型以查看哪个更好,可以使用输出中的哪个精度。
我是使用“ acc”(来自训练数据?)还是“ val acc”(来自验证数据?)一?
每个时期都有不同的acc和val acc。我怎么知道整个模型的acc或val acc?我是否要对所有时期acc或val acc求平均值,以找到整个模型的acc或val acc?
模型1输出
模型2输出