天天看點

受試者工作特性曲線ROC和曲線下面積AUC

受試者工作特性曲線 ROC

一個 ROC 曲線(receiver operating curve 受試者工作特性曲線)是一張圖,展示了一個分類模型在所有分類門檻值下的表現。這張圖描繪了兩個參數:

  • 真陽率 true positive rate
  • 假陽率 false positive rate

真陽率(TPR)是召回率的同義詞,是以定義為

TPR=TP/(TP+FN)

假陽率(FPR)定義為

FPR=FP/(FP+TN)

一條受試者工作特性曲線描繪了真陽率和假陽率在不同分類門檻值下的表現。降低分類門檻值會把更多的樣本标注為陽性,是以真陽率和假陽率同時增加。下圖展示了一條典型的 ROC 曲線。

受試者工作特性曲線ROC和曲線下面積AUC

為了計算 ROC 曲線中的點,我們需要在不同的分類門檻值下計算邏輯回歸模型,但是這效率低。幸運的是,有一個基于排序的高效的算法提供我們這些資訊,它叫做AUC。

AUC:Area under the ROC Curve,ROC曲線下面積

AUC是Area under the ROC Curve 的縮寫。這意味着AUC測量整個ROC曲線下從(0,0)到(1,1)二維區域的面積

受試者工作特性曲線ROC和曲線下面積AUC

線下面積曲線對所有可能的門檻值下的表現進行了集中測量。一種AUC的解釋是模型把随機陽性樣本排在随機陰性樣本前面的機率。例如,給定下面的樣本,從左往右邏輯回歸模型預測值依次遞增。

受試者工作特性曲線ROC和曲線下面積AUC

AUC代表随機一個正(綠)樣本排在随機一個負(紅)樣本右邊的可能性。

AUC的值介于0到1之間。一個模型預測全錯時,它的AUC等于0;一個模型預測全對時,它的AUC等于1.0。 ROC曲線下面積因如下兩點原因而受歡迎:

  • AUC具有規模不變性。它衡量樣本被排序的好壞,而不是它們的絕對值。
  • AUC具有分類門檻值不變性。它衡量模型預測的品質,跟分類門檻值的取值無關。

可是,這些原因帶有相應的注意事項。AUC的可用性在某些特定條件下可能會有限制。

  • 規模不變性可能不是我們想要的。例如,有時候我們真地需要數值可能性的輸出,而AUC不能提供這一點。
  • 分類門檻值不變性可能不是我們想要的。在假陰性代價和假陽性代價相差懸殊的情況下,減小某種分類錯誤就變得很重要。例如,在做垃圾郵件的檢測時,你傾向于優先減少假陽性(把正常郵件分類為垃圾郵件)數量(即使這會導緻假陰性(把垃圾郵件分類為正常郵件)數量顯著提高)。AUC不是一個适合這類優化的衡量标準。

這篇文章遵從  Creative Commons Attribution 3.0 License。它由部落客自 谷歌機器學習速成課程一節翻譯而來。

繼續閱讀