这是我到目前为止用来计算FRR的代码%%% performance calculate FAR FRR EER% %FRRi=36; % number of users for n=1:i counter1=1; for t=0:0.01:1 % Threeshold value FRRsingletemp=sum(all_output{1,n}(size(all_output{1},1)):size(all_output{1},2)<t)/size(all_output{1},2); FRRsingle(counter1)=FRRsingletemp; counter1=counter1+1; end FRR(n,:)=FRRsingle;end解决方案我不确定您的问题是什么,但我不同意您的主张 EER可以简单地使用以下等式(FAR + FRR)/2 来计算 FAR(FRR)不是值,它是取决于阈值的函数. EER是FAR图和FRR图相交的值,如此处.I have a matrix called (all_output) (which is the output training and testing Neural Network of 36 users). This matrix contains 36 cells, each cell has 504 values ( as shown in the attaced image)the content of each cell of (all_output) is shown in the attached image **___Update__**i will explain how the (all_output) has been constructedAfter Neural Network has been trained, I have used that code in order to test the Neural Network % % % Test the Network %%%%%%% outputs = net(Testing_Gen{i}); all_output{1,i}=outputsTesting_Gen: is a matrix of size (1*36 cells as shown in the attached image). in order to understand the content of Testing_Gen matrix, for each user, I have 14 test samples(examples), and for each sample 143 features have been extracted and stored in a column.Each cell in Testing_Gen matrix contains the user's test samples and the imposter's test samples ( as shown in the attached image)as we could see that one cell is (143 rows x 504 columns), the first 14 columns in each cell is the user's samples ( genuine user's samples) and the remaining columns are the imposter's samples (490 samples [14*35])for example, I have extracted 14 samples or examples for User1 to be used for testing, therefore, the first cell contains the test samples (examples) of User1 (which are 14) and the imposter's samples as well (490 samples [14*35]) in order to calculate the FAR and FRRI'd like to calculate the False Acceptance Rate (FAR), False Rejection Rate (FRR) and Equal Error Rate (EER) for this Matrix. False Acceptance Rate is the percentage in which the system incorrectly accepts an imposter as the legitimate user. For example, to calculate the FAR for User1 all the imposter's samples (which are already stored in (all_output) matrix) need to be tested against User1 and repeat this procedure 36 times. False Rejection Rate displays the percentage in which the authorised user is wrongly rejected by the system.For example, to calculate the FRR for User1 all his testing samples (which are already stored in (all_output) matrix) need to be tested against User1 and repeat this procedure for each genuine user (36 times).EER simply can be calculated using this equation (FAR+FRR)/2while calculating EER, the EER's results should show the necessity of having a balance between FRR and FAR for the system (in other words, the value of FAR and FRR should be close to each other as much as possible as my system aim to have a balance between accepting authorised user and rejecting imposters). This is the code that I have done so far to calculate FRR%%% performance calculate FAR FRR EER% %FRRi=36; % number of users for n=1:i counter1=1; for t=0:0.01:1 % Threeshold value FRRsingletemp=sum(all_output{1,n}(size(all_output{1},1)):size(all_output{1},2)<t)/size(all_output{1},2); FRRsingle(counter1)=FRRsingletemp; counter1=counter1+1; end FRR(n,:)=FRRsingle;end 解决方案 I am not sure what is your question but I cannot agree with your claim EER simply can be calculated using this equation (FAR+FRR)/2FAR (FRR) is not a value, it is a function dependent on threshold. EER is the value where FAR graph and FRR graph intersect as can be seen here. 这篇关于计算生物识别系统(MATLAB)的错误接受率和错误拒绝率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
09-23 11:59