在處理深度學習分類問題時,會用到一些評價指標,如accuracy(准確率)等。剛開始接觸時會感覺有點多有點繞,不太好理解。本文寫出我的理解,同時以語音喚醒(喚醒詞識別)來舉例,希望能加深理解這些指標。
1,TP / FP / TN / FN
下表表示為一個二分類的混淆矩陣(多分類同理,把不屬於當前類的都認為是負例),表中的四個參數均用兩個字母表示,第一個字母表示判斷結果正確與否(正確用T(True),錯誤用F(False),第二個字母表示判定結果(正例用P(Positive),負例用N(Negative))。四個參數的具體意思如下:
TP (True Positive):表示實際為正例,判定也為正例的次數,即表示判定為正例且判定正確的次數。
FP (False Positive): 表示實際為負例,卻判定為正例的次數,即表示判定為正例但判斷錯誤的次數。
TN (True Negative):表示實際為負例,判定也為負例的次數,即表示判定為負例且判定正確的次數。
FN (False Negative): 表示實際為正例,卻判定為負例的次數,即表示判定為負例但判斷錯誤的次數。
為了幫助理解,我以智能音箱中的語音喚醒(假設喚醒詞為“芝麻開門”)來舉例。這里正例就是喚醒詞“芝麻開門”,負例就是除了“芝麻開門”之外的其他詞,即非喚醒詞,如“阿里巴巴”。設定評估時說喚醒詞和非喚醒詞各100次,TP就表示說了“芝麻開門”且被識別的次數(假設98次),FN就表示說了“芝麻開門”卻沒被識別(判定成負例)的次數(假設2次),FP就表示說了非喚醒詞卻被識別(判定成正例)的次數(假設1次),TN就表示說了非喚醒詞且沒被識別的次數(假設99次)。
2,accuracy / precision / recall
accuracy是准確率,表示判定正確的次數與所有判定次數的比例。判定正確的次數是(TP+TN),所有判定的次數是(TP + TN + FP +FN),所以
在語音喚醒例子中,TP = 98,TN = 99,FP = 1, FN = 2, 所以accuracy = (98 + 99) / (98 + 99 + 1 + 2) = 98.5%,即准確率為 98.5%。
precision是精確率,表示正確判定為正例的次數與所有判定為正例的次數的比例。正確判定為正例的次數是TP,所有判定為正例的次數是(TP + FP),所以
在語音喚醒例子中,TP = 98, FP = 1, 所以precision = 98 / (98 + 1) = 99%,即精確率為 99%。
recall是召回率,表示正確判定為正例的次數與所有實際為正例的次數的比例。正確判定為正例的次數是TP,所有實際為正例的次數是(TP + FN),所以
在語音喚醒例子中,TP = 98, FN = 2, 所以recall = 98 / (98 + 2) = 98%,即召回率為 98%。在語音喚醒場景下,召回率也叫喚醒率,表示說了多少次喚醒詞被喚醒次數的比例。
1, FAR / FRR
FAR (False Acceptance Rate)是錯誤接受率,也叫誤識率,表示錯誤判定為正例的次數與所有實際為負例的次數的比例。錯誤判定為正例的次數是FP,所有實際為負例的次數是(FP + TN),所以
在語音喚醒例子中,FP = 1, TN = 99, 所以FAR = 1 / (99 + 1) = 1%,即錯誤接受率為 1%。在語音喚醒場景下,錯誤接受率也叫誤喚醒率,表示說了多少次非喚醒詞卻被喚醒次數的比例。
FRR (False Rejection Rate)是錯誤拒絕率,也叫拒識率,表示錯誤判定為負例的次數與所有實際為正例的次數的比例。錯誤判定為負例的次數是FN,所有實際為正例的次數是(TP + FN),所以
在語音喚醒例子中,FN = 2, TP = 98, 所以FRR = 2/ (2 + 98) = 2%,即錯誤拒絕率為 2%。在語音喚醒場景下,錯誤拒絕率也叫不喚醒率,表示說了多少次喚醒詞卻沒被喚醒次數的比例。
2, ROC曲線 / EER
ROC(receiver operating characteristic curve)曲線是“受試者工作特征”曲線,是一種已經被廣泛接受的系統評價指標,它反映了識別算法在不同閾值上,FRR(拒識率)和FAR(誤識率)的平衡關系。ROC曲線中橫坐標是FRR(拒識率),縱坐標是FAR(誤識率),等錯誤率(EER Equal-Error Rate)是拒識率和誤識率的一個平衡點,等錯誤率能夠取到的值越低,表示算法的性能越好。
上圖是ROC曲線的示意圖,我從語音喚醒的場景來解釋。從上圖看出FRR低/FAR高時,即拒識率低、誤識率高時,智能音箱很容易被喚醒,即很好用。FRR高/FAR低時,即拒識率高、誤識率低時,智能音箱不容易被喚醒,即不太方便用,但是很難誤喚醒,安全性很高。真正使用時要找到一個FAR和FRR的平衡點(EER),也就是不那么難喚醒,方便使用,同時也不會有高的誤喚醒,保證安全。