题目重点:MLE 多选题要求计算 recall/FPR 并选满足条件的项;先固定正类、分母与阈值,再防极端类不平衡误判。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 训练版二分类 positive/negative 明确,TP/FP/FN/TN 为互斥计数。
- 当 TP+FN=0 或 FP+TN=0 时对应比率未定义,不自动填 0;真实平台若有特殊规则应以题面为准。
- 阈值比较 ≥ 还是 > 必须读选项,训练例只展示计算方法。
解题路线
- 先画真实标签为行、预测标签为列的 2×2 表,锁定 positive class;Recall=TP/(TP+FN),FPR=FP/(FP+TN)。
- 逐候选阈值把预测结果重建混淆矩阵,不可用 precision 的 TP/(TP+FP) 或 specificity 的 TN/(TN+FP) 代替。
- 例如 TP=80,FN=20,FP=10,TN=90,则 recall=0.8、FPR=0.1;若要求 recall≥0.75 且 FPR≤0.1,满足。
- 阈值下调通常提高 recall 也可能提高 FPR,须算实际曲线;类别不平衡时只看 accuracy 会掩盖 FP 率。
- 生产模型选择还要看 base rate、误报成本和延迟,OA 若只问比率不要擅加未给的业务约束。
手动走一遍
训练表中真实正例 100 个有 80 个被抓到,所以 Recall=80/100;真实负例 100 个有 10 个误报,所以 FPR=10/100。若把 10/(80+10) 算成 FPR,得到的是 1−Precision,不是题目要求。
规模与取舍
已有四格计数时 O(1) 时间与空间;对 M 个样本逐阈值统计 O(M) 每阈值,先按分数排序可累计求整条 ROC 曲线 O(M log M)。
易错点与追问
容易失分的边界
- 混淆 positive/negative 方向。
- 把 FP/(FP+TP) 当 FPR。
- 分母为 0 还报确定数值。
- 没有原选项却声称知道正确选项。
继续深挖
- Precision 与 Recall 的分母为什么不同?
- FPR 与 specificity 的关系是什么?
- 业务正类极少时为什么要看 PR 曲线?
