小编典典

如何解释机器学习模型的损失和准确性

all

当我用 Theano 或 Tensorflow 训练我的神经网络时,他们会在每个 epoch 报告一个名为“loss”的变量。

我应该如何解释这个变量?更高的损失是好是坏,或者这对我的神经网络的最终性能(准确性)意味着什么?


阅读 80

收藏
2022-05-16

共1个答案

小编典典

损失 越低,模型越好(除非模型过度拟合训练数据)。损失是根据 训练验证
计算的,其相互作用是模型对这两组的表现。与准确性不同,损失不是百分比。它是训练或验证集中每个示例所犯错误的总和。

在神经网络的情况下,损失通常分别是分类和回归的负对数似然残差平方和。那么自然地,学习模型的主要目标是通过不同的优化方法(例如神经网络中的反向传播)改变权重向量值,从而减少(最小化)损失函数相对于模型参数的值。

损失值意味着在每次优化迭代后某个模型的表现有多好或多差。理想情况下,人们会期望在每次或多次迭代后减少损失。

模型的 准确性
通常是在模型参数被学习和固定之后确定的,并且没有进行学习。然后将测试样本馈送到模型中,并在与真实目标进行比较后记录模型所犯的错误数(零一损失)。然后计算错误分类的百分比。

例如,如果测试样本数为 1000,模型正确分类了其中的 952 个,则模型的准确率为 95.2%。

在此处输入图像描述

在降低损失值的同时也有一些微妙之处。例如,您可能会遇到过度拟合的问题,其中模型“记住”了训练示例并对测试集变得无效。过度拟合也会发生在不使用正则化、模型非常复杂(自由参数W数量很大)或数据点N数量非常少的情况下。

2022-05-16