【机器学习】错误拒绝率FRR,错误接受率FAR,等误率EER,准确率ACC 的理解

1.错误拒绝率(False Rejection Rate, FRR)

分类问题中,若两个样本为同类(同一个人),却被系统误认为异类(非同一个人),则为错误拒绝案例(即本不该拒绝的但拒绝了)。举个例子,用你的指纹解锁你自己的手机时,无法认证通过,则称为错误拒绝,错误拒绝率高则系统安全性高。错误拒绝率(FRR)为错误拒绝案例在所有同类匹配案例中占的比例。
F R R = 错 误 拒 绝 的 案 例 错 误 拒 绝 的 案 例 + 正 确 拒 绝 的 案 例 = t a r g e t 2 n o n t a r g e t t a r g e t 2 n o n t a r g e t + n o n t a r g e t 2 n o n t a r g e t FRR = \frac{错误拒绝的案例}{错误拒绝的案例+正确拒绝的案例}=\frac{target2nontarget}{target2nontarget+nontarget2nontarget} FRR=+=target2nontarget+nontarget2nontargettarget2nontarget

2.错误接受率(False Acceptance Rate, FAR)

分类问题中,若两个样本为异类(非同一个人),却被系统误认为同类(同一个人),则为错误接受案例(即本不该接受的但接受了)。举个例子,你的手机被陌生人捡到了,陌生人用他的指纹解锁了你的手机,本不该认证通过的但认证通过了,错误接受率高则系统不安全。错误接受率为错误接受案例在所有异类匹配案例的比例。
F A R = 错 误 接 受 的 案 例 错 误 接 受 的 案 例 + 正 确 接 受 的 案 例 = n o n t a r g e t 2 t a r g e t n o n t a r g e t 2 t a r g e t + t a r g e t 2 t a r g e t FAR=\frac{错误接受的案例}{错误接受的案例+正确接受的案例}=\frac{nontarget2target}{nontarget2target+target2target} FAR=+=nontarget2target+target2targetnontarget2target

3.等错误率(Equal Error Rate,EER)

调整阈值,使得误拒绝率(False Rejection Rate,FRR)等于误接受率 (False Acceptance Rate,FAR),此时的FAR与FRR的值称为等错误率。

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EER是Equal Error Rate(相等错误)的缩写,是指在二分类问题中,当误识和漏识相等时所对应的错误。 在MATLAB中,可以通过以下步骤计算生物识别系统的EER: 1.首先,获取测试数据的得分和标签。得分是一个向量,其中元素表示每个测试样本的得分;标签是一个向量,其中元素表示每个测试样本的标签,1表示正样本,0表示负样本。 2.使用`sort`函数将得分向量按从小到大的顺序排序,并将排序后的标签向量相应地排序。 3.计算误识和漏识。误识是指将负样本误判为正样本的比,漏识是指将正样本误判为负样本的比。可以通过以下公式计算: ```matlab FPR = cumsum(sorted_labels == 0) / sum(sorted_labels == 0); TPR = cumsum(sorted_labels == 1) / sum(sorted_labels == 1); ``` 其中,`cumsum`函数返回一个向量,其中元素是输入向量的累积和。`sorted_labels == 0`返回一个逻辑向量,其中元素为1表示对应的元素等于0,为0表示对应的元素不等于0。同理,`sorted_labels == 1`返回一个逻辑向量,其中元素为1表示对应的元素等于1,为0表示对应的元素不等于1。 4.计算EEREER是误识和漏识相等时的错误,可以通过以下公式计算: ```matlab diff = TPR - FPR; [min_diff, min_index] = min(abs(diff)); EER = (FPR(min_index) + TPR(min_index)) / 2; ``` 其中,`diff`是TPR和FPR之差的向量,`min_diff`是`diff`中的最小值,`min_index`是`diff`中最小值的索引,即TPR和FPR之差最小的点的索引。EER是误识和漏识相等时的错误,等于TPR和FPR之差最小的点的FPR和TPR的平均值。 以上是计算生物识别系统的EER的步骤。计算错误接受错误拒绝的方法也类似,只需要将标签向量中的1和0互换即可。具体代码实现可以参考以下示例: ```matlab % 获取测试数据的得分和标签 scores = randn(1000, 1); labels = randi([0 1], 1000, 1); % 将得分向量按从小到大的顺序排序,并将排序后的标签向量相应地排序 [sorted_scores, sort_index] = sort(scores); sorted_labels = labels(sort_index); % 计算误识和漏识 FPR = cumsum(sorted_labels == 0) / sum(sorted_labels == 0); TPR = cumsum(sorted_labels == 1) / sum(sorted_labels == 1); % 计算EER diff = TPR - FPR; [min_diff, min_index] = min(abs(diff)); EER = (FPR(min_index) + TPR(min_index)) / 2; % 计算错误接受错误拒绝 FAR = 1 - FPR; % 错误接受等于1减误识 FRR = 1 - TPR; % 错误拒绝等于1减漏识 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值