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

受试者工作特征 (ROC) 曲线

了解 ROC 曲线和 AUC 如何评估 AI/ML 中的分类器性能,从而优化 TPR 与 FPR,以用于欺诈检测和医疗诊断等任务。

接收者工作特征曲线 (ROC) 是一种图形表示法,用于评估二元分类模型的性能。 二元分类模型的性能。它直观地显示了真阳性率(TPR)和假阳性率(FPR 率 (FPR) 之间的权衡。在 在机器学习(ML)中,这条曲线是 在机器学习(ML)中,这条曲线是评估模型区分两个类别(如 "垃圾邮件 "与 "非垃圾邮件 "或 "疾病")的基本方法。 "非垃圾邮件 "或 "患病 "与 "健康"。通过绘制这些比率,ROC 曲线 曲线提供了一个模型诊断能力的综合视图,超越了像准确率这样的单一数字指标。 准确率等单一数字指标,因为单独使用这些指标可能会产生误导。

了解轴线

要正确理解 ROC 曲线,就必须了解绘制在其坐标轴上的两个指标:

  • 真实阳性率 (TPR):通常称为 这一指标衡量的是 模型正确识别的实际阳性实例的比例。例如,在安全系统中,这将是 正确检测到的实际入侵者的比例。
  • 假阳性率 (FPR):该指标计算实际负实例中 误报)的比例。较低的 FPR 表示误报率较低,这对用户对类似系统的信任至关重要。 对于用户对系统的信任至关重要,例如 生物识别身份验证等系统中的用户信任度至关重要。

该曲线是通过将分类器的置信度阈值从 分类器的置信度阈值从 0 到 1。ROC 曲线上的每个 ROC 曲线上的每一点都代表与特定判定阈值相对应的灵敏度/特异度对。A 从左下角到右上角的对角线代表没有预测能力的随机分类器(抛硬币 掷硬币),而向左上角陡然弯曲的曲线则表示一个高性能模型。

实际应用

各行各业都广泛使用 ROC 曲线来优化决策阈值,以便 模型部署的决策阈值。

  1. 医疗诊断:医学图像分析中,研究人员利用 ROC 曲线来调整检测肺炎或肿瘤等疾病的模型。优先考虑高 TPR,以确保不遗漏阳性病例。 即使这意味着要接受稍高的 FPR。这种平衡对于符合 安全标准至关重要。 美国食品和药物管理局
  2. 金融欺诈检测:金融机构利用 金融领域的人工智能来识别 欺诈交易。在这里,ROC 曲线可以帮助分析师选择一个阈值,既能捕捉到大多数欺诈企图(高召回率),又不会标记出过多的合法交易,从而对客户造成负面影响。 高召回率),同时又不会标记出过多的合法交易,从而对客户体验造成负面影响的阈值。 体验。

计算 ROC 的概率

要绘制 ROC 曲线,您需要正类的预测概率,而不仅仅是最终的类 标签。下面的示例演示了如何使用 YOLO11 的分类模型 ultralytics 包装

from ultralytics import YOLO

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

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

# Access the probability distribution for all classes
# These scores are necessary inputs for calculating ROC and AUC
probs = results[0].probs.data
print(f"Class probabilities: {probs}")

一旦获得测试数据集的这些概率,像 等库 等库来计算绘制曲线所需的 FPR 和 TPR 值。

ROC 与其他评估指标的比较

虽然 ROC 曲线是一个强大的工具,但将其与相关的评估概念区分开来还是很有帮助的:

  • 曲线下面积 (AUC):曲线下面积 曲线下面积(AUC)是一个标量值 从 ROC 曲线中得出的一个标量值。ROC 是一种可视化曲线图,而 AUC 则将整体性能量化为一个介于 0 和 1 之间的单一数字。 一个介于 0 和 1 之间的单一数字,便于比较不同的 监督学习模型之间进行比较。
  • 精度-召回曲线:当处理高度不平衡的数据集时(例如,一种罕见疾病影响到 影响 1%的人群)时,ROC 曲线有时会显示出过于乐观的结果。在这种情况下,可以使用 精度-召回曲线 通常更有参考价值,因为它直接关注少数类别的表现,而不考虑真 阴性。
  • 混淆矩阵A 混淆矩阵 显示真阳性、假阳性和假阴性的准确计数、 真阴性和假阴性。ROC 曲线可以有效地总结混淆矩阵中的信息。 生成的混淆矩阵的信息。

对于涉及物体检测的任务,诸如 平均精度 (mAP)等指标。 尽管 ROC 曲线与这些模型的底层分类组件仍然相关。 了解这些区别可确保开发人员选择正确的指标来应对其特定的 计算机视觉 (CV)挑战。

加入Ultralytics 社区

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

立即加入