跳到主要内容

01 AUC:怎麼衡量「排序能力」

導航:← 00 全貌 | 目錄 | 02 bootstrap →

每題的解答都收合在題目下方:先自己作答,再點開「看解答」核對。

先認識這些詞​

這一課新出現的詞如下(前面課程已解釋過的詞不重複,完整列表見 術語表)。

  • 分數:模型給每題的一個數字,越大代表越可疑。
  • 正例:被攻擊的題(灌票題)。在 AUC 中,應該被排在前面的那一類。
  • 負例:沒有被攻擊的題(正常題)。
  • 實驗:用同一個隨機種子做一次「製造假灌票、再打分」。實驗次數(真實研究):Polis 10 次、Decentraland 12 次。每次實驗的假灌票位置不同,分數也不同。程式中的欄位名稱是 draw,我們舉例時寫成 r。論文中也稱為「抽樣」(注入抽樣)。
  • 網軍:一群協同行動的帳號,共同投票影響結果。
  • 誤報:正常的題目被誤判為可疑。

目標​

讀完這課,你能手算一個小例子的 AUC,並解釋 0.5 和 1.0 分別代表什麼。

白話​

偵測器會給每題一個分數,分數越高代表越像灌票。

AUC 問的是:隨便抓一題灌票、一題正常,偵測器把灌票題排在前面的機率是多少?

  • 1.0:每次都排對。
  • 0.5:跟亂猜一樣。
  • 0.0:每次都排反(這時把分數反過來就變成 1.0)。

AUC 只看排序,不看分數的絕對值。把所有分數同時乘以 10,AUC 不變。這是它的優點,也是要注意的地方(後面會說明)。

怎麼算​

假設有 2 題灌票(正例)和 2 題正常(負例):

  • 灌票:分數 0.9、0.4
  • 正常:分數 0.6、0.2

把每一對「灌票 vs 正常」列出來,看灌票分數是否比較高:

配對灌票分數正常分數灌票高?
10.90.6是
20.90.2是
30.40.6否
40.40.2是

共 4 對,3 對正確,AUC = 3/4 = 0.75。

如果兩個分數相同,這一對算半個正確。

看這裡​

  • src/audit.py 第 65 行附近:函式 auc(pos, neg),就是這個計算。
  • 研究中的「同分各算一半」規則:如果兩題分數相同,各算 0.5 對。

在研究中的 AUC​

研究的 AUC 用同一個規則,只是正例與負例的定義是:

  • 正例:被攻擊的檢驗題(灌票題)。
  • 負例:沒有被攻擊的檢驗題(正常題)。
  • 配對:把所有正例與所有負例配對,數正確的配對比例。

研究的 AUC 會把同一個資料集中所有實驗的列合併後一起算(來源:outputs/phase05/draws/),所以它是「所有實驗合起來」的排序能力。網軍(C)只計入票數至少 30 的題。

例如(假設的數字,不是研究結果):某個方法的 AUC 是 0.80。意思是:隨機抽一個被攻擊的題、一個正常的題,這個方法把被攻擊的題排在前面的機率約 0.80。

問自己​

1. 如果一個偵測器把所有題都給同樣的分數,AUC 是多少?

看解答

所有題都給同樣的分數時,AUC = 0.5。每一對「灌票 vs 正常」都是平手,依規則每對算半分,平均剛好是一半,相當於亂猜。

2. 如果灌票只有 3 題、正常有 300 題,AUC 還能直接比較嗎?(提示:AUC 是正確配對的比例,理論上不因題數而變,但題數少時,估計的不穩定性變大,這是下一課的內容。)

看解答

AUC 是正確配對的比例,理論上不因兩組題數而改變;但題數少時,估計的不確定性變大,區間會變寬。這一點要靠區間判斷,第 02 課會處理。

練習​

有 3 題灌票,分數是 0.8、0.5、0.3;有 2 題正常,分數是 0.6、0.4。請算出 AUC。

看解答

6 對中只有 3 對正確(0.8 對 0.6、0.8 對 0.4、0.5 對 0.4),AUC = 3/6 = 0.5,剛好是亂猜的水準。

檢核​

1. AUC = 0.5 代表什麼?

看解答

AUC = 0.5 代表亂猜:偵測器把灌票題排在前面的機率,跟隨機排序一樣。

2. 把所有分數加 100,AUC 會變嗎?為什麼?

看解答

不會變。AUC 只看排序(誰比誰大),把所有分數加上同一個數,排序不變,AUC 也不變。

3. 為什麼說 AUC 只看排序,這是優點還是缺點?

看解答

優點:不受分數尺度影響,只看排序,適合比較不同的方法。缺點:忽略分數之間差多少,也不反映在某個門檻下會誤報多少題。

導航​

引用文獻​

  • Hanley, J. A., & McNeil, B. J. (1982). The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology, 143(1), 29–36. [bib: hanley1982auc]