ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

04 ROC 曲线、Threshold Selection 与 AUC

04 ROC 曲线、Threshold Selection 与 AUC 04 ROC 曲线、Threshold Selection 与 AUC很多二分类模型并不是直接输出Positive Negative而是先输出一个连续分数例如0.92 0.81 0.63 0.47 0.15然后通过一个阈值threshold将分数转换成类别。例如score 0.5 → Positive score 0.5 → NegativeROC Curve 的核心作用就是观察当 threshold 不断变化时模型对正类和负类的区分能力如何变化。一、Threshold 为什么重要假设模型输出SampleScoreA0.91B0.77C0.64D0.49E0.32如果threshold 0.5则A B C → Positive D E → Negative如果threshold 0.3则A B C D E → Positive所以模型本身没有改变但 threshold 改变后TP、FP、TN、FN 都会改变。二、降低阈值会发生什么当 threshold 降低时更多样本被预测为 Positive通常TP ↑ FP ↑ FN ↓ TN ↓因此Recall / TPR ↑ FPR ↑模型变得更加“激进”。三、提高阈值会发生什么当 threshold 提高时只有高分样本才被预测为 Positive通常TP ↓ FP ↓ FN ↑ TN ↑因此TPR ↓ FPR ↓模型变得更加“保守”。四、ROC Curve 的两个坐标轴ROC 的完整名称是Receiver Operating Characteristic Curve横轴是False Positive Rate FPR公式FPRFPFPTNFPR\frac{FP}{FPTN}FPRFPTNFP​纵轴是True Positive Rate TPR公式TPRTPTPFNTPR\frac{TP}{TPFN}TPRTPFNTP​而TPR Recall Sensitivity因此 ROC Curve 本质上画的是TPR vs FPR五、ROC 曲线是如何产生的假设模型对所有样本输出概率。我们不断改变 threshold1.0 0.9 0.8 0.7 ... 0.2 0.1 0.0对于每一个 threshold得到新的预测类别计算 TP、FP、TN、FN计算 TPR计算 FPR得到一个点(FPR, TPR)将所有点连接起来就得到 ROC Curve。六、理想 ROC 曲线是什么样理想情况下FPR 很低 TPR 很高也就是曲线尽量靠近左上角左上角表示FPR 0 TPR 1也就是没有误报 所有正样本都被找到这是理想分类器。七、随机分类器是什么样如果模型没有任何区分能力相当于随机猜测。ROC 曲线通常接近对角线也就是TPR ≈ FPR这意味着模型并没有真正学会区分正类和负类。八、AUC 是什么AUC 全称Area Under the ROC Curve即ROC 曲线下面积。其范围通常为0 到 1常见理解AUC 1.0 非常理想 AUC 0.5 接近随机猜测九、AUC 的概率解释AUC 还有一个非常重要的解释随机抽取一个 Positive 和一个 Negative模型把 Positive 的分数排在 Negative 前面的概率。例如AUC 0.90可以理解为随机拿一个正样本和一个负样本模型大约有 90% 的概率把正样本评分排得更高。因此 AUC 衡量的是ranking ability 排序能力而不仅仅是某一个固定 threshold 下的分类准确率。十、为什么 AUC 适合比较模型假设Model A threshold 0.5 Accuracy 91% Model B threshold 0.5 Accuracy 89%仅看一个 threshold 不一定公平。因为不同模型输出分数的尺度可能不同 最佳 threshold 也可能不同AUC 则综合观察多个 threshold 下的区分能力。因此ROC-AUC常用于比较不同模型的整体排序能力。十一、AUC 不能告诉你最佳 threshold这是非常重要的一点。AUC 回答模型整体区分正负样本的能力怎么样但它不直接回答实际部署时 threshold 应该取多少threshold 应根据FP 的成本 FN 的成本 Precision 要求 Recall 要求 业务容量 人工复核能力进行选择。十二、一种常见 threshold 选择方法Youden’s J一种常见统计指标是JTPR−FPRJTPR-FPRJTPR−FPR因为Specificity1−FPRSpecificity1-FPRSpecificity1−FPR所以也可写为JSensitivitySpecificity−1JSensitivitySpecificity-1JSensitivitySpecificity−1选择使 J 最大的 threshold可以得到一种平衡 Sensitivity 和 Specificity 的选择。但是这只适用于两类错误代价大致对称的情况。真实业务中仍应优先依据错误成本。十三、基于成本选择 threshold假设一次 FN 的成本 100 一次 FP 的成本 5那么可以定义Cost100×FN5×FPCost100\times FN5\times FPCost100×FN5×FP对于不同 threshold 分别计算 Cost。最终选择Cost 最低的 threshold。这种方法往往比单纯追求Accuracy 最大更加符合真实业务。十四、ROC-AUC 与类别不平衡ROC-AUC 在类别不平衡时仍然可以使用。但是需要注意FPRFPFPTNFPR\frac{FP}{FPTN}FPRFPTNFP​如果 TN 非常大即使 FP 数量已经不少 FPR 仍然可能很低因此极端不平衡时建议同时看Precision Recall PR Curve PR-AUC十五、ROC、AUC 和 Threshold 的关系可以把三者理解成Threshold 决定某一个具体 operating point ROC Curve 展示所有 threshold 下的 TPR/FPR trade-off AUC 把整条 ROC Curve 压缩成一个总体分数所以Threshold → 部署决策 ROC → 阈值变化 AUC → 模型比较十六、总结ROC Curve 解决的是threshold 改变时TPR 和 FPR 如何变化AUC 解决的是模型整体区分正负样本的能力有多强而 threshold selection 解决的是真实部署时到底应该在哪一个位置做分类决策因此这三个概念相关但不能混为一谈。
返回列表