如何计算和使用Matlab从FAR/FRR值绘制等错误率(EER) [英] How to compute & plot Equal Error Rate (EER) from FAR/FRR values using matlab

查看:1262
本文介绍了如何计算和使用Matlab从FAR/FRR值绘制等错误率(EER)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对FAR/FRR具有以下值.我想计算EER率,然后在matlab中绘图.

I have the following values against FAR/FRR. i want to compute EER rates and then plot in matlab.

FAR              FRR
19.64            20
21.29            18.61
24.92            17.08
19.14            20.28
17.99            21.39
16.83            23.47
15.35            26.39
13.20            29.17
7.92             42.92
3.96             60.56
1.82             84.31
1.65             98.33
26.07            16.39
29.04            13.13
34.49            9.31
40.76            6.81
50.33            5.42
66.83            1.67
82.51            0.28

有没有可用的matlab函数来执行此操作.有人可以向我解释一下.谢谢.

Is there any matlab function available to do this. can somebody explain this to me. Thanks.

推荐答案

让我尝试回答您的问题

1)对于您的数据,EER可以是[19.64,20]的平均值/最大值/最小值

1) For your data EER can be the mean/max/min of [19.64,20]

1.1)EER的想法是尝试通过发现误报率(FAR)等于(如果不等于,则至少接近等于或具有最小距离)来衡量另一个系统的系统性能(越低越好). )和错误拒绝率(FRR,或遗漏率).

1.1) The idea of EER is try to measure the system performance against another system (the lower the better) by finding the equal(if not equal then at least nearly equal or have the min distance) between False Alarm Rate (FAR) and False Reject Rate (FRR, or missing rate) .

请参考您的数据,[19.64,20]给出了最小距离,因此可以用作EER,您可以取这两个值的平均值/最大值/最小值,但是由于这意味着要在系统之间进行比较,因此请确保其他系统使用相同的方法(平均值/最大值/最小值)来选择EER值.

Refer to your data, [19.64,20] gives min distance, thus it could used as EER, you can take mean/max/min value of these two value, however since it means to compare between systems, thus make sure other system use the same method(mean/max/min) to pick EER value.

如果有大量数据,则平均值/最大值/最小值之间的差异可以忽略.在某些说话人验证任务中,将有100k数据样本.

The difference among mean/max/min can be ignored if the there are large amount of data. In some speaker verification task, there will be 100k data sample.

2)要了解EER,最好自己计算一下,方法如下:

2) To understand EER ,better compute it by yourself, here is how:

您需要了解的两件事:

A)每个测试用例(试用版)的系统得分

A) The system score for each test case (trial)

B)每个试验的正确/错误

B) The true/false for each trial

有了A和B后,您可以创建[trial,score,true/false]对,然后按得分值对它进行排序,然后循环遍历得分,例如从min-> max.在每个循环中,假定阈值为该分数并计算FAR,FRR.循环遍历分数后,找到具有等于"值的FAR,FRR.

After you have A and B, then you can create [trial, score,true/false] pairs then sort it by the score value, after that loop through the score, eg from min-> max. At each loop assume threshold is that score and compute the FAR,FRR. After loop through the score find the FAR,FRR with "equal" value.

有关代码,您可以在processDataTable2函数中引用我的pyeer.py

For the code you can refer to my pyeer.py , in function processDataTable2

https://github.com/StevenLOL/Research_speech_speaker_verification_nist_sre2010/blob/master/SRE2010/sid/pyeer.py

此功能是为NIST SRE 2010评估而编写的.

This function is written for the NIST SRE 2010 evaluation.

4)还有其他类似于EER的度量,例如minDCF,它们仅以FAR和FRR的权重起作用.您可以参考http://www.nist.gov/itl/iad/mig/sre10results.cfm

4) There are other measures similar to EER, such as minDCF which only play with the weights of FAR and FRR. You can refer to "Performance Measure" of http://www.nist.gov/itl/iad/mig/sre10results.cfm

5)您也可以参考此软件包 https://sites.google.com/site/位于 http://www的bosaristoolkit/和DETware_v2.1.tar.gz .itl.nist.gov/iad/mig/tools/用于在Matlab中计算和绘制EER

5) You can also refer to this package https://sites.google.com/site/bosaristoolkit/ and DETware_v2.1.tar.gz at http://www.itl.nist.gov/iad/mig/tools/ for computing and plotting EER in Matlab

在DETWare_v2.1中绘制

Plotting in DETWare_v2.1

Pmiss=1:50;Pfa=50:-1:1;
Plot_DET(Pmiss/100.0,Pfa/100.0,'r')

这篇关于如何计算和使用Matlab从FAR/FRR值绘制等错误率(EER)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