在預測任務中,給定樣例集
D={(x1,y1),(x2,y2),…,(xm,ym)},其中
yi是示例
xi的真實標記,
m表示樣例數量,
m+、
m−分別表示正例和反例的數量。
迴歸任務
均方誤差(mean squared error)
E(f;D)=m1i=0∑m(f(xi)−yi)2
分類任務
錯誤率
分類錯誤的樣本數佔總樣本數的比例。
E(f;D)=m1i=0∑mI(f(xi)̸=yi)
精度
分類正確的樣本數佔總樣本數的比例。
acc(f;D)=m1i=0∑mI(f(xi)=yi)=1−E(f;D)
查準率、查全率和P-R曲線
對於二分類問題,可將樣例根據其真實類別與學習器預測類別的組合劃分爲真正例(ture positive)、假正例(false positive)、真反例(ture negative)、假反例(false negative)四種情形,分別用
TP、
FP、
TN、
FN表示,這4者之和爲樣例總數。分類結果的混淆矩陣(confusion matrix)如下表所示:
查準率(precision):
P=TP+FPTP
查全率(recall):
又稱召回率,所有真正例中有多少被查出來了。
R=TP+FNTP
查準率和查全率是一對矛盾的度量,一般來說,查準率高時,查全率往往較低,反之亦然。例如,將所有的樣例都選上,則查全率爲1,查準率較低,相反,爲避免選出假正例,即提高查準率,只挑選最有把握的樣例,則會漏掉很多真正例,使得查全率較低。
P-R曲線:
利用學習器預測結果(樣例爲正例的概率)對所有樣例進行排序,排在前面的是學習器認爲最可能是正例的樣本。按照這個順序逐個將樣本選出作爲正例進行預測,則每次可以計算一組查準率和查全率,將查全率作爲橫軸,查準率作爲縱軸哦,可以繪製得到P-R曲線,如下圖所示。
圖中曲線是近似處理過的,真實的P-R曲線肯定會過(0,0)點,在一開始,所有樣例都判爲反例時,
TP=0,則
P和
R均爲0;隨着逐個將學習器認爲是正例概率最大的樣例預測爲正例,
FP接近於0,
FN非常的,P會接近1,R會接近0(
m足夠大);可以預見,逐個將樣本預測爲正例,被預測爲正例的樣例逐個增多,R必然單調增大,同時,P會曲折下降;最後,當所有真正例都被預測爲正例時,
R=1,此時
P較小並逐漸接近於
mm+。
P-R曲線模型性能判斷規則:
F1度量:
F1=P+R2×P×R=m+TP−TN2×TP
F1是基於查準率
P與查全率
R的調和平均,即
F11=21(P1+R1)
Fβ度量:
Fβ=(β2×P)+R(1+β2)×P×R
其中,
β(>0)代表了查準率
P和查全率
R的相對重要性,
β=1時退化爲標準的
F1;
β>1時查全率有更大影響;
β<1時查準率有更大影響。
Fβ是基於查準率
P與查全率
R的加權調和平均,即
Fβ1=1+β21(P1+Rβ2)
Fβ1=1+β21P1+1+β2β2R1
對於
n分類問題有以下幾個評價指標:
宏查準率:
macro−P=n1i=1∑nPi
其中,
Pi表示學習器對第
i類樣例預測結果的查準率。
宏查全率:
macro−R=n1i=1∑nRi
其中,
Ri表示學習器對第
i類樣例預測結果的查全率。
宏
F1:
macro−F1=macro−P+macro−R2×macro−P×macro−R
微查準率:
micro−P=TP+FPTP
其中,
TP、
FP爲學習器對各類樣例預測結果的真正例和假正例的平均數量。
微查全率:
micro−R=TP+FNTP
其中,
TP、
FN爲學習器對各類樣例預測結果的真正例和假反例的平均數量。
微
F1:
micro−F1=micro−P+micro−R2×micro−P×micro−R
ROC與AUC
真正例率:
TPR=TP+FNTP
真正例率(True Positive Rate,TPR),表示真正例在所有正例中的比例。
真正例率與查準率
R相等。
假正例率:
FPR=TN+FPFP
假正例率(False Positive Rate,FPR),表示假正例在所有反例中的比例。
ROC曲線:
與繪製P-R曲線類似,利用學習器預測結果(樣例爲正例的概率)對所有樣例進行排序,排在前面的是學習器認爲最可能是正例的樣本。按照這個順序逐個將樣本選出作爲正例進行預測,則每次可以計算一組真正率和假正率,將假正例率作爲橫軸,真正例率作爲縱軸,可以得到ROC曲線,如下圖所示:
如上圖所示,(a)爲ROC曲線示意圖,對角線(
TPR=FPR)對應「隨機猜想」模型,(0,1)點對應於將所有正例排在所有反例之前的「理想模型」。
實際情況中,樣本是有限個,只能繪製處(b)中所示的近似ROC曲線,在一開始,所有樣例都判爲反例時,
TP=FP=0,則
TPR=FPR=0;隨着逐個將學習器認爲是正例概率最大的樣例預測爲正例,
TPR和
FPR分母不變,即正例和反例的各自的總數不變,
TP和
FP均逐漸增大;最後,當學習器將所有樣例都判爲正例時,所有的正例均被判爲了真正例,所有的反例均被判爲了假正例,此時
TPR=FPR=1。
ROC曲線模型性能判斷規則:
- 若A曲線包住B曲線(無交叉),則模型A優於模型B;
- 對於曲線有交叉的模型,ROC曲線下面積,即AUC(Area Under ROC Curve)大者性能更好;
AUC:
AUC(Area Under ROC Curve),即ROC曲線下面積。
假定ROC曲線座標爲
{(x1,y1),(x2,y2),…,(xm,ym)},其中,
x1=y1=0,xm=ym=1,AUC可估算爲:
AUC=21i=1∑m(xi+1−xi)⋅(yi+yi+1)
可以看出,AUC考慮的是樣本預測的排序質量,因此它與排序誤差有緊密聯繫。
排序「損失」(loss):
ℓrank=m+m−1x+∈D+∑x−∈D−∑(I(f(x+)<f(x−))+21I(f(x+)=f(x−)))
考慮每一對正、反例,若正例的預測值小於反例,則記一個「罰分」,若相等,則記0.5罰分。可以看出,
ℓrank對應的是ROC曲線之上的面積,因此有
AUC=1−ℓrank
代價敏感錯誤率與代價曲線
對於不同分類分錯造成的損失往往不同,例如,將醫生病患錯誤診爲無病,將正常人誤診爲病患,顯然將病患判誤診爲無病的後果更嚴重,可能使病人喪失了最佳的治療時機。因此,可以爲錯誤賦予「非均等代價」(unequal cost)。
二分類任務的「代價矩陣」(cost matrix)如下表所示,其中,
costij表示將第
i類樣本預測爲第
j類樣本的代價。一般來說,
costii=0。
「代價敏感」(cost-sensitive)錯誤率:
E(f;D;cost)=m1(xi∈D+∑I(f(xi)̸=yi)×cost01+xi∈D−∑I(f(xi)̸=yi)×cost10)
代價曲線:
在非均等代價下,「代價曲線」(cost curve)可以直接反映出學習器的期望總體代價,而ROC曲線不能。代價曲線的橫軸爲正例概率代價,縱軸爲歸一化代價,公式及示意圖如下所示。
正例概率代價:
P(+)cost=p×cost01+(1−p)×cost10p×cost01
歸一化代價:
costnorm=p×cost01+(1−p)×cost10FNR×p×cost01+FPR×(1−p)×cost10
其中,
FNR爲假反例率,
FPR爲假正例率,
FNR=FN+TPFN=1−TPR
代價曲線的繪製比較簡單,ROC曲線上的每一點都對應代價曲線中的一個線段,設ROC曲線上點座標爲
(FPR,TPR),可以計算得到
FNR,然後在代價平面繪製一條從
(0,FPR)到
(1,FNR)的線段,線段下的面積即表示了該條件下的期望總體代價,如此繪製所有線段,取所有線段下界的交集,圍城的面積即在所有條件下學習器的總往總體代價,如下圖所示。
代價曲線模型性能判斷規則:
- 若A曲線包住B曲線(無交叉),則B曲線性能優於A曲線;
- 對於曲線有交叉的模型,代價曲線下面積,即期望總體代價小者性能更好;