召回率 Recall、精確度Precision、準確率Accuracy、虛警、漏警等分類判定指標

原文鏈接:http://blog.sina.com.cn/s/blog_900690c60101czyo.html

首先假設原始樣本中有兩類,其中:
1:總共有 P個類別爲1的樣本,假設類別1爲正例。
2:總共有N個類別爲0 的樣本,假設類別0爲負例。
經過分類後:
3:有 TP個類別爲1 的樣本被系統正確判定爲類別1,FN 個類別爲1 的樣本被系統誤判定爲類別 0,顯然有P=TP+FN;
4:有 FP 個類別爲0 的樣本被系統誤判斷定爲類別1,TN 個類別爲0 的樣本被系統正確判爲類別 0,顯然有N=FP+TN;

那麼:
精確度(Precision):
P = TP/(TP+FP) ; 反映了被分類器判定的正例中真正的正例樣本的比重(

準確率(Accuracy)
A = (TP + TN)/(P+N) = (TP + TN)/(TP + FN + FP + TN); 反映了分類器統對整個樣本的判定能力——能將正的判定爲正,負的判定爲負

召回率(Recall),也稱爲 True Positive Rate:
R = TP/(TP+FN) = 1 - FN/T; 反映了被正確判定的正例佔總的正例的比重

轉移性(Specificity,不知道這個翻譯對不對,這個指標用的也不多),也稱爲 True NegativeRate
S = TN/(TN + FP) = 1 – FP/N; 明顯的這個和召回率是對應的指標,只是用它在衡量類別0 的判定能力。

F-measure or balanced F-score
F = 2 * 召回率 * 準確率/ (召回率+準確率);這就是傳統上通常說的F1 measure,另外還有一些別的F measure,可以參考下面的鏈接

上面這些介紹可以參考:
http://en.wikipedia.org/wiki/Precision_and_recall
同時,也可以看看:http://en.wikipedia.org/wiki/Accuracy_and_precision

爲什麼會有這麼多指標呢?
這是因爲模式分類和機器學習的需要。判斷一個分類器對所用樣本的分類能力或者在不同的應用場合時,需要有不同的指標。 當總共有個100 個樣本(P+N=100)時,假如只有一個正例(P=1),那麼只考慮精確度的話,不需要進行任何模型的訓練,直接將所有測試樣本判爲正例,那麼 A 能達到 99%,非常高了,但這並沒有反映出模型真正的能力。另外在統計信號分析中,對不同類的判斷結果的錯誤的懲罰是不一樣的。舉例而言,雷達收到100個來襲導彈的信號,其中只有 3個是真正的導彈信號,其餘 97 個是敵方模擬的導彈信號。假如系統判斷 98 個(97 個模擬信號加一個真正的導彈信號)信號都是模擬信號,那麼Accuracy=98%,很高了,剩下兩個是導彈信號,被截掉,這時Recall=2/3=66.67%,Precision=2/2=100%,Precision也很高。但剩下的那顆導彈就會造成災害。

因此在統計信號分析中,有另外兩個指標來衡量分類器錯誤判斷的後果:
漏警概率(Missing Alarm)
MA = FN/(TP + FN) = 1 – TP/T = 1 - R; 反映有多少個正例被漏判了(我們這裏就是真正的導彈信號被判斷爲模擬信號,可見MA此時爲 33.33%,太高了)

虛警概率(False Alarm)
FA = FP / (TP + FP) = 1 – P;反映被判爲正例樣本中,有多少個是負例。

統計信號分析中,希望上述的兩個錯誤概率儘量小。而對分類器的總的懲罰舊是上面兩種錯誤分別加上懲罰因子的和:COST = Cma MA + Cfa FA。不同的場合、需要下,對不同的錯誤的懲罰也不一樣的。像這裏,我們自然希望對漏警的懲罰大,因此它的懲罰因子 Cma 要大些。
個人觀點:雖然上述指標之間可以互相轉換,但在模式分類中,一般用 P、R、A 三個指標,不用MA和 FA。而且統計信號分析中,也很少看到用 R 的。如果有錯誤的地方,歡迎指出並改正

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