目录
- ROC曲线
- ROC曲线的变化过程
- ROC曲线的意义
- AUC值
- CMC曲线
ROC曲线
ROC曲线意为受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线)。曲线上每一个点反映着对同一信号刺激的感受性。
ROC横轴:假正类率(false postive rate FPR)特异度,代表分类器预测的正类中实际负实例占所有负实例的比例,;
ROC纵轴:真正类率(true postive rate TPR)灵敏度,代表分类器预测的正类中实际正实例占所有正实例的比例,;
ROC曲线的变化过程
假设采用逻辑回归分类器,其给出对每个实例为正类的概率,那么假设一个阈值为0.6,当概率大于0.6的时候为正类,当小于0.6的时候为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。
随着阈值的减小,越来越多的实例被划分为正类,即TP的数量越来越多,FN的数量越来越少,通过计算公式TP/(TP+FN)可以看到,TPR的值趋近于1;同时,当越来越多的实例被划分为正类时,这些正类当中也同样掺杂FP,随着阈值的减少,TN的数量越来越少,通过计算公式FP/(FP+TN)可以看到,FPR的值趋近于1。因此,阈值最小时,对应坐标为(1,1),因为全部样本被分类为正类。
随着阈值的增加,越来越多的实例被分为负类,即TP的数量越来越少,FN的数量越来越多,最终导致TPR的值趋近于0;同样道理,FP的值也趋近于0,导致FPR的值趋近于0。因此,阈值最大时,对应坐标为(0,0)。
ROC曲线的意义
ROC是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、特异性为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。
横轴FPR:FPR的值越大,说明预测的正类中实际的负类越多;
纵轴TPR:TRP的值越大,说明预测的正类中实际的正类越多。
理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好。
AUC值
AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。
CMC曲线
CMC曲线全称是Cumulative Match Characteristic (CMC) Curve,也就是累积匹配曲线,同ROC曲线Receiver Operating Characteristic (ROC) curve一样,是模式识别系统,如人脸,指纹,虹膜等的重要评价指标,尤其是在生物特征识别系统中,一般同ROC曲线一起给出,能够综合评价出算法的好坏。
CMC曲线综合反映了分类器的性能,它评价的指标与深度学习当中常用的top1 error和top5 error评价指标是一样的意思,不同的是横坐标的Rank表示的是正确率而不是错误率,两者的关系是:
- Rank1识别率 = 1 - top1 error
- Rank5识别率 = 1 - top5 error
CMC的纵轴就是识别的准确率,CMC其实是Top Accuracy随变化的可视化曲线。的最大值是类别总数。
比如:
Top-5 Acc = GT在模型输出的前5个概率中的样本数 / 总样本数