尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

08 进阶评估指标与算法特定指标

08 进阶评估指标与算法特定指标 08 进阶评估指标与算法特定指标Accuracy、Precision、Recall、F1、ROC-AUC 是分类任务中最常见的指标。但是在真实项目中还经常需要其他评估方法。这一篇作为扩展篇介绍PR Curve PR-AUC Log Loss Top-k Accuracy Calibration Cost-sensitive Evaluation Ranking Metrics 算法或任务特定指标一、为什么还需要更多指标因为一个模型可能同时承担不同功能。例如分类 概率估计 排序 风险评分 检索 推荐 异常检测同一个模型Accuracy 很高并不意味着概率估计准确 排序能力好 业务收益高因此模型评估必须与模型用途匹配。二、Precision-Recall CurvePR Curve 的两个坐标轴是Precision Recall随着 threshold 改变Precision 和 Recall 也不断变化将不同 threshold 对应的Recall, Precision连接起来就得到 PR Curve。三、PR Curve 为什么适合类别不平衡在严重类别不平衡时Negative 数量非常大ROC 中的 FPR 可能看起来很低。但是 PR Curve 更直接关注预测出来的 Positive 有多可信 真正的 Positive 找到了多少因此在欺诈检测 异常检测 稀有事件检测中PR Curve 往往非常有解释力。四、PR-AUC与 ROC-AUC 类似可以计算 PR Curve 下的面积。通常称为PR-AUC或根据具体计算方式使用Average Precision它综合衡量 Precision-Recall trade-off。在正类极少的任务中PR-AUC 往往是非常重要的补充指标。五、Log Loss如果模型输出概率P(y1)不仅可以评价分类是否正确还可以评价模型给出的概率到底有多合理。二分类 Log Loss 可以表示为LogLoss−1N∑i1N[yilog⁡(pi)(1−yi)log⁡(1−pi)]LogLoss-\frac{1}{N}\sum_{i1}^{N}[y_i\log(p_i)(1-y_i)\log(1-p_i)]LogLoss−N1​i1∑N​[yi​log(pi​)(1−yi​)log(1−pi​)]其中y_i 真实标签 p_i 模型预测为正类的概率Log Loss 越小越好。六、为什么 Log Loss 比 Accuracy 更严格假设两个模型都预测正确。真实标签PositiveModel AP(Positive) 0.51Model BP(Positive) 0.99如果 threshold 0.5两个模型都预测正确 Accuracy 完全一样但是Model B 更有信心Log Loss 会体现这种概率质量差异。同样如果模型P(Positive)0.99但实际上是 Negative那么 Log Loss 会给予非常大的惩罚。七、Probability Calibration一个概率模型输出0.8理想解释应该是所有被预测为 0.8 的样本中大约 80% 真的是 Positive。如果现实中只有50%那么模型over-confident 过度自信如果现实中有95%那么模型可能under-confident 过于保守这就是Calibration 概率校准八、为什么 Calibration 很重要某些任务不仅需要谁更可能是 Positive还需要风险到底是多少例如金融风险 医疗风险 设备故障概率 保险定价 资源调度此时AUC 高并不代表概率一定校准良好AUC 更关注排序。Calibration 更关注概率本身是否可信。九、Top-k Accuracy对于类别很多的问题100 类 1000 类 甚至更多Top-1 Accuracy 可能过于严格。于是可以使用Top-k Accuracy例如Top-5 Accuracy表示真实类别是否出现在模型预测概率最高的 5 个类别中。十、Cost-sensitive Metrics在现实业务中FP FN通常并不是等价的。可以直接定义成本函数CostCFP×FPCFN×FNCostC_{FP}\times FPC_{FN}\times FNCostCFP​×FPCFN​×FN其中C_FP False Positive 的成本 C_FN False Negative 的成本然后选择使Expected Cost最小的模型和 threshold。这比盲目追求 Accuracy 更符合很多实际部署需求。十一、Ranking Metrics有些模型真正的任务不是最终分类而是排序。例如搜索 推荐系统 广告排序 候选风险排序这时可以使用Precisionk Recallk MAP NDCG MRR这些指标关注高排名位置是否出现了真正相关的结果而不是只看整体分类正确率。十二、算法特定指标应该如何理解“Algorithm-specific metrics” 可以理解为某些算法、任务或输出形式拥有额外的评价方法。例如聚类 → Silhouette Score → Davies-Bouldin Index 回归 → MAE → MSE → RMSE → R² 排序 → NDCG → MAP → MRR 概率预测 → Log Loss → Brier Score → Calibration Error 异常检测 → Recall at low FPR → Precision at top-k → PR-AUC因此严格来说指标通常更应该按“任务类型”选择而不是简单按“算法名字”选择。十三、不要只用一个指标决定模型一个更可靠的模型评估报告可以同时包含Confusion Matrix Accuracy Precision Recall Specificity F1 ROC-AUC PR-AUC Probability Calibration Inference Cost Business Cost具体选择哪些取决于任务。十四、一个实用评估框架可以按下面四个层次评估模型。第一层分类结果Confusion Matrix Accuracy Precision Recall Specificity F1第二层排序能力ROC-AUC PR-AUC第三层概率质量Log Loss Calibration第四层部署价值Latency Memory Cost FP Cost FN Cost Business KPI这样得到的模型评价通常比单一 Accuracy 更完整。十五、总结模型评价没有一个永远最好的指标。真正应该问的是模型最终输出什么 模型被用于什么任务 哪种错误更加昂贵 类别是否不平衡 需要分类、排序还是概率 部署约束是什么只有先回答这些问题才能选择真正合适的指标。这也是整个 Model Evaluation and Selection 主题的核心。
返回列表