準確率評價指標

kking_edc發表於2020-10-05

一、top1和top5

top1-就是預測的label取最後概率向量裡面最大的一個作為預測結果,如果你的預測結果中概率最大的那個分類正確,則預測正確。否則預測錯誤。

top5-就是最後概率向量最大的前五名中,只要出現了正確概率即為預測正確。否則預測錯誤。

二、Precision、Recall和Accuracy

2.1 Precision和Recall

假如一個使用者向系統提交一個查詢(例如“什麼是貓”),系統返回了一系列查詢的結果,這些結果是系統根據使用者提交的資訊,判定出來系統內所有跟這個資訊有關的結果。
在這裡插入圖片描述
在這個結果裡,黃色的部分是系統返回的結果,綠色的部分是總共對使用者有用的結果。兩者的交集,也就是中間的部分,通常叫做True Positive(TP)。而返回結果的剩下部分,則是False Positive,意思就是說這些本身是對使用者沒啥用的,但是系統判定這些對使用者有用並且提交給使用者了。而綠色部分剩下的,是False Negative,這一部分是本來對使用者有用的結果,但是被系統判定沒用。剩下的灰色部分就是真的沒啥用的結果。

Precision就是 T P T P + F P \frac{TP}{TP+FP} TP+FPTP,也就是提交給使用者的結果裡面,究竟有多少是對的,或者反過來說,我們給了使用者多少沒用的垃圾。Recall是 T P T P + F N \frac{TP}{TP+FN} TP+FNTP,也就是一共有這麼多的有用結果,系統究竟能判定出來多少是有用的(能夠檢測出來多少?),或者反過來說,我們究竟丟了多少有用的。這兩個數是成對出現,單獨出現沒有意義。

這兩個檢測指標是成對出現的,單獨出現沒有意思。為什麼這麼說?一個例子是我們可以輕輕鬆鬆將recall提高到100%,那就是不管使用者查詢什麼,都將系統中所有的文件提供給使用者,這樣肯定不會丟東西,但是這樣使用者也沒辦法得到好的結果

2.2 為什麼不用準確率(accuracy)?

準確率,也就是accuracy,就是 T P + T N N \frac{TP+TN}{N} NTP+TN,也就是系統究竟做對了多少,如果是對於平衡樣本來說在,這個沒問題。但是對於樣本不平衡的情況,這就不行。例如資訊檢索,有99.999%的資訊對使用者都沒用,而且大部分系統肯定都能判別出來這些沒用,

二、mAP(mean average precision)

多標籤影像分類(Multi-label Image Classification)任務中圖片的標籤不止一個,因此評價不能用普通標籤影像分類的標準,即mean accuracy,該任務採用的是和資訊檢索中類似的方法-mAP(mean Average Precision)

以下是mAP的計算方法:

  1. 首先用訓練好的模型得到所有測試樣本的confidence score,每一類(如car)的confidence score儲存到一個檔案中,假設共有20個測試樣本,每個的id、confidence score和ground truth如下:
    在這裡插入圖片描述
  2. 接下來對confidence score排序,得到:
    在這裡插入圖片描述
  3. 然後計算precision和recall,這兩個標準的定義如下:
    在這裡插入圖片描述
    上圖比較直觀,圓圈內(true positives+false positives)是我們選出的元素,它對應於分類任務中我們取出的結果,比如對測試樣本在訓練好的car模型上分類,

相關文章