【深度学习】查准率、召回率、AP、mAP
AP和mAP計算詳解(代碼全解)
參考:https://mp.weixin.qq.com/s?__biz=MzUxNjcxMjQxNg==&mid=2247490269&idx=3&sn=718b101325a37b152951772e11d4efde&chksm=f9a26852ced5e144200ae2f95d3bd15d9e213dff2728f85defdf75fcd5aeb7acd53f50eb233c&mpshare=1&scene=1&srcid=#rd
Recall和Precision一樣,脫離類別是沒有意義的。說到Precision(或Recall),一定指的是某個類別的Precision(或Recall)。
目標檢測里面沒有用準確率Accuracy來評估的,都只用Recall和Precision以及mAP。
(1) Accuracy:準確率
?? 準確率=預測正確的樣本數/所有樣本數,即預測正確的樣本比例(包括預測正確的正樣本和預測正確的負樣本,不過在 【目標檢測】 領域,沒有預測正確的負樣本這一說法,所以目標檢測里面沒有用Accuracy的)。
Acc = (TP + FN) / num_allSamples =(TP + TN)/ (TP+TN+FP+FN)比如說,檢測貓,貓以外的其他類別都是負樣本,所以負樣本不是指一個類別,而是除你要檢測的類別以外的所有類別,除非是二分類。【這段話是我添加的】
(2) Precision:查準率
【分母為 所有預測結果為該類別的樣本數目】
?? recision表示某一類樣本預測有多準。
?? Precision針對的是某一類樣本,如果沒有說明類別,那么Precision是毫無意義的(有些地方不說明類別,直接說Precision,是因為二分類問題通常說的Precision都是正樣本的Precision)。
比如說,檢測貓,分子為標簽為貓,預測結果也為貓,即預測正確的樣本數;分母為預測結果為貓的所有樣本數(注意不是圖片數)。
即Precision就是預測貓正確的樣本數 占 所有預測結果為貓的樣本數。
之所以叫查準率(精確率),是因為預測出了n個該類別的,只預測對了m(m<n)個正確的,所以叫(精確率)查準率。
【上面這兩段話是我添加的】
(3) Recall:召回率
【分母為 該類別的所有標簽數目】
?? Recall和Precision一樣,脫離類別是沒有意義的。說道Recall,一定指的是某個類別的Recall。Recall表示某一類樣本,預測正確的與所有Ground Truth的比例。
Recall = TP/(TP + FN)?? Recall計算的時候,分母是Ground Truth中某一類樣本的數量,而Precision計算的時候,是預測出來的某一類樣本數。
比如說,檢測貓,分子為標簽為貓,預測結果也為貓,即預測正確的樣本數;分母為把貓檢測為貓和把貓檢測為非貓的所有樣本,即分母是標注的標簽中所有為貓的目標總數,不是包含貓的圖片的總數,因為每張圖片可能有多只貓,每只貓都得算進去。
那么recall就是預測貓正確的樣本數 占 所有標簽為貓的樣本數 的比例。
之所以叫召回率,是因為該類別本來有n個正確的,只召回了m(m<n)個正確的,所以叫召回率。
【上面這兩段話是我添加的】
(4) F1 Score:平衡F分數
F1分數,它被定義為查準率和召回率的調和平均數:
F1 = 2* Precision * Recall / (Precision + Recall)= 2*TP / (2TP + FN + FP)總結
以上是生活随笔為你收集整理的【深度学习】查准率、召回率、AP、mAP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Socket网络编程】3.字节序转换函
- 下一篇: 【Linux】1.shell各个命令