機器學習-性能度量
模型評估是對學習器泛化能力有效可行的實驗估計方法。而性能度量是衡量模型泛化能力的評價標準。性能度量反應了任務需求,在對比不同模型能力時,使用不同的性能度量往往會導致不同的評估結果。模型的好壞不僅取決於算法和數據,還有任務需求。
1.錯誤率與精度
最常用的兩種性能度量,對於樣例集D={(x1,y1), (x2,y2), ..., (xm,ym)}。分類錯誤率定義為
精度則定義為
更一般的,對於數據分布D和概率密度函數p(.),錯誤率和精度可以分別描述為
2.查準率、查全率與F1
錯誤率僅適用發生分類錯誤的樣本,而對於樣本集中數據比例需要用查準率(準確率)和查全率(召回率)滿足此類需求。
對於二分類問題,樣例可根據其真實類別和學習器預測類別組合劃分為
真正例-TP(true positive)、假正例-FP(false positive)、真反例-TN(true negative)、假反例-FN(false negative)。分類結果的混淆矩陣如下
查準率P=TP/(TP+FP); 查全率R=TP/(TP+FN)
P、R是一對矛盾的度量,很少學習任務會使查準率和查全率都高。根據學習器的預測結果進行排序,逐一將每個樣本作為正例預測,按照是正例的可能性降序排序,每次計算出當前的P、R值,以查準率P為縱軸,查全率R為橫軸生成“P-R曲線”
A曲線包住C曲線,可斷言學習器A優於學習器C。對於B、C學習器,可以采用積分面積大小或者平衡點(Break-Even Point)來度量,即P=R時與P-R曲線交點,圖中C的BEP小於B的BEP,可認為B優於C。但更常用的度量是F1度量,
F1 = (2*P*R)/(P+R)= (2*TP)/(樣例總數+TP-TN),
實際中,往往對查準率和查全率的重視程度不同,F1的一般度量形式Fβ能表達出對P、R的不同偏好,
Fβ = ((1+β²)*P*R) /((β²*P)+R),
0<β<1查準率P有更大湧向,β=1退化為F1,β>1查全率R有更大影響
對於多個二分類混淆矩陣,如在n個二分類混淆矩陣的基礎上考察P、R:
宏考察:先計算各各矩陣的(Pi,Ri),取平均值得到宏-P(macro-P)、宏-R(macro-R)、宏-F1(macro-F1)。
微考察:將混淆矩陣的各元素平均得到avr(TP,FP,TN,FN),基於元素平均值得到微-P(micro-P)、微-R(micro-R)、微-F1(micro-F1)。
3.ROC和AUC
ROC:Reciever Operating Characteristic-受試者工作特征曲線。
同P-R曲線類似,也是逐一對每個樣本是正例的可能性降序排序,縱軸為真正例率TP Rate(TPR),橫軸為假正例率FP Rate(FPR),兩者分別定義為
TPR=TP/(TP+FP); FPR=FP/(FP+TN)
度量標準同P-R曲線度量標準類似,其中ROC曲線積分面積就是AUC,即比較AUC大小來判斷學習器優劣。形式化的看,AUC考慮的是樣本預測的排序質量,因此與排序誤差有緊密聯系。值得註意的是,現實測試往往不是光滑的ROC曲線,而是離散的值。
4.代價敏感錯誤率和代價曲線
為權衡不同錯誤所造成的不同損失,我們為錯誤賦予一個“非均等代價(unequal cost)”,非均等代價下,學習任務可根據領域知識設定一個“代價矩陣”
一般來說cost(ii)=0,cost(ij)指將第i類預測成第j類需要付出的代價。對於這樣的不均等代價,我們希望總體代價能夠最小,而不是簡單的最小化錯誤次數。
機器學習-性能度量