隨機究竟是什麼?
對 c 個平衡類別,天真的隨機水準是 1/c——但那是期望值,不是門檻。在少量試次下,一個無用的解碼器會以真實的離散度散落在 1/c 附近,因此明顯高於 1/c 的準確率仍可能純屬運氣。正確的問題是:一個擲硬幣的解碼器只有 \alpha 的機率會超過多少準確率?
a_{\alpha}=\frac{1}{c}+z_{1-\alpha}\sqrt{\frac{\tfrac{1}{c}\big(1-\tfrac{1}{c}\big)}{N}}二項隨機水準的常態近似。當 c=2、N=100,95% 門檻約為 0.58——56% 的解碼器並未高於隨機,無論這數字看起來多誘人。
「隨機」並不剛好是 1/c——在試次有限時,一個走運的分類器分數會略高於它。這條式子給出你必須真正超越的準確率,才算令人信服地高於隨機。
- c
- 類別數;天真的隨機水準為 1/c。
- N
- 測試試次數。
- z_{1-\alpha}
- 對應你信心水準的 z 值(95% 時約 1.64)。
- a_{\alpha}
- 標示顯著性的準確率門檻。
在 2 類、100 試次的任務中,95% 門檻約為 0.58,因此準確率 56% 的解碼器並未高於隨機水準。
排列檢定:免假設的隨機基準
二項公式假設試次獨立且隨機水準乾淨——在交叉驗證、不平衡或時間相關下,兩者常不成立。排列檢定繞開一切假設:打亂標籤、把整條流程重跑一次、記錄分數。重複多次,建立當真正無物可解碼時你的流程所產生之分數的虛無分布。
\hat p=\frac{1+\#\{\,\pi:\ s_{\pi}\ge s_{\mathrm{obs}}\,\}}{P+1}P 次打亂上的排列 p 值。+1 把觀測統計量自身也計入,故 p 永不為零——誠實的下限為 1/(P+1)。
把標籤打亂很多次,看看純運氣能產生多高的準確率;你真實分數的 p 值就是打亂中追平或超越它的比例。那個 +1 讓它保持誠實,使 p 永不剛好為零。
- P
- 你執行的標籤打亂次數。
- s_{\pi}
- 在一份打亂資料上得到的分數。
- s_{\mathrm{obs}}
- 你在真實標籤上實際觀測到的分數。
- \hat p
- 由此得出的排列 p 值。
若 999 次打亂中無一超越你,排列 p 值即為 1/1000。
超越準確率:kappa 與混淆矩陣
準確率把整個混淆矩陣壓成一個數字,丟棄了誤差落在何處的資訊。Cohen's kappa針對隨機所期望的一致性校正準確率,給出一個尺度:不論類別數多少,0 皆代表「不比按先驗猜測更好」。
\kappa=\frac{p_o-p_e}{1-p_e}Cohen's kappa:觀測一致性 p_o 扣除隨機一致性 p_e。\kappa=1 為完美,0 為隨機,負值比隨機還糟。
類別不平衡時,光看準確率會自我美化。Kappa 扣掉你靠運氣就能得到的一致性再重新縮放,使 1 為完美、0 為與瞎猜無異。
- p_o
- 觀測準確率(原始一致率)。
- p_e
- 單憑隨機所預期的準確率。
- \kappa
- 隨機校正後的一致性:1 完美、0 隨機、負值比隨機還糟。
觀測 90%、隨機預期 80%,得 kappa 為 0.5——遠不如原始數字那麼亮眼。
類別不平衡與準確率悖論
許多 BCI 範式本質上就不平衡——P300拼字器看到的非目標遠多於目標。在類別不平衡下,一個永遠預測多數類的解碼器能交出亮眼的準確率卻毫無臨床用處:這就是準確率悖論。平衡準確率(各類召回率的平均)、kappa 與完整混淆矩陣能揭露它;原始準確率則掩蓋它。
不平衡也會使分類器本身產生偏差:LDA 的 \log\pi_k 項與多數損失函數都偏袒多數類。補救之道——重新加權類別、調整決策門檻,或把工作點對準應用中「漏報對誤報」的成本——都是關於效用的選擇,屬於指標討論的一環,不該埋在預設值裡。