Matlab影像處理:誤拒率、誤識率意義,計算等錯誤率的Matlab源碼(網路首發)

來源:互聯網
上載者:User

      影像處理中經常有誤拒率和誤識率兩個概念,今天簡介下。

     誤拒率,就是錯誤拒絕的意思,指的類內匹配。如果有10個志願者的樣本,每個志願者20幅樣本。那麼相對於類內測試,比如對1號誌願者,同一類的這20幅圖片之間,互相匹配,假設1:1的匹配,互相不重複能夠進行(20*19)/2次。如果10個志願者都進行這麼測試,就是10*(20*19)/2次。這是總的類內匹配次數。預設定閾值為TH,如果匹配值th>TH就會錯誤拒絕

 

     誤識率,指錯誤接受的機率,相對於類間匹配而言。不同的類之間進行的匹配,如果閾值th小於預設閾值TH,就會認為屬於同一類,這種情況就是錯誤接受。

計算公式如下:

 

      也可以參照http://ishare.iask.sina.com.cn/f/37004900.html這個論文裡的57頁和20頁的介紹。

       因為FRR和FAR互相矛盾,所以當兩者相等時的機率就是等錯誤率。當閾值為TH時,此時對應的FRR有個數值、FAR有個數值。這樣得到一組對應的FRR和FAR,以FAR為橫座標,FRR為縱座標畫曲線,就是ROC曲線。再畫y=x的曲線,兩個曲線相交時對應的橫座標或縱座標就是等錯誤率,這個時候對應的閾值就是最優的。

典型的ROC曲線:

       網上至今沒有計算等錯誤率和畫ROC的Matlab源碼,我寫了一個,僅供大家參考:

核心代碼如下:

function out = YanEER(leinei, leijian)NGRA = length(leinei);   %類內測試的次數 對應誤據率 FRRNIRA = length(leijian);  %類間測試的次數  對應誤識率, FARFRR = [];FAR = [];th = 0.1:0.02:0.55;  %閾值,一共xxx個for i=1:length(th)    frr = sum(leinei>th(i))/NGRA;  %大於預設閾值的 就錯誤的拒絕了    FRR=[FRR frr];    far = sum(leijian<th(i))/NIRA; %小於閾值的  就錯誤的接受了    FAR = [FAR far];end

     這裡面的th是用來控制預設定閾值的,可以根據自己的需要設定。一般它跟你輸入的參數的最小值和最大值有關係,也可以和這兩個最值關聯起來。另外,計算frr的時候也可以乘上100,這時座標系就是(%)。大家靈活修改吧。

源碼下載:http://www.pudn.com/downloads542/sourcecode/graph/detail2238646.html

  -----------------------本文系原創,轉載請註明作者:yanzi1225627

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.