机器学习模型性能评估:精确度与召回率

机器学习领域,精确度(Precision)和召回率(Recall)是评估模型性能的两个重要指标。理解这两个概念对于优化模型以解决特定问题至关重要。本文将帮助了解如何评估模型的精确度和召回率,以及在有限时间内选择优化哪一个指标。

精确度召回率的基本概念

精确度是指模型预测为正类别中实际为正类别的比例,而召回率是指所有实际为正类别中被模型正确预测的比例。这两个指标在不同的应用场景中有着不同的重要性。

以一个猫使用厕所的例子来说明精确度的重要性。在这个场景中,模型需要检测猫是否使用了厕所,以便启动冲水计时器。如果模型产生了误报(False Positive),即错误地检测到猫,这将导致不必要的冲水,浪费水资源并增加水费,甚至可能吓跑猫,这与项目的初衷相悖。因此,在这个例子中,需要一个高精确度的模型来确保厕所在适当的时间冲水,减少误报的数量。

再以一个创业公司需要检测石油管道破裂迹象的计算机视觉模型为例。这些视觉信号可能包括管道泄漏、管道壁异常变形和管道连接器错位。在这个例子中,能够进行任何检测都比准确检测更有价值,因为误报相对无害(有人需要检查管道监控摄像头,这是一个一分钟的操作)。而漏报可能导致巨大的环境损害和财务损失。因此,初始工作应该集中在创建一个高召回率的最小可行产品(MVP),重点减少漏报的比率,因为漏报代表了一个错过的泄漏。

精确度与召回率的比较

计算机视觉模型的预测可以有四种结果:真正例(True Positive, TP)、假正例(False Positive, FP)、真负例(True Negative, TN)和假负例(False Negative, FN)。希望最大化真正例和真负例的结果,最小化假正例和假负例的结果。

P = TP / (TP + FP)

假设构建了一个苹果检测模型,并给它1000个苹果进行检测。如果它成功检测到500个苹果(TP),错误地检测到300个苹果(FP),并且未能检测到200个苹果(FN),那么它的精确度将是500/800,即62.5%。

R = TP / (TP + FN)

使用前面提到的苹果示例,模型的召回率将是500/700,即71%。

在上下文中评估精确度和召回率

一个解决方案只能相对于它解决的问题进行衡量。同样,计算机视觉模型的性能指标并不能解释模型如何有效地解决了它被创建的问题。错过检测与错误检测的负面后果(即成本)为评估精确度和召回率的价值提供了基础。

需要考虑的问题包括:精确度何时重要以及为什么?召回率何时重要以及为什么?如果只有足够的时间优化其中一个,应该选择哪一个?如果有一个机器人无人机在周围飞行并采摘苹果,那么任何检测都是好事,可能希望在开发周期的开始强调精确度。如果需要根据苹果的数量雇佣季节性工人,并且招聘决策基于苹果的数量,那么过度招聘比少招聘造成的损害更大,所以希望强调召回率。

如何提高精确度和召回率

需要提高精确度?可以通过了解模型错误地将什么识别为苹果,并将其添加到训练集中来减少FP率。如果绿色的梨看起来像绿色的苹果,就标记梨!需要提高召回率?通过添加不同角度和与相机不同接近程度的苹果的更多变体来减少FN率。

平均精度均值(mAP)的作用

结合精确度和召回率可以让一目了然地了解模型的整体性能,并作为与其他模型相对性能的一个很好的指标。通常,具有90% mAP的模型比具有60% mAP的模型表现更好,但60% mAP模型的精确度或召回率可能为问题提供了最佳解决方案。有关mAP的更多详细信息,请访问博客文章。

能拥有一切吗?

在理想的世界里,构建的计算机视觉模型在mAP、精确度和召回率方面都表现出色,但通常迭代开发过程要求尽快推出一个能够解决即时需求的工作解决方案。如何确定一个模型是否足够好以满足它们被开发的需求?最快和最直观的方法是在一些新的样本数据上测试模型。它是否能够用紧密的边界框正确检测对象?它是否能够在一系列边缘情况场景中成功,例如对象被部分遮挡、远离或以不寻常的视角定位?

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485