如何使用 matlab 根据 FAR/FRR 值计算并绘制等错误率 (EER)

2024-02-25

我对 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

有没有什么matlab函数可以做到这一点?有人可以向我解释一下吗?谢谢。


让我尝试回答你的问题

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

1.1)EER的想法是通过找到误报率(FAR)和误报率之间的相等(如果不相等,则至少接近相等或具有最小距离)来衡量系统相对于另一个系统的性能(越低越好)拒绝率(FRR,或缺失率)。

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

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

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

你需要知道两件事:

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

B) 每次试验的真/假

获得 A 和 B 后,您可以创建 [试验、得分、真/假] 对,然后按得分值对其进行排序,然后循环得分,例如从最小值 -> 最大值。在每个循环中,假设阈值是分数并计算 FAR、FRR。循环遍历分数后找到具有“相等”值的 FAR、FRR。

代码可以参考我的 pyeer.py ,在函数 processDataTable2 中

https://github.com/StevenLOL/Research_speech_speaker_verification_nist_sre2010/blob/master/SRE2010/sid/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 http://www.nist.gov/itl/iad/mig/sre10results.cfm

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

在 DETWare_v2.1 中绘图

Pmiss=1:50;Pfa=50:-1:1;
Plot_DET(Pmiss/100.0,Pfa/100.0,'r')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 matlab 根据 FAR/FRR 值计算并绘制等错误率 (EER) 的相关文章

  • Matlab-如何在曲线上绘制切线

    我在 matlab 中绘制了一个图表 plot x y 我的图表有不同的斜率 我如何在每个斜率上绘制切线并计算斜率的系数 如果您没有用于绘制点的显式函数 您可以使用有限差分 http en wikipedia org wiki Finite
  • 继续在 Matlab 中一遍又一遍地播放声音?

    我正在尝试创建一个 MATLAB 程序来每隔几分钟一遍又一遍地播放声音 现在我将其设置为每隔几秒播放一次 只是为了消除系统中的一些错误 但是 当我的程序尝试重播声音时 我收到此错误 Error using gt audioplayer au
  • 对多个属性使用一种设置方法 MATLAB

    我有几个属性基本上使用相同的属性set method classdef MyClass properties A B end methods function mc MyClass a b Constructor mc A a mc B b
  • Matlab:如何显示数组的“真实”值?

    我有一个在脚本中计算的向量 计算后 我将值显示到命令窗口 显示如下 finalResults 1 0e 05 0 0001 0 0 0005 0 0002 0 0001 0 0027 0 0033 0 0001 0 0000 0 0000
  • MATLAB 中时间戳过滤器的优化 - 处理非常大的数据集

    我正在 MATLAB 中编写一个程序 必须使用 MATLAB 并且不能真正使用 MEX 来过滤大量数据 我需要实现的过滤器之一要求我将时间戳向量与其他时间戳不会出现的已知 不良 时间列表进行比较 一个典型的时间戳向量有大约 2 000 00
  • 扩展 MATLAB 函数名称的最大长度

    我编写了一个 MATLAB 程序 可以动态创建自定义 MATLAB 函数 并使用以下命令在其他 MATLAB 实例中启动它们unix命令 我使用这个程序来自动化 fMRI 神经影像分析 使用 SPM8 for MATLAB 一切正常 但是
  • Matlab中转换数据类型的有效方法(double vs. im2double)

    我想将真彩色图像转换为双精度 据我所知有两种方法可以做到这一点 double rgb img im2double rgb img 哪一种效率更高 谢谢 他们都是不同的 im2double将图像的范围转换为0 1如果数据类型是uint8 or
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 如何使用matlab生成不同频率的正弦波?

    对于我的项目 我需要使用 matlab 生成一个正弦波 它有 100 000 个样本 并且频率在每 10 000 个样本后随机变化 采样率和频率可以根据方便而定 matlab中有没有函数可以生成这个 好的另一个例子 生成 5 个随机频率 r
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • 在 matlab 中求 3d 峰的体积

    现在我有一个带有峰值的 3D 散点图 我需要找到其体积 我的数据来自图像 因此 x 和 y 值表示 xy 平面上的像素位置 z 值是每个像素的像素值 这是我的散点图 scatter3 x y z 20 z filled 我试图找到数据峰值的
  • 什么是 ANN 中的纪元以及它如何转换为 MATLAB 中的代码?

    我试图理解 并可视化 训练人工神经网络的时代到底是什么 我们有一个包含约 7000 个产品的训练集 其中有 10 个特征 输入 这些产品必须根据这 10 个输入分为 7 个类别 我们的 ANN 有 10 个输入 这些输入进入由 10 个神经
  • 两个向量之间的欧氏距离(单行矩阵)

    我有两个向量 单行矩阵 假设我们已经知道长度len A x1 x2 x3 x4 x5 B y1 y2 y3 y4 y5 计算它们之间的欧几里德距离最快的方法是什么 我的第一次尝试是 diff A B sum 0 for column 1 l
  • Matlab:如何更改矩阵的存储方式?从 1x1x3 到 1x3?

    我目前有 val 1 0 7216 val 2 0 7216 val 3 0 7216 但我想要 0 7216 0 716 0 721 我可以做什么样的操作来做到这一点 The reshape函数将在这里解决问题 Arrange the e
  • 如何告诉 mex 链接到 /usr/lib 中的 libstdc++.so.6 而不是 MATLAB 目录中的 libstdc++.so.6?

    现在 MATLAB 2012a 中的 mex 仅正式支持 gcc 4 4 6 但我想使用 gcc 4 7 风险自负 现在如果我直接用 mex 编译一些东西 它会抱怨 usr lib gcc i686 linux gnu 4 7 cc1plu
  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • matlab中的正则逻辑回归代码

    我正在尝试正则化 LR 在 matlab 中使用以下公式很简单 成本函数 J theta 1 m sum y i log h x i 1 y i log 1 h x i lambda 2 m sum theta j 梯度 J theta t
  • MATLAB - 冲浪图数据结构

    我用两种不同的方法进行了计算 对于这些计算 我改变了 2 个参数 x 和 y 最后 我计算了每种变体的两种方法之间的 误差 现在我想根据结果创建 3D 曲面图 x gt on x axis y gt on y axis Error gt o
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 从开始/结束索引列表创建向量化数组

    我有一个两列矩阵M包含一堆间隔的开始 结束索引 startInd EndInd 1 3 6 10 12 12 15 16 如何生成所有区间索引的向量 v 1 2 3 6 7 8 9 10 12 15 16 我正在使用循环执行上述操作 但我想

随机推荐