性能指标
性能指标全解
AUC
- AUC 是
Area Under the Curve的缩写,中文翻译为曲线下面积,具体指的是ROC 曲线(受试者工作特征曲线) 下方的面积。- ROC 曲线:以 “假正例率(FPR)” 为横轴,“真正例率(TPR)” 为纵轴绘制的曲线,反映模型在不同阈值下的分类能力;
- AUC 值:ROC 曲线与坐标轴围成的面积,取值范围是
[0, 1],AUC 越接近 1,说明模型的排序 / 分类能力越强。
- CTR 预估本质是二分类任务(用户 “点击” 为正例,标签 = 1;“不点击” 为负例,标签 = 0),先明确 4 个核心统计量:
| \ | 预测为正例(点击) | 预测为负例(不点击) |
|---|---|---|
| 正例(1) | TP(真阳性) | FN(假阴性) |
| 负例(0) | FP(假阳性) | TN(真阴性) |
-
基于这 4 个指标,推导 ROC 曲线的横纵轴:
- 真正例率(TPR): → 所有真实点击的样本中,被模型正确预测为点击的比例(“找对正例” 的能力);
- 假正例率(FPR): → 所有真实不点击的样本中,被模型错误预测为点击的比例(“找错负例” 的概率)。
-
AUC 的直观理解
- 排序能力:随机选一个正例(点击样本)和一个负例(不点击样本),模型把正例的预测概率排到负例前面的概率。
- AUC=1:模型能完美区分所有点击 / 不点击样本,所有正例的预测概率都大于负例;
- AUC=0.5:模型和随机猜测没区别(比如抛硬币);
- AUC<0.5:模型的预测能力比随机还差(反过来用就能变好)。
- 面积计算:ROC 曲线下的面积,比如曲线越 “凸向左上角”,AUC 值越高,模型效果越好。
- 排序能力:随机选一个正例(点击样本)和一个负例(不点击样本),模型把正例的预测概率排到负例前面的概率。
为什么 CTR 预估(DeepFM)优先用 AUC?
- 解决样本 “极度不平衡” 的问题。
10000 个曝光样本中,可能只有 100 个点击(正例),9900 个不点击(负例);模型直接预测所有样本为 “不点击”,准确率也能达到 99%,但这是毫无意义的 “伪高分”。而 AUC不受样本不平衡的影响:它关注的是 “正例和负例的相对排序”,而非绝对的预测阈值,哪怕正例只有 1%,也能准确反映模型的区分能力。- 对阈值不敏感。
CTR 预估中,模型输出的是 “点击概率”,但实际应用中阈值(比如选概率 > 0.5 的作为推荐)是可调整的:准确率、精确率、召回率等指标都依赖于 “阈值选择”(比如阈值从 0.5 调到 0.3,召回率会变);AUC 是阈值无关的指标,它综合了所有可能阈值下的模型表现,能全面反映模型的整体排序能力。- 贴合 CTR 预估的核心目标。
CTR 预估的最终目的不是 “精准预测某个样本是否点击”,而是对候选集进行排序。- AUC 是推荐 / 广告领域的通用基线指标。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 isSeymour!
评论


