目標檢測評價指標mAP 精准率和召回率


首先明確幾個概念,精確率,召回率,准確率

  • 精確率precision
  • 召回率recall
  • 准確率accuracy

以一個實際例子入手,假設我們有100個腫瘤病人. 95個良性腫瘤病人,5個惡性腫瘤病人. 我們有一個檢測系統,去檢測一個腫瘤病人是否為惡性.
那么,對我們的系統來說,有100個樣本,5個正樣本,95個負樣本.假設分布為1,1,1,1,1,0,0,.......(即前5個人為惡性,后95個為良性).
假設我們的系統預測如下1,0,0,1,1,1,0.......,可以看到我們把第二個第三個惡性預測為了良性,第6個良性預測成了惡性.
我們一共做出了100個預測,錯誤3個,正確97個.一共預測4個惡性,其中3個正確,1個錯誤.

先看最簡單的指標,准確率accuracy.即所有預測的正確率=97/100=97%.

再看精確率precision,對於我們預測結果為惡性的來說,我們共做出了4個惡性的預測,對了三個,精確率=3/4=75%.

再看召回率recall,對於真正的惡性病人(共5人)來說,我們做出了5個預測,其中對了三個,召回率=3/5=60%.

從上面的例子可以看出來,precision是針對我們的有意義預測而言(這個表述不是很准確,用以通俗的理解.什么叫有意義的預測?,比如對癌症預測系統而言,這個系統的目標是檢測出患癌症的,所以預測結果為患癌就叫做有意義預測)的,在所有的有意義的預測里,正確的比例就叫precision.

recall是針對樣本的,即所有的患癌症患者,被檢出的概率就叫recall.

總結一下就是:
precision就是你以為的正樣本,到底猜對了多少.
recall就是真正的正樣本,到底找出了多少.

到底是precision高好還是recall高好,要看你的檢測系統的具體目標.比如:

  1. 垃圾郵件檢測
    我們希望做出的檢測都是足夠精確的,盡可能的檢出的垃圾郵件都是真的垃圾郵件,不要把有用的郵件檢測為垃圾郵件!,比如一封十分重要的工作郵件被檢測成了垃圾郵件,這是不能容忍的. 而一個真正的垃圾郵件,我們沒有檢測出來,沒有關系,我手動刪掉就好了. 這種情況下,precision就要盡可能高.

  2. 癌症檢測
    我們希望真正的癌症病人要盡可能第被檢測到,比如,一個人患了癌症,但是我們沒檢測到,耽誤了治療的最佳時機,這是不能容忍的. 而一個良性的病人被誤檢測為癌症,沒有關系,我們后續還有更多的醫療手段確定這個人是不是真的癌症. 這種情況下,recall就要盡可能的高.

上面假設了2個比較極端的例子,實際上,很多時候我們需要在precision和recall之間找到一個折中和平衡.

mAP

先來說AP (Average Precision)
以一個實際例子,來說明AP的計算.比如我們有1000張圖片,其中5張是蘋果,我們預測的結果是其中某十張是蘋果.目標檢測系統不光會給出某張圖的類別,還會給出相應的概率.

我們按照概率從大到小對我們的預測降序排列.

以第三行為例,解釋一下,當做出第三行的預測時,此時預測對了2個,預測了3次,真正的蘋果圖片一共5個,所以precision=2/3=0.67, recall=2/5=0.4.

這樣的話,我們可以繪制出下圖:

此時的曲線是"之"字型下降的.結合上表,很好理解,recall肯定是不斷增大的.precision會有"抖動".

AP的定義即為recall-precision下的面積.

實際計算的時候,我們通常先調整某個recall點對應的precision為其右側的最大值.

PASCAL Visual Objects Challenge從2007年開始就是用這一度量制度,他們認為這一方法能有效地減少Precision-recall 曲線中的抖動.

AP的意義:AP綜合考量了recall和precision的影響,反映了模型對某個類別識別的好壞.
mAP是取所有類別AP的平均值,衡量的是在所有類別上的平均好壞程度。


top-k accuracy

In top-5 accuracy you give yourself credit for having the right answer if the right answer appears in your top five guesses.
即預測概率前k大的class中有預測對的就認為是對的.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM