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 正常」列出來,看灌票分數是否比較高:
| 配對 | 灌票分數 | 正常分數 | 灌票高? |
|---|---|---|---|
| 1 | 0.9 | 0.6 | 是 |
| 2 | 0.9 | 0.2 | 是 |
| 3 | 0.4 | 0.6 | 否 |
| 4 | 0.4 | 0.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 只看排序,這是優點還是缺點?
看解答
優點:不受分數尺度影響,只看排序,適合比較不同的方法。缺點:忽略分數之間差多少,也不反映在某個門檻下會誤報多少題。
導航
- 上一課:00 全貌
- 下一課:02 bootstrap
- 回到目錄 | 術語表
引用文獻
- 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]