关于评价指标的理解(TPR,FPR,TAR,FAR,FRR,ERR) 您所在的位置:网站首页 fr网络是什么意思 关于评价指标的理解(TPR,FPR,TAR,FAR,FRR,ERR)

关于评价指标的理解(TPR,FPR,TAR,FAR,FRR,ERR)

2024-07-12 05:56| 来源: 网络整理| 查看: 265

    近期,一直在做人脸识别方面的研究,在阅读paper的时候,发现对一些指标认识不足,因此,从新学习认识算法的评价指标,非常感谢https://blog.csdn.net/liuweiyuxiang/article/details/81259492,学习到了很多。

由于在做人脸之前,做的是工业上的检测,对于工业上检测,常用指标为TPR(True Positive Rate),FPR(False Positive Rate),TPR以及FRP是在做分类、检测常用的指标分析,TPR为真正率,FPR为假正率,他们均是基于混淆矩阵的度量标准。

混淆矩阵

真阳性(True Positive Rate):分类器正确分类且本身为正例,为图上的15

真阴性(True Negative Rate):分类器正确分类且本身为负例,为图上的118

假阳性(False Positive Rate):分类器错误分类本身为负例,为图上的12

假阴性(False Negative Rate):分类器错误分类本身为正例,为图上的47

因此,由上述所知,TPR=TP/(TP+FN),即正确识别的正例数据占据总的正例数据的比例,为召回率;FPR=FP/(FP+TN),即实际值为负例数据,将负例数据预测为正例的百分比;

 

在了解了TPR、FPR以及混淆矩阵后,需要了解ROC曲线,即能直观的描述分类器的优劣,根据TPR以及FPR来绘制ROC曲线,如图所示,横坐标为FPR,纵坐标为TPR:

曲线离(0,1)越近的点分类器的效果越好,同样AUC(area under thecurve)即ROC曲线的下部面积,越大分类器越好。

 

在了解了TPR、FPR、ROC以及AUC的相关信息后,对于人脸识别的TAR、FAR、FRR以及ERR较更容易理解。

TAR(True Accept Rate)表示正确接受比例,FAR(False Accept Rate)表示错误接受比例,所谓的接受比例即在人脸验证过程中,两张图像被认为是同一个人

FAR:即在做人脸验证过程中,通常是将两张人脸映射到高维空间的高维向量,然后计算两个高维向量的相似度以及距离。一般认为两张人脸是同一人,那么相似度较高,不是同一个人相似度较低。通过给定一个阈值T,如果两张的人脸的相似度大于T,则被认为同一人脸,反之则为不同人。无论将T设置为任何值,均会出现FAR一定的错误接受比例,FAR即在比对不同人的图像时,把其中的图像当作为同一人的比例,FAR的比例越小越好。FAR=非同人相似度>T/非同人比较的次数。

TAR:在比对相同人图像的时候,把相同人图像识别正确的比例,即正确接受比例。TAR=同人相似度>T/同人比较的次数,相比于FAR相比,TAR越高意味着模型的鲁棒性越好。

FRR:错误拒绝率,FRR=同人相似度>> import numpy as np >>> from sklearn import metrics >>> y = np.array([1, 1, 2, 2]) >>> scores = np.array([0.1, 0.4, 0.35, 0.8]) # roc_curve的输入为 # y: 样本标签 # scores: 模型对样本属于正例的概率输出 # pos_label: 标记为正例的标签,本例中标记为2的即为正例 >>> fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2) # 假阳性率 >>> fpr array([ 0. , 0.5, 0.5, 1. ]) # 真阳性率 >>> tpr array([ 0.5, 0.5, 1. , 1. ]) # 阈值 >>> thresholds array([ 0.8 , 0.4 , 0.35, 0.1 ]) # auc的输入为很简单,就是fpr, tpr值 >>> auc = metrics.auc(fpr, tpr) >>> auc 0.75 ###绘制ROC曲线 import matplotlib.pyplot as plt plt.figure() lw = 2 plt.plot(fpr, tpr, color='darkorange', lw=lw, label='ROC curve (area = %0.2f)' % auc) plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--') plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('Receiver operating characteristic example') plt.legend(loc="lower right") plt.show()

参考博客:

https://blog.csdn.net/liuweiyuxiang/article/details/81259492



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有