如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量

1.总览全图

如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
图片来源

由上图可知
可以做以下总结
TP,表面意思是正确的P,即标签是P,预测也是P ( P和N表示两种类别)
全称叫True Positive,其他类比即可
同理可以得出其他组合

2.FAR和FRR

全称为False Accept Rate和False Rejection Rate
错误地接受和错误地拒绝
以FAR为例
错误地接受表明实际的标签为N,但是预测错误为P,所以对应FP
FAR=FP/(FP+TN)
即错误地接受关注于标签为N的样本
即数据集中标签为N,预测为P的样本占所有标签为N的比例

FRR=FN/(FN+TP)
即错误地拒绝关注于标签为P的样本
即数据集中标签为P,预测为N的样本占所有标签为P的比例

上面的FAR和FRR从第一张图来看
分别对应两行
理想情况下只有对角线的TP和TN存在
而实际情况下FN和FP分别对应TP和TN的瑕疵

既然这是从行的角度,即标签的角度说
那自然也会有从列的角度,即预测的角度说
即FP/(FP+TP)和FN/(FN+TN)
无论怎么组合,抓住第一张图即可
下面再结合着一些组合给出其他的定义

3.召回率,精确率,准确率

参考网址

Recall=TP/(TP+FN)
即实际为P的样本中预测为P的样本的占比
自然是越大越好(抓住首图)
可以看出Recall+FRR=1

Precision=TP/(TP+FP)
即从预测的角度出发
成功预测为P的样本占所有预测为P的比例

Accuracy=(TP+TN)/(TP+TN+FP+FN)
即所有样本中预测正确的占比
这个定义很有启发,即实际的样本数是四类样本数之和

4.ROC曲线对应的TPR(真正类率)和FPR(假正类率)

ROC曲线:受试者工作特征曲线(receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。
TPR=TP/(TP+FN)
FPR=FP/(FP+TN)

我个人感觉这两个没什么关系
因为前者对应的是正样本,后者对应负样本
而样本数是固定的
TPR和FPR则会随着算法的不同而在各自的样本中发生变化,但两者没什么交集啊
实际上两者是有关系的,因为阈值的选定就会影响两者的数值

理想情况下自然是TPR为1,FPR为0
如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
ROC曲线的横坐标是FPR,纵坐标是TPR
理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好
那具体如何绘制ROC曲线??

ROC本质上就是在设定某一阈值之后,计算出该阈值对应的TPR & FPR,便可以绘制出ROC上对应的一个点,当设定若干个阈值之后,便可以连成ROC曲线,因此可以想见,当所采样的阈值越多,ROC Curve越平滑。

如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
上表中的结局指的是数据的标签,1和0
然后预测概率指的是逻辑回归或者softmax回归或者其他分类的概率值
我们一般设置一个阈值,用于进行二分类
比如我们选择0.54为阈值
大于等于该值则分类为1
小于该值则分类为0

如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
在0.54这个阈值下,我们可以算出对应的FPR和TPR
那是如何算出来的
利用我们第一张图

正样本数(标签为1)为10,负样本数(标签为0)亦为10
然后把我们的表列一下(CSDN的图表操作用|–|--|–|来决定图表的列数)

预测为1 预测为0
实际为1 5 5
实际为0 1 9

由上表可列如下式:
TPR=5/(5+5)=0.5
FPR=1/(1+9)=0.1
同理可以算出其他阈值对应的TPR和FPR
如下表所示
如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
然后有了这些点就可以在ROC坐标系中描点画线
注意是TPR为纵坐标,FPR为横坐标
如下表所示
如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
比如0.54对应的点的横纵坐标分别为0.1和0.5,符合题意

5.ROC对应的AUC

AUC(Area Under Curve)值为ROC曲线下方的面积大小。显然,AUC越大,预测效果越好。

  1. AUC=1,是完美分类器,采用这个预测模型时,不管设定什么截断点都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  2. 0.5<AUC<1,优于随机猜测。这个预测模型妥善设定截断点的话,能有预测价值。
  3. AUC=0.5,跟随机猜测一样(例:抛硬币),模型没有预测价值。
  4. AUC<0.5,比随机猜测还差,但只要总是反预测而行,就优于随机预测。
    如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量

6.HTER,EER

HTER全称为Half Total Error Rate
即将FAR和FRR都考虑进去
HTER=(FAR+FRR)/2

EER全称为Equal Error Rate
指的是当阈值取某个值是FPR=TRR
此时该值即为EER
表现在ROC曲线上就是ROC曲线与直线A的交点的横坐标(或纵坐标,此时横纵坐标相同)
其中直线A指的是过(0,1)和(1,0)的直线
如下图所示:
如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量

7.APCER,NPCER(NPCER),ACER

APCER的全称为 Attack Presentation Classification Error Rate
NPCER的全称为 Normal Presentation Classification Error Rate
NPCER有的论文叫做BPCER
全称为Bona Fide Classification Error Rate (bona fide 整体的意思是:真正的)

These two metrics correspond respectively to the False Acceptance Rate (FAR) and the False Rejection Rate (FRR), but for obtaining APCER, the FAR is computed separately for each PAI / type of attack, and APCER is defined as the highest FAR (i.e. the FAR of the most successful type of attack). Similar to HTER, the Average Classification Error Rate (ACER) is then defined as the mean of APCER and BPCER using the model parameters achieving EER on the validation set:

ACER=(APCER+BPCER)/2
就是说APCER和BPCER分别对应FAR和FRR
只不过APCER算的时候要麻烦点
需要计算每种PA中FAR,最后选择其中最高的(即该PA最轻易地攻破生物系统)
BPCER则不需要如此

这里还要注意用于计算APCER和BPCER阈值的确定
要求的是在验证集上取得EER的阈值(这个是规矩,大家都得遵守)
验证集有的论文叫validation set,有的叫development set

我找来标准原文:PAD-standards
如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
APCER(PAIS):在特定情况下,使用相同PAI物种的攻击演示被错误地归类为真实演示的比例
而最终要用的APCER是在这些不同的PAI方式中APCER(PAIS)最大的
如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量

8.直接从论文结果看

如何理解TP,FP,TN,FN,FAR,FRR,HTER等变量
EER为0.139
当ROC曲线趋向于(0,1)时确实可以实现
然后是HTER为0.1387
这个HTER由FAR和FRR得到
然后FAR和FRR都得依靠阈值
那阈值怎么确定
我觉得就是这里EER对应的阈值
跟APCER和BPCER一样