评估模型您知道 AI 系统变得越来越完善,而且想明确知道系统性能提升了多少。您需要为 AI 系统选择合适的度量。两种主要的度量技术是准确率和 F-measure(通常为 F1)。
准确率是一种非常简单的度量。简言之,它是正确答案数量除以机会数量的商。如果您向一个系统问了 10 个问题而它正确回答了 9 个,那么它的准确率就是 90%。使用准确率的好处是,它是一种每个人都能理解的简单度量。但是,它缺乏细节,全面理解系统性能可能需要细节。
F-measure 提供了对系统做出正确(或错误)预测的原因的分类。正确和错误的预测分别分为两类:
真正(True positive):系统给出了一种正确的预测结果。
真负(True negative):系统正确地没有给出预测结果。
假正(False positive):系统给出了一种预测结果,但不应给出该预测结果(I 类错误)。
假负(False negative):系统未能给出预测结果,但应该给出该预测结果(II 类错误)。
要计算 F-measure,首先应计算精确率(系统做出的预测的准确率,由假正的发生率来确定)和召回率(系统预测的可预测值的数量,由假负的发生率来确定)。F1 是最常见的 F-measure,是精确率和召回率的调和平均数。精确率和召回率有一种天然的对立关系:放宽模型条件通常会导致牺牲精确率来提高召回率,而收紧模型条件会导致牺牲召回率来提高精确率。
顺便说一下,准确率可以重写为 (TP+TN)/(TP+TN+FP+FN)。F-measure 的一个附加好处是,它不包含真负,这是最容易且最无趣的情况。在您想要划分错误类型时,或者数据包含大量真负时,应该使用 F-measure。假设您希望从源文本中提取一个罕见的属性,该属性仅在 1/10,000 的句子中出现。由于没有编写注释器,您不断预测该属性不在您看到的每个句子中,预测准确率达到 99.99%。通过使用 F-measure,您会看到这种“什么都不做的”注释器拥有 0% 的召回率,因此它是没有价值的。
示例 1让我们度量一下一个用自然语言标记狗的实例的注释器的准确率和 F1。
#句子提取内容结果1It was a bright sunny day.-真负2The young dog found a bone.dog真正3A young cat lay in the sun.cat假正4The puppy chased the cat.-假负5There was chaos everywhere.-真负6A boy took the bone away.boy假正
在这个示例中,精确率为 33%(第 2、3 和 6 行),召回率为 50%(第 2 和 4 行),F1 为 39.8,准确率为 50%(所有行)。F1 提供的详细分类可以更好地表明需要改进模型的哪些方面。
示例 2现在让我们度量一下一个分类系统的性能。我们假定的系统将图像划分为狗、猫或鸟。测量分类性能的一种传统方式是使用混淆矩阵。