機器學習mAP之我見

原文鏈接:https://blog.csdn.net/gw1994/article/details/79616567

mAP(mean Average Precision)

Precision and Recall

       在模型評估時,我們往往會參照一些性能指標,最基本的如準確率和召回率。看過西瓜書的同學應該對下面這張表格很熟悉:

       這張表其實很好記憶,橫着看(actual:P和actual:N)代表實際所屬的類別;豎着看(predicted:P和predicted:N)代表預測的類型。如果實際和預測都一樣,那就是真正例(TP)和真反例(TN),對應表格的主對角線。如果實際是反例卻預測成了正例,那就是假正例(FP),注意,這都是與實際的標籤(actual)來對比的,同理可推出FN。 
       在瞭解了表格的意義之後,就很好解釋準確率(P)和召回率(R)了:

       準確率P是評估你預測的準不準(看預測列),而召回率R是看你找的全不全(看實際行)。如果處理平衡數據集用這些性能指標還好說,但是一旦你的數據集不平衡,那麼這些指標可參考的價值就不那麼具備參考性了。舉個例子:對於一個二分類問題,如果其中90%是正樣本,只有10%是負樣本的話,而我的模型就是全部輸出爲正樣本的分類器,那麼準確率依然高達90%,但是這樣並沒有意義。所以提出了AP的概念。

Average Precision

       所謂的AP,其實就是平均準確率。這裏的平均是相對於不同驗證集而言的。 

  假設我們想要訓練一個貓咪分類器,如果是基於像素點級別的,那麼就可以將它轉換爲一個二分類任務,判斷這個像素點是不是屬於貓的。這樣,我們可以得到屬於貓咪的像素點的準確率,當然,我麼還有其他很多的驗證圖片,這樣還可以得到P2,P3,…而AP就是對於這些求平均值: 

 

mean Average Precision

       所謂的mAP,其實就是對m個類別的AP取平均值,對於上文講的貓咪分類器,其實就是一個二分類器,它的mAP就等於正樣本的準確率與負樣本的準確率的平均值,多分類任務也可以如法炮製。 
       相比於P,R,mAP這個性能指標對於數據不平衡問題就靠譜很多。還是拿之前舉的例子來說:90%的正樣本,10%的負樣本,如果採用全部輸出爲正的分類器,那麼P正=0.9,P負=0,而mAP=0.45.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章