深圳Yolo 视觉
深圳
立即加入
词汇表

曲线下面积 (AUC)

了解曲线下面积 (AUC) 在 ML 模型评估中的重要性。探索它的优势、ROC 曲线的见解和实际应用。

曲线下面积 (AUC) 是用于量化分类模型性能的基本指标、 特别是在 机器学习 (ML) 领域。它衡量的是 模型区分不同类别的能力,例如将正向实例与负向实例区分开来。与 不同的是,AUC 依赖于单一的决策阈值,它能全面反映所有可能阈值的性能。 阈值的性能。这使它成为评估 监督学习算法的重要工具,以确保 模型的预测能力是稳健的,不会受到特定临界点的影响。AUC 值越高 表示模型性能较好,1.0 分代表完美分类。

AUC 与 ROC 之间的关系

AUC 一词具体指的是 接收者工作特征曲线(ROC)下的面积。ROC 曲线是一种说明二元分类系统诊断能力的图形。它绘制了 真阳性率 (TPR)(也称召回率)与 假阳性率 (FPR) 在不同阈值设置下的对比图。

  • 真实阳性率:模型有效识别的实际阳性病例比例。
  • 假阳性率:实际阴性病例中被错误识别为阳性病例的比例。 阳性。

通过计算 AUC,数据科学家将 ROC 曲线中包含的信息浓缩为一个数字。这 简化了模型评估,使 不同架构之间的比较,例如比较一个 ResNet-50 骨干网与更轻的替代方案进行比较。

解读分数

AUC 分数从 0 到 1 不等,对模型的排名质量提供了概率解释。

  • AUC = 1.0:完美分类器。它能 100% 正确区分正分类和负分类。 的时间。
  • 0.5 < AUC < 1.0: The model has a better-than-random chance of classifying instances correctly. This is the target range for most predictive modeling tasks.
  • AUC = 0.5:模型没有判别能力,相当于随机猜测(如掷硬币)。 硬币)。
  • AUC < 0.5: This suggests the model is performing worse than random chance, often indicating that the predictions are inverted or there is a significant issue with the training data.

要深入了解分类机制,可参考以下资源 Google 机器学习速成班 等资源提供了出色的可视化解释。

实际应用

在假阳性和假阴性的后果差异很大的情况下,AUC 尤为重要。 的情况下尤为重要。

  1. 医疗诊断:人工智能在医疗保健领域的应用 在 X 光或核磁共振扫描中detect 肿瘤等异常情况。高 AUC 分数可确保模型可靠地将恶性病例 恶性病例高于良性病例。这种可靠性对放射科医生使用的临床决策支持系统至关重要。 放射科医生使用的临床决策支持系统至关重要。例如,看到 YOLO11 如何帮助检测肿瘤 凸显了稳健的评估指标在生命攸关的应用中的重要性。
  2. 金融欺诈检测:金融机构使用 计算机视觉(CV)和模式识别 来标记欺诈交易。由于合法交易远远多于欺诈交易,因此数据非常不平衡。 不平衡。这里首选 AUC,因为它能评估欺诈概率的排序,而不会被大量的合法阴性数据所歪曲。 与原始准确率不同。 准确性。这有助于构建既能最大限度减少客户摩擦 这有助于构建既能最大限度减少客户摩擦,又能维护安全性的系统,而安全性是人工智能在金融领域的核心组成部分。 人工智能在金融领域的应用

AUC 与其他指标的比较

了解何时使用 AUC 而不是其他指标是成功部署模型的关键。 模型部署的关键。

  • AUC 与准确度: 准确度衡量 预测的正确率。然而,在不平衡的数据集上(例如,99% 的负类),一个模型尽管预测能力为零,却可以通过预测所有事物的 "负 "来达到 99% 的准确率,尽管预测能力为零。AUC 不受类不平衡的影响,因此对于这些问题来说,它是一个更可靠的指标。
  • AUC 与 Precision-Recall 的比较:ROC AUC 同时考虑了 TPR 和 FPR、 精度Recall则特别关注阳性类。在这种情况下 假阳性是可以接受的,但假阴性是不能接受的(如疾病初筛),分析 精确度与召回率的权衡 可能比 ROC AUC 更有参考价值。
  • AUC 与mAP 的对比:对于 等模型执行的物体检测任务 YOLO11等模型执行的物体检测任务,标准指标是 mAP 本质上是计算特定交集大于联合(Intersection over Union,IoU)阈值下边界框的精度-召回曲线下的面积。 而 AUC 通常用于计算对象的分类可信度IoU

计算班级概率

要计算 AUC,需要正类的概率分数,而不仅仅是最终的类标签。下面的 下面的示例演示了如何使用一个 图像分类ultralytics 图书馆

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Access the probability scores for all classes
# These scores are the inputs needed to calculate AUC against ground truth
probs = results[0].probs.data
print(f"Class Probabilities: {probs}")

获得数据集的概率后,您可以使用标准库,如 Scikit-learn等标准库 计算最终的 AUC 分数。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入