评估指标:混淆矩阵、PR、mAP、ROC、AUC
文章目錄
- TP、TN、FP、FN
- 準確率 Accuracy 和 錯誤率 Error rate
- 混淆矩陣 confusion matrix
- 查準率 Precision 和 召回率 Recall
- PR 曲線
- AP 和 mAP
- ROC 曲線
- ROC 曲線下面積 AUC
TP、TN、FP、FN
-
TP,即 True Positive,預測為正樣本,實際也為正樣本的特征數。
-
TN,即 True Negative,預測為負樣本,實際也為負樣本的特征數。
-
FP,即 False Positive,預測為正樣本,實際為負樣本的特征數。
-
FN,即 False Negative,預測為負樣本,實際為正樣本的特征數。
準確率 Accuracy 和 錯誤率 Error rate
-
Accuracy 即準確率:
Accuracy=TP+TNP+NAccuracy = \frac{TP+TN} {P+N}Accuracy=P+NTP+TN?
-
Error rate 即錯誤率(誤差):
Errorrate=FP+FNP+NError rate= \frac{FP+FN} {P+N}Errorrate=P+NFP+FN?
-
對某一個實例來說,分對與分錯是互斥事件,所以:
Accuracy=1?ErrorrateAccuracy =1 - Error rateAccuracy=1?Errorrate
混淆矩陣 confusion matrix
混淆矩陣(confusion matrix),也被稱為錯誤矩陣(error matrix),是大小為 (n_classes, n_classes) 的方陣。使用混淆矩陣可以清楚地看到分類誤差的具體情況。
二分類的混淆矩陣:
多分類的混淆矩陣:
查準率 Precision 和 召回率 Recall
-
查準率指,對于所有預測為陽性的樣本,有多大比率是真陽性。
真陽性的數量預測值為陽性的數量=TPTP+FP\frac{真陽性的數量} {預測值為陽性的數量} = \frac{TP} {TP+ FP}預測值為陽性的數量真陽性的數量?=TP+FPTP?
查準率越高就越好。
-
召回率指,對于所有陽性樣本,有多大比率被正確預測為陽性。
真陽性的數量實際陽性的數量=TPTP+FN\frac{真陽性的數量} {實際陽性的數量} = \frac{TP} {TP + FN}實際陽性的數量真陽性的數量?=TP+FNTP?
同樣地,召回率越高越好。
-
對于偏斜類,使用查準率和召回率可以更好地評估算法的分類效果。
-
A 類目標的 Precision 就是在識別出來所有 A 目標中,識別正確的比率。查準率:找的對。
-
A 類目標的 Recall 就是在測試集里所有的 A目標中,識別正確的比率。召回率:找的全。
PR 曲線
-
PR 曲線,即 Precision-Recall curve
-
以召回率 Recall 為橫軸
-
以查準率 Precision 為縱軸
AP 和 mAP
在目標檢測中,檢測出來的候選框包含 score 和 bbox,按照 score 降序排序:
-
TP 為 IoU > 0.5 的檢測框數量(同一個 Ground Truth 只計算一次)。
-
FP 為 IoU <= 0.5 的檢測框,重復檢測到的 bbox 也算FP。
-
FN 為沒有檢測到的 GT 的數量。
-
PR 曲線為不同置信度閾值下的查準率和召回率情況。
-
AP 為單個類別的檢測精度,即 Average Precision,為 PR 曲線下方的面積。
詳見:VOC 2012
在VOC2010以前,只需要選取當 Recall >= 0, 0.1, 0.2, …, 1 共11個點時的 Precision 最大值,然后AP就是這11個Precision的平均值。
在 VOC2010 及以后,需要針對每一個不同的 Recall 值(包括0和1),選取其大于等于這些 Recall 值時的 Precision 最大值,然后計算PR曲線下面積作為AP值。
-
mAP,即 mean Average Precision,對所有類別的 AP 取平均值
ROC 曲線
-
ROC空間,以 FPR 為 X 軸,以 TPR 為 Y 軸。
-
橫軸 FPR,即所有實際為陰性的樣本中,被錯誤地判斷為陽性之比率:
FPR=FP/(FP+TN)FPR=FP/(FP+TN)FPR=FP/(FP+TN)
-
縱軸 TPR,即召回率 Recall,即所有實際為陽性的樣本中,被正確地判斷為陽性之比率。:
TPR=TP/(TP+FN)TPR=TP/(TP+FN)TPR=TP/(TP+FN)
-
完美的預測是一個在左上角的點,在 ROC 空間座標 (0,1)點,X=0 代表著沒有偽陽性,Y=1 代表著沒有偽陰性(所有的陽性都是真陽性);也就是說,不管分類器輸出結果是陽性或陰性,都是100%正確。
-
一個隨機的預測會得到位于從 (0, 0) 到 (1, 1) 對角線(也叫無識別率線)上的一個點。
ROC 曲線下面積 AUC
Area under the Curve of ROC (AUC) ,即 ROC 曲線下方的面積。
在比較不同的分類模型時,可以將每個模型的 ROC 曲線都畫出來,比較曲線下面積做為模型優劣的指標:
-
AUC = 1,是完美分類器,分類100% 正確。
-
0.5 < AUC < 1,優于隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。
-
AUC = 0.5,跟隨機猜測一樣,模型沒有預測價值。
-
AUC < 0.5,比隨機猜測還差;但只要總是反預測而行,就優于隨機猜測。
總結
以上是生活随笔為你收集整理的评估指标:混淆矩阵、PR、mAP、ROC、AUC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分类评分函数 score functio
- 下一篇: 机器视觉 · 视觉系统选型