了解 ROC 曲线和 AUC 如何评估 AI/ML 中分类器的性能,优化欺诈检测和医疗诊断等任务的 TPR 与 FPR。
接收方工作特征曲线(ROC)是一种图形图像,用于说明二元分类模型的诊断能力随其判别阈值的变化而变化。它是机器学习(ML)中评估和比较分类器性能的基本工具。该曲线是通过绘制不同阈值设置下的真阳性率 (TPR) 与假阳性率 (FPR) 的对比图而生成的,它提供了一个模型在所有可能的分类阈值下的性能的综合视图。这使它成为了解监督学习任务中灵敏度和特异性之间权衡的宝贵财富。
要掌握 ROC 曲线的概念,就必须了解它的两个坐标轴:
分类模型通常会为每个实例输出一个概率或置信度分数。然后对该分数应用一个阈值,以做出最终的二元判定(如肯定或否定)。ROC 曲线是通过系统地将阈值从 0 变为 1,并绘制出每个值的 TPR 和 FPR 对来生成的。通常可以使用TensorBoard等工具或Ultralytics HUB 等平台来实现模型性能的可视化。
ROC 曲线的形状和位置在很大程度上揭示了模型的性能。
从 ROC 曲线得出的一个常用指标是曲线下面积(AUC)。AUC 表示分类器将随机选择的阳性实例排序高于随机选择的阴性实例的概率。AUC 为 1.0 表示一个完美的模型,而 AUC 为 0.5 则表示一个随机模型。这个单一的标量值有助于比较不同的模型。
各行各业都广泛使用 ROC 曲线来评估和选择最佳部署模型。
医疗诊断:在医学图像分析中,可能会训练一个深度学习模型来检测乳房 X 光照片中的癌症。ROC 曲线可帮助放射科医生和工程师评估模型区分恶性肿瘤和良性肿瘤的能力。通过分析曲线,他们可以选择一个分类阈值,在检测出尽可能多的癌症(高 TPR)与因误报而导致不必要活检的风险(低 FPR)之间取得平衡。这是负责任的人工智能开发和确保模型符合FDA 等机构制定的临床标准的关键一步。
信用卡欺诈检测:金融机构使用 ML 模型实时识别欺诈交易。ROC 曲线可用于评估模型将欺诈交易与合法交易区分开来的程度。银行可能会使用该曲线来选择一个阈值,以最大限度地检测欺诈行为,同时尽量减少被错误拒绝的合法交易数量,因为这可能会让客户感到沮丧。这有助于为金融领域的人工智能构建强大的系统。
虽然 ROC 曲线功能强大,但了解它们与其他评价指标的区别也很重要。
准确性:这一指标可能会产生误导,尤其是在不平衡的数据集上,因为在这些数据集上,某一类占主导地位。一个模型可以通过简单地预测多数类别来获得高准确率。ROC 曲线和 AUC 提供了一个与阈值无关的视图,在这些情况下更加稳健。
精确度和召回率:这些指标主要关注正向类的性能。精确度衡量正向预测的准确性,而召回率(TPR) 则衡量实际正向预测的覆盖率。F1 分数综合了这些指标,但仍取决于特定的阈值。相比之下,ROC 曲线评估的是所有阈值下 TPR 和 FPR 之间的权衡。对于阴性类数量庞大且兴趣不大的任务,精度-召回曲线可能更有参考价值。
mAP 和 IoU:ROC 曲线是为二元分类设计的。对于Ultralytics YOLO 等模型常用的对象检测或实例分割等更复杂的任务,其他指标是标准的。平均精度 (mAP)和交集大于联合 (IoU)用于评估分类和定位精度。更多详情,请参阅我们的YOLO 性能指标指南。使用PyTorch或TensorFlow 等框架可以实现这些指标的可视化。