简介–这个问题非常简单,我是该领域的新手,在Stackoverflow上找不到令人满意的答案。
问题本身–
准确度单位显然是百分比(%),但是损失和有效损失单位是什么?它们与准确性有何关系?我该如何使用它们?他们的总体基准目标是什么?
问题是HTR / OCR字符分类。
例如,这是第16个模型损失0.07,而val损失0.09的真正含义是什么?
最佳答案
主要区别在于,由于您具有不同的损失函数(如@Matias Valdenegro所述),因此它们没有单位,除了不同损失函数的相同值将产生比模型更好/更差的模型/结果的事实。其他(由于损失函数的构建,二进制交叉熵的0.15损失与FocalLoss的0.15损失不同)。
但是,在这里我要指出一个区别,以上答案中没有提到。
原则上,损失函数的值越小,精度越高。
但这并非总是如此。
在上图中,您可以看到100%的精度沿2.0794的损失,而66.67%的精度沿1.8220的损失。
哪种型号更好?
不太明显(特别是对于初学者)的答案是:显然是第一个模型。事实是,如果您查看预测,则如果第二个模型的所有预测都具有pApple 0.49,则您将具有0%的准确性(在大多数情况下,已确定的阈值为0.5)。
另一个例子(与上面的图片无关)更加明显:
假设您有两个模型,它们在测试集上的准确率达到100%。
现在,假设像上面的示例一样,您所有的测试图像都是苹果。
但是,当您查看预测时,第一个模型预测所有苹果的置信度为0.6,而第二个模型预测所有苹果的置信度为0.96。如果您考虑阈值,如果预测> 0.5会为您提供特定类别,则两个模型的准确性均为100%。
但是,如果您查看损失函数值图,则可以发现,在第二种模型的情况下,损失要低得多。
始终根据验证集上的最佳损失值保存/检查模型。
关于tensorflow - 什么是估值损失单位Keras/Tensorflow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59598570/