分類和迴歸模型常用的性能評價指標

在預測任務中,給定樣例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x m , y m ) } D=\lbrace(x_1,y_1),(x_2,y_2),\ldots,(x_m,y_m)\rbrace ,其中 y i y_i 是示例 x i x_i 的真實標記, m m 表示樣例數量, m + m^+ m m^- 分別表示正例和反例的數量。

迴歸任務

均方誤差(mean squared error)

E ( f ; D ) = 1 m i = 0 m ( f ( x i ) y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=0}^{m}{(f(x_i)-y_i)^2}

分類任務

錯誤率

分類錯誤的樣本數佔總樣本數的比例。
E ( f ; D ) = 1 m i = 0 m I ( f ( x i ) y i ) E(f;D)=\frac{1}{m}\sum_{i=0}^{m}{ \mathbb{I} (f(x_i)\neq y_i)}

精度

分類正確的樣本數佔總樣本數的比例。
a c c ( f ; D ) = 1 m i = 0 m I ( f ( x i ) = y i ) = 1 E ( f ; D ) acc(f;D)=\frac{1}{m}\sum_{i=0}^{m}{ \mathbb{I} (f(x_i)= y_i)}=1-E(f;D)

查準率、查全率和P-R曲線

對於二分類問題,可將樣例根據其真實類別與學習器預測類別的組合劃分爲真正例(ture positive)、假正例(false positive)、真反例(ture negative)、假反例(false negative)四種情形,分別用 T P TP F P FP T N TN F N FN 表示,這4者之和爲樣例總數。分類結果的混淆矩陣(confusion matrix)如下表所示:

查準率(precision):
P = T P T P + F P P=\frac{TP}{TP+FP}
查全率(recall):

又稱召回率,所有真正例中有多少被查出來了。
R = T P T P + F N R=\frac{TP}{TP+FN}
查準率和查全率是一對矛盾的度量,一般來說,查準率高時,查全率往往較低,反之亦然。例如,將所有的樣例都選上,則查全率爲1,查準率較低,相反,爲避免選出假正例,即提高查準率,只挑選最有把握的樣例,則會漏掉很多真正例,使得查全率較低。

P-R曲線

利用學習器預測結果(樣例爲正例的概率)對所有樣例進行排序,排在前面的是學習器認爲最可能是正例的樣本。按照這個順序逐個將樣本選出作爲正例進行預測,則每次可以計算一組查準率和查全率,將查全率作爲橫軸,查準率作爲縱軸哦,可以繪製得到P-R曲線,如下圖所示。

img

圖中曲線是近似處理過的,真實的P-R曲線肯定會過(0,0)點,在一開始,所有樣例都判爲反例時, T P = 0 TP=0 ,則 P P R R 均爲0;隨着逐個將學習器認爲是正例概率最大的樣例預測爲正例, F P FP 接近於0, F N FN 非常的,P會接近1,R會接近0( m m 足夠大);可以預見,逐個將樣本預測爲正例,被預測爲正例的樣例逐個增多,R必然單調增大,同時,P會曲折下降;最後,當所有真正例都被預測爲正例時, R = 1 R=1 ,此時 P P 較小並逐漸接近於 m + m \frac{m^+}{m}

P-R曲線模型性能判斷規則

  • 若A曲線包住B曲線(無交叉),則模型A優於模型B;

  • 對於曲線有交叉的模型,P-R曲線下面積大者性能更好;

    面積計算複雜,可通過判斷平衡點來替代;

    平衡點(P=R處)處值大者性能更好;

F 1 \bf F_1 度量
F 1 = 2 × P × R P + R = 2 × T P m + T P T N F1=\frac{2\times P\times R}{P+R}=\frac{2\times TP}{m+TP-TN}
F 1 F_1 是基於查準率 P P 與查全率 R R 的調和平均,即
1 F 1 = 1 2 ( 1 P + 1 R ) \frac{1}{F_1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R})

F β \bf F_\beta 度量
F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_\beta=\frac{(1+\beta^2)\times P\times R}{(\beta^2\times P)+R}
其中, β ( > 0 ) \beta(>0) 代表了查準率 P P 和查全率 R R 的相對重要性, β = 1 \beta=1 時退化爲標準的 F 1 F_1 β > 1 \beta>1 時查全率有更大影響; β < 1 \beta<1 時查準率有更大影響。

