跳到主要内容

學習資料夾:從零看懂 v13 的實驗

導航:從第 0 課開始 → | 術語表

先認識這些詞​

本資料夾用到的詞(完整列表見 術語表)。

  • 實驗:用同一個隨機種子做一次「製造假灌票、再打分」。實驗次數(真實研究):Polis 10 次、Decentraland 12 次。每次實驗的假灌票位置不同,分數也不同。程式中的欄位名稱是 draw,我們舉例時寫成 r。論文中也稱為「抽樣」(注入抽樣)。
  • AUC:衡量「排序能力」的數字。隨機抓一題灌票和一題正常,模型把灌票排在前面的機率。0.5 是亂猜,1.0 是每次都正確。
  • 攻擊(S-B、S-L、S-W、C、S-M):研究設計的五種灌票模式的統稱。字母的全名是我們根據程式命名推定的,見下表。
  • 排序:依分數從大到小排列題目。
  • bootstrap(重抽樣):從手上的資料有放回地重新抽樣,重做很多次,看結果會怎麼變,藉此估計誤差範圍。注意:2,000 次是「重抽」的次數,不是實驗次數;它不會增加新的實驗。
  • 替換式注入:把一些真票改成假票,總票數不變。
  • 注入:人工製造假的灌票資料。因為真實的灌票沒有被標記過,研究只能自己製造。
  • 對照(組):和主要方法放在一起比較、用來排除其他解釋的一組方法或設定。
  • 題目:一個被拿來投票的問題,例如「要不要通過某個提案」。研究中也叫「提案」。程式中的欄位名稱是 q,我們舉例時也寫成 q。
  • 冷啟動:新平台只有很少題目時的情況。
  • 字典:用正常的參照題記下「正常題目長什麼樣」的一組範本。
  • 梯度提升:一種模型。把很多簡單的規則一條一條加起來,每條新規則修正前面規則的錯誤。研究中當成黑箱使用即可。
  • 誤判率(FPR):正常的題目被誤標為可疑的比例。
  • 誤報:正常的題目被誤判為可疑。
  • 特徵:從一題的票算出來的數字,例如選項比例、投票的時間分布。機器用特徵來判斷。
  • 模型:會從資料學規則,然後對新資料給出判斷的程式。
  • 跨域:把在一個平台學到的模型,拿到另一個平台使用。
  • 共形推論:一種用「校準集」算出每題誤判率的方法,不需要模型一定正確。
  • n:參照題數,也就是冷啟動時用來學習的題數,例如 n = 10 表示只用 10 題參照。它不是實驗次數。
  • 研究問題(RQ):研究想回答的問題。RQ1、RQ2、RQ3 分別是三個問題。

怎麼走​

依序閱讀,每課約 30–60 分鐘。

順序檔案內容預估時間
000_全貌.md研究在做什麼、資料怎麼流動、名詞表30 分
101_AUC.md怎麼衡量「排序能力」30 分
202_bootstrap.md怎麼算「誤差範圍」45 分
303_替換式注入.md假資料怎麼造,為什麼要「替換」40 分
404_參照與檢驗.md為什麼要切開兩組題目,什麼是冷啟動30 分
505_字典.md「正常的樣子」如何被記下來30 分
606_梯度提升.md分類器只當黑箱看,知道輸入輸出即可20 分
707_洩漏.md最常見的錯誤:偷看答案40 分
808_誤判率與BH.md多題同時判斷時,怎麼控制誤報45 分
AA_資料與注入.md讀程式:資料載入、切分、注入90 分
BB_特徵與模型.md讀程式:特徵、模型、跨域流程90 分
CC_結果對照.md讀程式:把論文數字和輸出對起來60 分
DD_統計與推論.md讀程式:統計函式與共形推論90 分
EE_外部名單與測試.md讀程式:外部名單與測試怎麼保護結果60 分

每課的固定格式​

  • 目標:讀完這課應該能做什麼。
  • 白話:用生活例子說明。
  • 看這裡:要打開的檔案與行號。
  • 問自己:讀程式時應該問的問題。
  • 練習:可以自己算或自己跑的小例子。
  • 解答:練習的答案(請先自己算,再往下看)。
  • 檢核:三個問題,答得出來才往下走。

幾個原則​

  1. 先懂概念,再讀程式。 讀程式時遇到不懂的名詞,回到概念檔。
  2. 不確定就停。 如果讀完一課還答不出檢核題,不要硬往下走,先回頭看。
  3. 不要相信任何人的說法,包括 AI 寫的文字。 練習的答案要自己算,或用獨立工具驗證。
  4. 有疑問記下來。 讀到覺得不對的地方,記在 questions.md(之後建立),不要自己改程式。

和其他檔案的關係​

  • doc/runbook/v13/review/spec_check/:已完成的規格對照(RQ2 的 d−e)。學完 A–C 課後再看,會比較容易懂。
  • .claude/skills/repro-review-learn/:較完整但較複雜的工作流程,供之後的審查使用。這個學習資料夾比它簡單,適合先看。

引用文獻(本資料夾總表)​

本資料夾引用的文獻分三類:已收入論文 thesis.bib、未收入但需要者,以及專案自己的 SUMMARY。各課末尾列出該課用到的文獻。

  • 已收入 bib:Hanley & McNeil (1982) [bib: hanley1982auc];Bates et al. (2023) [bib: bates2023conformal];Liu et al. (2022, BOND) [bib: liu2022bond];Tang et al. (2023, GADBench) [bib: tang2023gadbench];Zheng et al. (2026, OWLEYE) [bib: zheng2026owleye];Roy et al. (2024, GAD-NR) [bib: roy2024gadnr];DuPont (2023) [bib: dupont2023dao_gcnn];Hammond et al. (2011) [bib: hammond2011wavelets];Morgan & Rubin (2012) [bib: morgan2012rerandomization];Hennhöfer & Preisach (2024) [bib: hennhofer2024conformal];Vovk et al. (2005) [bib: vovk2005algorithmic]
  • 未收入 bib(見各課):Efron & Tibshirani (1993)、Benjamini & Hochberg (1995)、Simes (1986)、Friedman (2001)、Kaufman et al. (2012)、Pedregosa et al. (2011)
  • 專案內部:doc/runbook/v13/SUMMARY.md、各階段 phaseNN_protocol.md