首先了解相关指标名称

误识率FAR   false acceptance rate   FAR=NFA/NIRA   NIRA是类间测试次数(假冒者尝试的总次数),NFA是错误接收次数

     FAR越低,假冒者被接受的可能性越低,系统安全性越高

误拒绿FRR   false rejection rate    FRR=NFR/NGRA   NGRA是类内测试次数(合法用户尝试的总次数),NFR是错误拒绝次数

     FRR越低,合法用户被拒绝的可能性越低,系统的易用性越好

ROC曲线     Receiver Operator characteristic Curve

真正类率TPR    true positive rate  将正例分对为正类的概率,也称Recall召回率   Recall = TPR = TP/(TP+FN)

假正类率FPR    false positive rate  将负例错分为正类的概率   FPR = FP/(FP+TN)

真负类率TNR    true negative rate

假负类率FNR    false negative rate

准确率ACC    Accuracy = (TP+TN)/(P+N) = (TP+TN) / (TP + FN + FP + TN)

精确度           Precision = TP/(TP+FP)

F-Score就是 Precision和 Recall的加权调和平均:

  • F-Meature = 2(Precision*Recall)/(Precision + Recall)

 

java中驳回功能该如何写 驳回率怎么算_人工智能

举个例子: 

假定有110个人,每人的大拇指的8幅指纹图片共110*8=880幅的指纹数据库,即110类,每类8幅图片。

当然,我们希望类内的任意两幅图片匹配成功,类间的任意图片匹配失败。

现在我们让库中的每一幅图片除开它自身之外与其他的所有图片进行匹配,分别计算误识率,与拒识率。

理论情况下,来自同一个指纹的图像都成功匹配,次数为7*8*110=6160次,匹配的总次数,即880×(880-1)=773520次。

误识率(FAR):假定由于指纹识别算法性能的原因,把本应该匹配失败的判为匹配成功,若假定这种错误次数为1000次。

匹配失败次数应为773520-6160=767360次。则误识率FAR为1000/767360*100%=0.13%。

拒识率(FRR):假定由于指纹识别算法性能的原因,把本应该匹配成功的判为匹配失败,若这种错误次数为160次。则拒识率为160/6160=2.6%.

 

java中驳回功能该如何写 驳回率怎么算_指纹识别_02

 

 

ROC曲线(Receiver Operator characteristic Curve)是一种已经被广泛接受的系统匹配算法测试指标,它是匹配分数阈值、误识率以及拒识率之间的一种关系。

它反映了识别算法在不同阈值上,拒识率和误识率的平衡关系。

下图给出了ROC曲线,其中横坐标是拒识率,纵坐标是误识率,等错误率(EER Equal-Error Rate)是拒识率和误识率的一个平衡点,等错误率能够取到的值越低,表示算法的性能越好。

java中驳回功能该如何写 驳回率怎么算_人工智能_03

通常要求FAR,FRR尽可能的小,使系统具有高的识别性能。但对于一个系统,FAR和FRR是一对矛盾体,通过调节阈值使其中一项降低必然引起另一项升高。

所以需要根据实际来确定FAR或FRR,在强调安全性的场合,如金融领域,可调高阈值以保障误识率的要求;而对于一般民用系统,如公司考勤机,可降低阈值放宽误识率的要求。

java中驳回功能该如何写 驳回率怎么算_指纹识别_04