翻譯自:
難得的好文。
目前普遍認為接收器工作特性(Receiver Operating Characteristic,ROC)曲線下的面積 ——AUC 是評估分類模型準確性的標準方法。它避免了在閾值選擇過程中假定的主觀性,當連續的概率得到的分數被轉換為二分類標籤時,通過總結整體模型表現,其衡量模型區分正負樣本的性能優於通過閾值來判斷的其他方法(比如準確率、召回率等)。在這篇手稿中,我們回顧了這一度量的一些特點,並將其作為模型結果的準確性的比較度量,對其可靠性提出了質疑。我們不建議使用 AUC 出於五個原因:
(1) 忽略了預測的概率值和模型的擬合優度;(舉個例子,假設某個模型對 「1」 類樣本輸出的概率都是 0.51,對 「0」 類樣本輸出的概率均為 0.49,此時 AUC 是 1,但是二元交叉熵非常大,因為預測結果和真實標籤之間的誤差太大);根據 auc 的公式我們可以知道 auc 對於具體的概率值不敏感,它的計算過程事先會把概率值轉化為 rank 排序,所以 auc 永遠只對排序敏感對具體的概率指不敏感:
舉個例子,假設有 10000 個樣本,5000 個正樣本,5000 個負樣本,此時我們對 5000 個正樣本的預測概率為 0.2,對 5000 個負樣本的預測概率為 0.3,此時 auc 為 1,但是模型的擬合優度非常差,二元交叉熵慘不忍睹,看起來完全就是沒有擬合完全的情況。
(2) AUC 反應了太過籠統的信息。無法反應召回率、精確率等在實際業務中經常關心的指標
看了原文,大意就是,比如我們在安全監測中,對查全率非常看重,對查準率倒是無所謂,反正儘量把恐怖分子查出來,即使錯誤檢查了很多正常人也只是浪費點時間而已而恐怖事件相比不值一提,但是 auc 反應的是模型對正負樣本的區分能力,在一些情況下無法滿足建模的真實需求。
(3) 對 FPR 和 TPR 兩種錯誤的代價同等看待;這一點和第二點雷同,基本的意思就是當用戶對不同類別的預測準確率有不同程度的需求時,auc 不能很好的滿足這個需求。
(4) 它沒有給出模型誤差的空間分布信息(我們不知道模型預測錯誤的具體情況,比如哪一類預測的錯誤多,比如整體錯誤的分布情況等等,舉個例子,我們通過對不同類別錯誤預測的概率和真實標籤的誤差進行畫圖可以了解到模型對哪一類樣本預測錯誤率高對哪一類樣本預測的精度高,從而有針對的對特徵工程、樣本權重等進行優化,但是 auc 無法反應這類信息),AUC 只關注正負樣本之間的排序,並不關心正樣本內部,或者負樣本內部的排序,這樣我們也無法衡量樣本對於好壞客戶的好壞程度的刻畫能力;
(5) 最重要的一點,AUC 的 misleading 的問題:
如圖,modelA 和 modelB 的 ROC 曲線下面積 AUC 是相等的,但是兩個模型在不同區域的預測能力是不相同的,所以我們不能單純根據 AUC 的大小來判斷模型的好壞。