当我使用 Theano 或 Tensorflow 训练我的神经网络时,它们会报告每个时期的一个名为“损失”的变量。
我应该如何解释这个变量?损失越高越好或越差,或者它对我的神经网络的最终性能(准确性)意味着什么?
越低loss,模型越好(除非模型过度拟合训练数据)。损失计算为training and 验证它的相互作用是模型在这两组上的表现如何。与准确性不同,损失不是百分比。它是训练或验证集中每个示例所犯错误的总和。
在神经网络的情况下,损失通常是负对数似然 and 残差平方和分别用于分类和回归。当然,学习模型的主要目标是通过不同的优化方法(例如神经网络中的反向传播)改变权重向量值,从而减少(最小化)模型参数的损失函数值。
损失值意味着每次优化迭代后某个模型的表现有多好或多差。理想情况下,人们期望每次或几次迭代后损失都会减少。
The accuracy模型的参数通常是在学习并固定模型参数之后确定的,并且不进行学习。然后将测试样本输入模型,并与真实目标进行比较后记录模型所犯的错误数量(零一损失)。然后计算错误分类的百分比。
例如,如果测试样本数为 1000 个,模型正确分类其中 952 个,则模型的准确率为 95.2%。
降低损失值的同时也有一些微妙之处。例如,您可能会遇到以下问题过拟合其中模型“记住”训练示例并且对于测试集变得无效。如果您不使用正则化,你有一个非常复杂的模型(自由参数的数量W
很大)或数据点的数量N
非常低。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)