F β F_\beta 是基於查準率 P P 與查全率 R R 的加權調和平均,即
1 F β = 1 1 + β 2 ( 1 P + β 2 R ) \frac{1}{F_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R})

1 F β = 1 1 + β 2 1 P + β 2 1 + β 2 1 R \frac{1}{F_\beta}=\frac{1}{1+\beta^2}\frac{1}{P}+\frac{\beta^2}{1+\beta^2}\frac{1}{R}

對於 n n 分類問題有以下幾個評價指標:

宏查準率
m a c r o P = 1 n i = 1 n P i macro-P=\frac{1}{n}\sum_{i=1}^{n}{P_i}
其中, P i P_i 表示學習器對第 i i 類樣例預測結果的查準率。

宏查全率
m a c r o R = 1 n i = 1 n R i macro-R=\frac{1}{n}\sum_{i=1}^{n}{R_i}
其中, R i R_i 表示學習器對第 i i 類樣例預測結果的查全率。

F 1 \bf F_1
m a c r o F 1 = 2 × m a c r o P × m a c r o R m a c r o P + m a c r o R macro-F_1=\frac{2\times macro-P\times macro-R}{macro-P+macro-R}
微查準率
m i c r o P = T P T P + F P micro-P=\frac{\overline{TP}}{\overline{TP}+\overline{FP}}
其中, T P \overline{TP} F P \overline{FP} 爲學習器對各類樣例預測結果的真正例和假正例的平均數量。

微查全率
m i c r o R = T P T P + F N micro-R=\frac{\overline{TP}}{\overline{TP}+\overline{FN}}
其中, T P \overline{TP} F N \overline{FN} 爲學習器對各類樣例預測結果的真正例和假反例的平均數量。

F 1 \bf F_1
m i c r o F 1 = 2 × m i c r o P × m i c r o R m i c r o P + m i c r o R micro-F_1=\frac{2\times micro-P\times micro-R}{micro-P+micro-R}

ROC與AUC

真正例率
T P R = T P T P + F N TPR=\frac{TP}{TP+FN}
真正例率(True Positive Rate,TPR),表示真正例在所有正例中的比例。

真正例率與查準率 R R 相等。

假正例率
F P R = F P T N + F P FPR=\frac{FP}{TN+FP}
假正例率(False Positive Rate,FPR),表示假正例在所有反例中的比例。

ROC曲線

與繪製P-R曲線類似,利用學習器預測結果(樣例爲正例的概率)對所有樣例進行排序,排在前面的是學習器認爲最可能是正例的樣本。按照這個順序逐個將樣本選出作爲正例進行預測,則每次可以計算一組真正率和假正率,將假正例率作爲橫軸,真正例率作爲縱軸,可以得到ROC曲線,如下圖所示:

img

如上圖所示,(a)爲ROC曲線示意圖,對角線( T P R = F P R TPR=FPR )對應「隨機猜想」模型,(0,1)點對應於將所有正例排在所有反例之前的「理想模型」。

實際情況中,樣本是有限個,只能繪製處(b)中所示的近似ROC曲線,在一開始,所有樣例都判爲反例時, T P = F P = 0 TP=FP=0 ,則 T P R = F P R = 0 TPR=FPR=0 ;隨着逐個將學習器認爲是正例概率最大的樣例預測爲正例, T P R TPR F P R FPR 分母不變,即正例和反例的各自的總數不變, T P TP F P FP 均逐漸增大;最後,當學習器將所有樣例都判爲正例時,所有的正例均被判爲了真正例,所有的反例均被判爲了假正例,此時 T P R = F P R = 1 TPR=FPR=1

ROC曲線模型性能判斷規則

  • 若A曲線包住B曲線(無交叉),則模型A優於模型B;
  • 對於曲線有交叉的模型,ROC曲線下面積,即AUC(Area Under ROC Curve)大者性能更好;

AUC

AUC(Area Under ROC Curve),即ROC曲線下面積。

