如何使用matlab从FAR/FRR值计算和绘制等误差率(EER)

Jaw*_*tai 3 matlab biometrics

我对FAR/FRR有以下值.我想计算EER率然后在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
Run Code Online (Sandbox Code Playgroud)

是否有任何matlab功能可用于执行此操作.有人可以向我解释一下.谢谢.

Ste*_* Du 6

让我试着回答你的问题

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

1.1)EER的想法是尝试通过在虚警率(FAR)和False之间找到相等(如果不等于那么至少几乎相等或具有最小距离)来测量系统对另一个系统的性能(越低越好)拒绝率(FRR或丢失率).

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

如果存在大量数据,则可以忽略mean/max/min之间的差异.在一些说话人验证任务中,将有100k数据样本.

2)要了解EER,请自​​行更好地计算,以下是:

你需要知道的两件事:

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

B)每次试验的真/假

在你有A和B后,你可以创建[试验,得分,真/假]对,然后按分数值对其进行排序,然后通过分数循环,例如从min-> max.在每个循环中,假设阈值是该分数并计算FAR,FRR.循环通过得分后找到FAR,FRR具有"相等"值.

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

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

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

4)还有其他类似于EER的措施,例如minDCF,它只能使用FAR和FRR的权重.您可以参考http://www.nist.gov/itl/iad/mig/sre10results.cfm的 "绩效评估" .

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

在DETWare_v2.1中绘图

Pmiss=1:50;Pfa=50:-1:1;
Plot_DET(Pmiss/100.0,Pfa/100.0,'r')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述