分类模型性能评估 | 有误导性的AUROC

reference: Lobo-GloEcoBioGeo-2007

ROC曲线线下面积(Area Under the Receiver Operating Characteristic curve)(AUROC,AUC,或者AUC-ROC),本文写作AUROC以防与AUPRC(AUC-PR)混淆。

分布预测模型的输出为连续的概率值,需要一个阈值做二值化得到预测结果。AUROC被看作评估分布预测模型的标准方式。它通过总结所有可能阈值下模型的总体性能,能避免阈值选择中主观性假设的影响。
本文回顾AUROC的特点,并对它作为比较模型精度指标的可靠性提出质疑。
我们不推荐AUROC,基于以下五点:

  1. 忽视概率的实际数值,而只保留相对排序。
    AUROC希望正样本的预测值比负样本大,而不在意拟合优度。拟合较差的模型可以有较高的AUROC;拟合较好的模型AUROC也可能较差。
    比如:某数据集正、负样本差异很显著,但是模型给正、正、负、负4个样本的输出分别是0.31、0.32、0.30、0.28此时AUROC为1,但是模型拟合效果很差,二分类交叉熵惨不忍睹。
    再如:某数据集正负样本差异并不大,正负样本都在分界附近,模型对正、正、负、负4个样本的输出分别是0.3、0.28、0.31、0.29,此时AUROC很差,但其实模型拟合较好。

  2. 对模型测试性能的汇总还包括了取极端阈值的情形。
    绘制ROC曲线时,会遍历所有样本的预测值将其作为阈值得到TPR和FPR,实践中根本不会尝试极端的阈值,ROC靠近坐标轴的部分没有实践意义。

  3. 平等地看待误报和漏报,不符合实践需求。
    疾病筛查、安防检测等场景中,漏报的后果比误报严重得多。不同场景下FP和FN的重要性不同。

  4. 反映的信息太笼统,不能反映模型误差的空间分布,
    凭借AUROC无法确定错误是均分在整个预测范围,还是在某特定小范围内缺乏区分能力。
    例如,我们可以通过统计不同类别错误预测与真值间的误差,来了解模型对哪类样本预测错误率高或是准确率高,从而有针对性的改进特征工程、训练集样本类别分布等。
    但AUROC只关注正负样本之间的相对排序,不关心正样本(或负样本)内部的排序。无法衡量模型对正/负的程度刻画能力。

  5. misleading问题
    AUROC相同的模型,在不同测试集上的预测能力并不相同。
    待补充

总结:AUROC仅反应模型的排序能力,无法反应拟合优度,无法反应细粒度的贴合业务目标的指标(例如,top-K准确率,召回率等)。
结论:根据业务场景同时使用多个指标去评价模型。

http://people.cs.bris.ac.uk/~flach/PRGcurves/

二值化:阈值选择是主观的吗?

ROC曲线的优势在于它不需要选定阈值。通常认为,阈值选择是主观的。然而,最佳阈值选择方式的改进动摇了这一观点。例如,logistic函数关于拐点(概率0.5)对称。因此,当训练数据包括相同数量的正、负样本时,若对FP和FN的惩罚相同,那0.5显然是正确的阈值。
然而,当一类数量明显更多时,平均的预测值会偏向占多数的那一类,这种现象不可避免,由于logistic概率是基于预测器输出和正负样本占比计算的,此时正确的阈值不再是0.5了。总之,阈值需要依赖于训练数据正负样本比例来调整。

自相矛盾的是,当ROC被看作一种阈值无关的指标的时候,研究者们又提出了基于ROC曲线来选定最佳阈值的方法。

  • 1993:最佳阈值出现在使sensitivity(=recall=TPR)和specificity之和最大的时候,即TPR与FPR之差最大的时候。

    (找ROC曲线的切线y = x+k,k尽量大,线性规划易得)

  • 2007:若漏报误报一样严重,最佳阈值出现在sensitivity和specificity之差最小的时候,比⬆️效果稍好。

    (找跟ROC曲线的相交的y = -x+k+1,k尽量小,???两者都差呢)
    在阈值从0到1的过程中,预测正确的正样本随着预测正确的负样本增多而减少。
    下图两条线的交点在误报和漏报严重程度相同时被认为是最佳阈值。

在ROC曲线图上,最佳点在ROC曲线和(垂直于主对角线的直线)的交点,也就是ROC曲线最左上方的点。

这两个最佳阈值(这难道不等价吗???),可以不依赖ROC曲线被计算出。

你可能感兴趣的:(分类模型性能评估 | 有误导性的AUROC)