🎯 什麼情境該想到我
當你「從很多次嘗試裡挑出表現最好的那一個,正準備相信它」的時候。
★ 挑最大值這個動作本身就會灌水:試的次數越多,冠軍越可能只是運氣最好的雜訊。
⚙️ 怎麼用
0. 先理解為什麼會灌水(可自己驗算)
假設 N 個嘗試其實全是雜訊,各自的分數是均值 0、標準差 1 的獨立常態。最大值的期望會隨 N 上升:
| 試了幾次 N | 期望最大值(模擬 2,000 次) | 上界 √(2 ln N) |
|---|---|---|
| 10 | ≈ 1.55σ | 2.15σ |
| 100 | ≈ 2.51σ | 3.03σ |
| 880 | ≈ 3.20σ | 3.68σ |
(2026-10-25 自己模擬;√(2 ln N) 是常態極值的標準上界,不是這篇論文推的。)
換算成回測:500 個交易日估出來的年化 Sharpe,標準誤約 √(252/500) ≈ 0.71。所以從 880 組全是雜訊的參數裡挑冠軍,年化 Sharpe 期望就有 3.2 × 0.71 ≈ 2.3。實際的參數組合彼此高度相關,有效的 N 會小一些,但量級就是這樣。論文第 3.2 節也說:樣本內 Sharpe 落在 1 到 3 之間,「tell us nothing」。
1. 記下你到底試了幾次
- 參數組合、模型版本、特徵組合、提示詞版本,都算一次嘗試。失敗的也要算。
- 論文把只報告成功組合的做法比作新藥試驗剔除無效受試者,也就是「抽屜問題」。
2. 拿「雜訊冠軍」當基準線
- 冠軍分數沒有明顯高過上表對應 N 的「純雜訊期望最大值」,就先當成運氣。
- 能量化時,直接評估挑選流程:回測用 工具-回測過擬合機率PBO,問的是樣本內冠軍在樣本外會不會掉到中位數以下。
3. 看「越追高分,樣本外越差」的跡象
- 把每次嘗試的(挑選用資料上的分數,另一段資料上的分數)畫成散點。斜率是負的,就是過擬合的典型樣子。
- 論文的說法是:「The model is so fit to past noise, that it is often rendered unfit for future signal.」
4. 別把防過擬合的指標變成新目標
- 例如改成挑 PBO 最低、或驗證集分數最高的那組,等於換一個指標繼續過擬合。
- 論文引 Goodhart 定律:「when a measure becomes a target, it ceases to be a good measure」。
同一個陷阱的其他樣子(我的延伸,不是論文內容)
| 情境 | 「試很多次」指的是 | 對應做法 |
|---|---|---|
| 調模型超參數 | 在同一份驗證集上反覆比較 | 留一份只在最後用一次的測試集 |
| A/B 測試 | 每天看結果,一顯著就停 | 事先定好樣本數和停止條件 |
| 刷 benchmark | 反覆改版,直到公開排行榜分數上升 | 見 基準污染與分數失真 |
| 提示詞迭代 | 在同一批範例上反覆修 | 修的範例和驗收用的範例分開 |
🧪 我實際套用的紀錄
- 2026-10-25:重現論文實驗。在純隨機漫步上試 880 組季節策略,樣本內冠軍看起來很好,但 PBO 是 0.56–0.84,也就是半數以上的情況下,冠軍到了樣本外連中位數都不如。
⚠️ 注意 / 什麼時候不適用
- 只試一兩次、而且事先就決定好方案時,這個問題很小。麻煩的是事後從很多結果裡挑。
- 上表假設各次嘗試彼此獨立。參數相近的組合高度相關,有效的 N 比名目上的 N 小,灌水幅度會比表上低,但不會消失。
- 冠軍不可信,不代表全部都爛。N 個嘗試都好、只是彼此差不多時,挑哪個都可以;這種情況也會讓 PBO 偏高。
🔗 相關工具
- 工具-回測過擬合機率PBO —— 在回測上量化這件事的具體方法
- 基準污染與分數失真 —— LLM 評估上的同一個問題:私有評估集調參調久了,也會被過擬合