1. 程式人生 > >【錯誤率、精度、查準率、查全率和F1度量】詳細介紹

【錯誤率、精度、查準率、查全率和F1度量】詳細介紹

對公式(1)解釋:統計分類器預測出來的結果與真實結果不相同的個數,然後除以總的樣例集D的個數。

精度(Accuracy):是分類正確的樣本數佔樣本總數的比例。對樣例集D,精度計算公式如2所示。

注意:這裡的分類正確的樣本數指的不僅是正例分類正確的個數還有反例分類正確的個數。


對公式(2)的解釋:先統計分類正確的樣本數,然後除以總的樣例集D的個數。

二、查準率、查全率

(1)查準率、查全率出現的原因:

情景一:

錯誤率和精度雖然常用,但是並不能滿足所有任務需求。以西瓜問題為例,假定瓜農拉來一車西瓜,我們用訓練好的模型對這些西瓜進行判別,顯然,錯誤率衡量了有多少比例的瓜被判別錯誤。但是若我們關心的是“挑出的西瓜中有多少比例是好瓜”,或者“所有好瓜中有多少比例被挑了出來”,那麼錯誤率顯然就不夠用了,這時需要使用其他的效能度量。

情景二:

類似的需求在資訊檢索、Web搜尋等應用中經常出現,例如在資訊檢索中,我們經常會關心“檢索出的資訊中有多少比例是使用者感興趣的”,“使用者感興趣的資訊中有多少被檢索出來了”。

“查準率”與“查全率”是更為合適於此類需求的效能度量。

(2)什麼是查準率和查全率

對於二分類問題,可將樣例根據其真實類別與學習器預測類別的組合劃分為真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四種情形,令TP、FP、TN、FN分別表示其對應的樣例數,則顯然有TP+FP+TN+FN=樣例總數。分類結果的“混淆矩陣”(confusion matrix)如表1所示。

  表1:分類結果混淆矩陣

真實情況

預測結果

正例

反例

正例

TP(真正例)

FN(假反例)

反例

FP(假正例)

TN(真反例)

查準率(Precision),又叫準確率,縮寫表示用P。查準率是針對我們預測結果而言的,它表示的是預測為正的樣例中有多少是真正的正樣例。定義公式如3所示。



注意:這裡大家有一個容易混淆的誤區。精度(Accuracy)和準確率(Precision)表示的是不同的概念,計算方法也不同。所以,大家在看paper的時候,要特別注意這些細節。

精確度(Accuracy)縮寫表示用A。精確度則是分類正確的樣本數佔樣本總數的比例。Accuracy反應了分類器對整個樣本的判定能力(即能將正的判定為正的,負的判定為負的)。

定義公式如4所示。


查全率(Recall),又叫召回率,縮寫表示用R。查全率是針對我們原來的樣本而言的,它表示的是樣本中的正例有多少被預測正確。定義公式如5所示。


注意:大家可以比較一下查準率和查全率的計算公式。其實就是分母不同,查準率的分母是預測為正的樣本數。查全率的分母是原樣本的所有正樣例數。

(3)查準率和查全率之間的矛盾

查準率和查全率是一對矛盾的度量。一般來說,查準率高時,查全率往往偏低;而查全率高時,查準率往往偏低。

思考一個問題:為什麼會有這樣的情況呢?

答案:我們可以這樣理解,在一個分類器中,你想要更高的查準率,那麼你的閾值要設定的更高,只有這樣才能有較高的把握確定我們預測是正例是真正例。一旦我們把閾值設定高了,那我們預測出正例的樣本數就少了,那真正例數就更少了,查不全所有的正樣例。

舉個例子來理解一下吧!例如,若希望將好瓜儘可能多地挑選出來,則可通過增加選瓜的數量來實現,如果將所有的西瓜都選上,那麼所有的好瓜也必然都選上了,但這樣查準率就會較低;若希望選出的瓜中好瓜比例儘可能高,則可只挑選最有把握的瓜,但這樣就難免會漏掉不少好瓜,使得查全率較低。通常只有在一些簡單任務中,才可能使查全率和查準率都很高。


                                             三、P-R曲線、平衡點和F1度量

(1)P-R曲線

在很多情形下,我們可根據學習器的預測結果對樣例進行排序,排在前面的是學習器認為“最可能”是正例的樣本,排在最後的是學習器認為“最不可能”是正例的樣本。按此順序設定不同的閾值,逐個把樣本作為正例進行預測,則每次可以計算出當前的查準率、查全率。查準率為縱軸查全率為橫軸作圖,就得到了查準率-查全率曲線,簡稱“P-R曲線”,顯示該曲線的圖稱為“P-R圖”。圖1給出了一個示意圖。


圖1:P-R曲線與平衡點示意圖

P-R圖直觀地顯示出學習器在樣本總體上的查全率、查準率。在進行比較時,若一個學習器的P-R曲線被另一個學習器的曲線完全“包住”,則可斷言後者的效能優於前者,例如圖1中學習器A的效能優於學習器C;如果兩個學習器的P-R曲線發生了交叉,例如圖1中的A和B,則難以一般性地斷言兩者孰優孰劣,只能在具體的查準率或查全率條件下進行比較。然而,在很多情形下,人們往往仍然希望把學習器A與B比出個高低。這時,一個比較合理的判斷依據是比較P-R曲線下面積的大小,它在一定程度上表徵了學習器在查準率和查全率上取得相對“雙高”的比例。但這個值不太容易估算,因此,人們設計了一些綜合考慮查準率、查全率的效能度量,比如BEP度量、F1度量。

(2)平衡點(BEP)

“平衡點”(Break-Even-Point,簡稱BEP)就是這樣一個度量,它是“查準率=查全率”時的取值,例如圖1中學習器C的BEP是0.64,而基於BEP的比較,可認為學習器A優於B。

(3)F1度量

BEP曲線還是過於簡化了些,更常用的是F1度量。我們先來談談F1度量的由來是加權調和平均,計算公式如6所示。


加權調和平均與算術平均和幾何平均相比,調和平均更重視較小值。當β=1,即F1是基於查準率與查全率的調和平均定義的,公式如7所示。


我們把公式7求倒數,即得F1度量公式,即公式8所示。


在一些應用中,對查準率和查全率的重視程度有所不同。例如在商品推薦系統中,為了儘可能少打擾使用者,更希望推薦內容確實是使用者感興趣的,此時查準率更重要;而在逃犯資訊檢索系統中,更希望儘可能少漏掉逃犯,此時查全率更重要。F1度量的一般形式是,能讓我們表達出對查準率/查全率的不同偏好,它定義為公式9所示。


其中,β>0度量了查全率對查準率的相對重要性。β=1時,退化為標準的F1;β>1時查全率有更大影響;β<1時,查準率有更大影響。

Reference:《機器學習》周志華著。