1. 程式人生 > >機器學習-性能度量

機器學習-性能度量

point 基礎 數據 定義 cost 不同的 macro 劃分 enter

模型評估是對學習器泛化能力有效可行的實驗估計方法。而性能度量是衡量模型泛化能力的評價標準。性能度量反應了任務需求,在對比不同模型能力時,使用不同的性能度量往往會導致不同的評估結果。模型的好壞不僅取決於算法和數據,還有任務需求。

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類需要付出的代價。對於這樣的不均等代價,我們希望總體代價能夠最小,而不是簡單的最小化錯誤次數。

機器學習-性能度量