我使用深度学习为多类分类创建了三个不同的模型,每个模型都给了我不同的准确率和损失值。模型测试结果如下:
第一个模型:准确度:98.1% 损失:0.1882
第二个模型:准确度:98.5% 损失:0.0997
第三个模型:准确度:99.1% 损失:0.2544
我的问题是:
损失值和准确率值之间有什么关系?
为什么第三个模型的损失越大,即使准确率越高?
我使用深度学习为多类分类创建了三个不同的模型,每个模型都给了我不同的准确率和损失值。模型测试结果如下:
第一个模型:准确度:98.1% 损失:0.1882
第二个模型:准确度:98.5% 损失:0.0997
第三个模型:准确度:99.1% 损失:0.2544
我的问题是:
损失值和准确率值之间有什么关系?
为什么第三个模型的损失越大,即使准确率越高?
这两个指标之间没有关系。
损失可以看作是问题的真实值与模型预测的值之间的距离。损失越大,你在数据上犯的错误就越大。
准确性可以看作是您在数据上犯的错误数量。
这意味着:
对于您的情况,第三个模型可以正确预测更多示例,但在错误的示例上,它会产生更多错误(真实值和预测值之间的距离更大)。
笔记:
不要忘记,低或巨大的损失是一个主观指标,这取决于问题和数据。它是预测的真实值与模型做出的预测之间的距离。这也取决于您使用的损失。
思考:
实际上,准确率是一个只能应用于分类任务的指标。它描述了正确分类的测试数据的百分比。例如,您有二元分类猫或非猫。如果 100 个测试样本中有 95 个被正确分类(即正确确定图片上是否有猫),那么您的准确率为 95%。顺便说一句,混淆矩阵比准确性更好地描述了您的模型。
损失取决于您如何预测分类问题的类别。例如,您的模型使用概率来预测介于 1 和 0 之间的二元类猫或非猫。因此,如果猫的概率为 0.6,则非猫的概率为 0.4。在这种情况下,图片被分类为猫。损失将是测试图片的真实类别的预测概率与1之间的差值之和。实际上对数损失用于二进制分类,我只是给出了损失的概念。
其他答案很好地定义了准确性和损失。要回答您的第二个问题,请考虑以下示例:
我们有一个问题,将来自平衡数据集的图像分类为包含猫或狗。分类器 1 在 80/100 的情况下给出了正确的答案,而分类器 2 在 95/100 的情况下给出了正确的答案。在这里,分类器 2 显然具有更高的准确度。
然而,在 80 个图像分类器 1 正确时,它非常自信(例如,当它认为图像是一只猫时,它 100% 肯定是这种情况),而在 20 个错误中它完全没有自信(例如,当它说猫图像包含狗时,只有 51% 的人对此有把握)。相比之下,分类器 2 对其 5 个错误答案非常有信心(它 100% 确信实际上显示狗的图像是猫),并且对它正确的 95 个不太有信心。在这种情况下,分类器 2 的损失会更严重。