假定ROC曲線座標爲 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x m , y m ) } \lbrace (x_1,y_1),(x_2,y_2),\ldots,(x_m,y_m) \rbrace ,其中, x 1 = y 1 = 0 x m = y m = 1 x_1=y_1=0,x_m=y_m=1 ,AUC可估算爲:
A U C = 1 2 i = 1 m ( x i + 1 x i ) ( y i + y i + 1 ) AUC=\frac{1}{2}\sum_{i=1}^{m}{(x_{i+1}-x_i)\cdot(y_i+y_{i+1})}
可以看出,AUC考慮的是樣本預測的排序質量,因此它與排序誤差有緊密聯繫。

排序「損失」(loss):
r a n k = 1 m + m x + D + x D ( I ( f ( x + ) < f ( x ) ) + 1 2 I ( f ( x + ) = f ( x ) ) ) \ell_{rank}=\frac{1}{m^+m^-}\sum_{x^+\in D^+}{\sum_{x^-\in D^-}{\left(\mathbb{I}\left(f(x^+)<f(x^-)\right)+\frac{1}{2}\mathbb{I}\left(f(x^+)=f(x^-)\right)\right)}}
考慮每一對正、反例,若正例的預測值小於反例,則記一個「罰分」,若相等,則記0.5罰分。可以看出, r a n k \ell_{rank} 對應的是ROC曲線之上的面積,因此有
A U C = 1 r a n k AUC=1-\ell_{rank}

代價敏感錯誤率與代價曲線

對於不同分類分錯造成的損失往往不同,例如,將醫生病患錯誤診爲無病,將正常人誤診爲病患,顯然將病患判誤診爲無病的後果更嚴重,可能使病人喪失了最佳的治療時機。因此,可以爲錯誤賦予「非均等代價」(unequal cost)。

二分類任務的「代價矩陣」(cost matrix)如下表所示,其中, c o s t i j cost_{ij} 表示將第 i i 類樣本預測爲第 j j 類樣本的代價。一般來說, c o s t i i = 0 cost_{ii}=0

img

「代價敏感」(cost-sensitive)錯誤率
E ( f ; D ; c o s t ) = 1 m ( x i D + I ( f ( x i ) y i ) × c o s t 01 + x i D I ( f ( x i ) y i ) × c o s t 10 ) E(f;D;cost)=\frac{1}{m}\left(\sum_{x_i\in D^+}{\mathbb{I}\left(f(x_i)\neq y_i \right)\times cost_{01}} + \sum_{x_i\in D^-}{\mathbb{I}\left(f(x_i)\neq y_i \right)\times cost_{10}}\right)
代價曲線

在非均等代價下,「代價曲線」(cost curve)可以直接反映出學習器的期望總體代價,而ROC曲線不能。代價曲線的橫軸爲正例概率代價,縱軸爲歸一化代價,公式及示意圖如下所示。

正例概率代價:
P ( + ) c o s t = p × c o s t 01 p × c o s t 01 + ( 1 p ) × c o s t 10 P(+)cost=\frac{p\times cost_{01}}{p\times cost_{01}+(1-p)\times cost_{10}}
歸一化代價:
c o s t n o r m = F N R × p × c o s t 01 + F P R × ( 1 p ) × c o s t 10 p × c o s t 01 + ( 1 p ) × c o s t 10 cost_{norm}=\frac{FNR\times p \times cost_{01}+ FPR\times(1-p)\times cost_{10}}{p\times cost_{01}+(1-p)\times cost_{10}}
其中, F N R FNR 爲假反例率, F P R FPR 爲假正例率,
F N R = F N F N + T P = 1 T P R FNR=\frac{FN}{FN+TP}=1-TPR
代價曲線的繪製比較簡單,ROC曲線上的每一點都對應代價曲線中的一個線段,設ROC曲線上點座標爲 ( F P R , T P R ) (FPR,TPR) ,可以計算得到 F N R FNR ,然後在代價平面繪製一條從 ( 0 , F P R ) (0,FPR) ( 1 , F N R ) (1,FNR) 的線段,線段下的面積即表示了該條件下的期望總體代價,如此繪製所有線段,取所有線段下界的交集,圍城的面積即在所有條件下學習器的總往總體代價,如下圖所示。

img

代價曲線模型性能判斷規則

  • 若A曲線包住B曲線(無交叉),則B曲線性能優於A曲線;
  • 對於曲線有交叉的模型,代價曲線下面積,即期望總體代價小者性能更好;