Answers:
val_loss
是交叉验证数据的成本函数值,损失是训练数据的成本函数值。根据验证数据,使用辍学的神经元不会丢弃随机神经元。原因是在训练过程中,我们使用辍学来增加一些噪音,以避免过度拟合。在计算交叉验证期间,我们处于召回阶段,而不是训练阶段。我们使用网络的所有功能。
感谢我们一位亲爱的朋友,在此引用并解释有用的内容。
validation_split
:在0到1之间浮动。训练数据的一部分用作验证数据。模型将分开训练数据的这一部分,不对其进行训练,并且将在每个时期结束时评估此数据的损失和任何模型度量。在改组之前,从提供的x和 y数据中的最后一个样本中选择验证数据。
validation_data
:元组(x_val,y_val)或元组(x_val,y_val,val_sample_weights),在每个时期结束时可评估损失和任何模型指标。该模型将不会根据此数据进行训练。这将覆盖validation_split。
如你看到的
fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)
fit
中使用的方法Keras
具有一个名为validation_split的参数,该参数指定用于评估在每个时期之后创建的模型的数据百分比。使用大量数据评估模型后,val_loss
如果将verbose设置为,则会通过进行报告1
。此外,正如文档中明确规定的那样,您可以使用validation_data
或validation_split
。交叉验证数据用于调查您的模型是否适合数据。这就是我们可以了解我们的模型是否具有泛化能力的内容。
dropout
未使用None
)时,辍学仅在训练期间适用(即在验证期间未应用退学)。因此,验证损失(val_loss
)和训练损失(loss
)之间的差异之一是,当使用辍学时,验证损失可以低于训练损失(通常在不使用辍学的情况下通常无法预期)。