在處理深度學習分類問題時,會用到一些評價指標,如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%。在語音喚醒場景下,召回率也叫喚醒率,表示說了多少次喚醒詞被喚醒次數的比例。
3,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%。在語音喚醒場景下,錯誤拒絕率也叫不喚醒率,表示說了多少次喚醒詞卻沒被喚醒次數的比例。
4,roc曲線 / eer
roc(receiver operating characteristic curve)曲線是「受試者工作特徵」曲線,是一種已經被廣泛接受的系統評價指標,它反映了識別演算法在不同閾值上,frr(拒識率)和far(誤識率)的平衡關係。roc曲線中橫座標是frr(拒識率),縱座標是far(誤識率),等錯誤率(eer equal-error rate)是拒識率和誤識率的乙個平衡點,等錯誤率能夠取到的值越低,表示演算法的效能越好。
上圖是roc曲線的示意圖,我以語音喚醒的例子來解釋。從上圖看出frr低/far高時,即拒識率低、誤識率高時,智慧型音箱很容易被喚醒,即很好用。frr高/far低時,即拒識率高、誤識率低時,智慧型音箱不容易被喚醒,即不太方便用,但是很難誤喚醒,安全性很高。真正使用時要找到乙個far和frr的平衡點(eer),也就是不那麼難喚醒,方便使用,同時也不會有高的誤喚醒,保證安全。
分類問題中 one hot向量格式
one hot向量將類別變數轉換為機器學習演算法易於利用的一種形式的過程,這個向量的表示為一項屬性的特徵向量,也就是同一時間只有乙個啟用點 不為0 這個向量只有乙個特徵是不為0的,其他都是0,特別稀疏。舉個例子 乙個特徵 性別 性別有 男性 女性 這個特徵有兩個特徵值,也只有兩個特徵值,如果這個特徵...
深度學習模型訓練 分類問題。
模型分類問題主要包含二分類和多分類兩種場景。1 二分類為什麼會採用sigmoid啟用函式 模型在實際輸出時值可能不在 0,1 區間,我們需要把模型的輸出對映到 0,1 區間。二分類問題需要採用邏輯回歸的思路解決問題。原因是邏輯回歸服從0 1分布,即 p y 1 x p x p y 0 x 1 p x...
分類問題中效能評價指標
分類問題中會出現多種演算法,那麼自己如何知道演算法效能的優劣呢,這就需要評價演算法效能好壞的指標,這裡介紹幾個常用的指標.1.準確率 評價分類問題的效能的指標一般是分類準確率,其定義是對於給定的資料,分類正確的樣本數佔總樣本數的比例。accuracy 正確的樣本數 所有樣本數。但是這一指標在不均衡的...