1. 程式人生 > >【機器學習-西瓜書】二、效能度量:召回率;P-R曲線;F1值;ROC;AUC

【機器學習-西瓜書】二、效能度量:召回率;P-R曲線;F1值;ROC;AUC

關鍵詞:準確率(查準率,precision);召回率(查全率,recall);P-R曲線,平衡點(Break-Even Point, BEP);F1值,F值;ROC(Receiver Operating Characteristic,受試者工作特徵);AUC(Area Under ROC Curve);非均等代價(unequal cost)

推薦閱讀:召回率(查全率,recall);F1值,F值

2.3效能度量

關鍵詞:準確率(查準率,precision);召回率(查全率,recall)
對於分類問題,通常說的“準確率”指的是accuracy,是精度。而真正的準確率應該是針對某一個類別而言的。以下針對二分類而言(正例與反例), precision

是學習器判斷為正例的那堆中,判得正確的佔多少, recall 是實際上有那麼多正例,學習器找回了多少。

具體可將樣例根據真是類別與學習器預測類別的組合劃分為真正例(true postive),假正例(false postive),真反例(true negative),假反例(false negative),顯然TP + FP +TN +FN = 樣例總數。分類結果的混淆矩陣(confusion matrix)如下表:

這裡寫圖片描述

正確率(precision) P=TPTP+FP
召回率(recall) P=TPTP+FN
可以看到,分子是一樣的,分母不同,FP 和FN 是矛盾的,一個高了另外一個就低了。

關鍵詞:P-R曲線,平衡點(Break-Even Point, BEP)

P-R曲線用來衡量分類器效能的優劣,橫軸為recall ,縱軸為precision,P-R曲線是如何衡量分類器效能的呢?
如圖,有三個分類器,A,B,C,若一個學習器的P-R曲線完全被另外一個學習器完全”包住”,則說後則效能優於前者。 如學習器A優於C,但是有交叉時,就要用平衡點(BEP)來衡量。平衡點即precision 等於 recall 時的值。那麼可以認為A優於B。

這裡寫圖片描述

關鍵詞:F1值,F值。

採用BEP還是過於簡單。實際應用中更常見的是用F值來衡量。
一般形式如下 F=(1+β2)PR

β2P+R F1 是基於正確率和召回率的調和平均定義的,即β=1,正確率,召回率同等重要,F1值還可以寫成這個形式(在 吳恩達 的課程上看到的)F1=21P+1R

而有所偏好的情況下,可根據β來調整。當β大於1時,召回率有更大影響,β小於1時,正確率有更大影響。

關鍵詞:ROC(Receiver Operating Characteristic,受試者工作特徵)。
源於二戰。ROC曲線 橫軸是假正例率(False Positive Rate,FPR),縱軸是真正例率(True Positive Rate,TPR)。
TPR=TPTP+FN
FPR=FPTN+FP
這裡寫圖片描述
(0,1)點是最理想狀況,通常ROC曲線不是光滑,而是像右邊這樣的。

關鍵詞:AUC(Area Under ROC Curve)。
當兩條ROC相交時,就採用AUC來衡量學習器。AUC越大,學習器效能越好。

關鍵詞:非均等代價(unequal cost)。
現實任務中會遇到這樣的情況:不同型別的錯誤所造成的後果不同。例如,錯誤地把患者診斷為健康人與錯誤地把健康人診斷為患者,其“代價”是不一樣的。因此可以根據具體問題來設計“代價”。