中榮 data v2 去雜訊:EEGNet、Shallow、Support-CSP 自身訓練
可採用的 v2 清理部分
1000 Hz continuous raw → 單步梯度 >200 的局部 despike → 4–32 Hz 四階 Butterworth SOS zero-phase IIR → session/channel Z-score → 200 Hz → event[-1,2] s → [-1,0] s mean baseline subtraction → task[0,2] s。濾波在連續訊號上完成,因此可避免 epoch 內濾波邊界效應。
三個模型在輸入時都再做 task window 的 trial/channel Z-score;訓練階段才做 0.95–1.05 gain 與 ±50 ms reflection shift。
重要審核結論
evaluate_clean_data.py 每個 epoch 都在 outer test fold 上算 accuracy,並保存 test accuracy 最高的 epoch;這等於用 test 選模型。此處改為 outer-train 的 80/20 validation 做 early stopping,outer test 只在模型固定後評估。另:說明文件提到 CAR/Laplacian,但 clean_pipeline.py 實際沒有套用這兩者。整體結果

三個模型均未見到穩定高於機率的改善。最高群組平均為 EEGNet 50.26% ± 5.65%(跨 9 段 session 的 mean±STD)。因此這套 v2 去雜訊可作為一個待改良的候選前處理,但目前不支持它能穩定提升左右腳判別。
| Model | 9 session mean±STD | Balanced accuracy | Sessions |
|---|---|---|---|
| EEGNet | 50.26% ± 5.65% | 50.46% | 9 |
| ShallowConvNet | 49.14% ± 8.35% | 48.98% | 9 |
| Support-CSP | 44.81% ± 5.05% | 44.35% | 9 |
逐 session 結果
| Session | Model | 5-fold held-out mean±fold STD | Balanced accuracy | Parameters |
|---|---|---|---|---|
| s1_1 | EEGNet | 50.00% ± 25.00% | 50.00% | 1,618 |
| s1_1 | ShallowConvNet | 57.50% ± 18.96% | 57.50% | 15,562 |
| s1_1 | Support-CSP | 52.50% ± 16.30% | 52.50% | 105,190 |
| s1_2 | EEGNet | 45.00% ± 11.18% | 45.00% | 1,618 |
| s1_2 | ShallowConvNet | 55.00% ± 22.71% | 55.00% | 15,562 |
| s1_2 | Support-CSP | 35.00% ± 27.10% | 35.00% | 105,190 |
| s1_3 | EEGNet | 50.00% ± 12.50% | 50.00% | 1,618 |
| s1_3 | ShallowConvNet | 45.00% ± 20.92% | 45.00% | 15,562 |
| s1_3 | Support-CSP | 42.50% ± 14.25% | 42.50% | 105,190 |
| s1_4 | EEGNet | 62.50% ± 15.31% | 62.50% | 1,618 |
| s1_4 | ShallowConvNet | 52.50% ± 5.59% | 52.50% | 15,562 |
| s1_4 | Support-CSP | 45.00% ± 18.96% | 45.00% | 105,190 |
| s1_5 | EEGNet | 45.71% ± 9.58% | 45.00% | 1,618 |
| s1_5 | ShallowConvNet | 61.43% ± 9.16% | 60.00% | 15,562 |
| s1_5 | Support-CSP | 48.93% ± 7.10% | 48.33% | 105,190 |
| s2_1 | EEGNet | 45.71% ± 21.19% | 49.17% | 1,618 |
| s2_1 | ShallowConvNet | 40.00% ± 21.19% | 40.83% | 15,562 |
| s2_1 | Support-CSP | 45.71% ± 11.95% | 45.83% | 105,190 |
| s2_2 | EEGNet | 55.36% ± 7.36% | 55.83% | 1,618 |
| s2_2 | ShallowConvNet | 36.07% ± 15.99% | 36.67% | 15,562 |
| s2_2 | Support-CSP | 44.64% ± 7.36% | 41.67% | 105,190 |
| s2_3 | EEGNet | 50.95% ± 13.53% | 50.00% | 1,618 |
| s2_3 | ShallowConvNet | 44.76% ± 10.83% | 43.33% | 15,562 |
| s2_3 | Support-CSP | 48.10% ± 8.81% | 46.67% | 105,190 |
| s2_4 | EEGNet | 47.14% ± 11.95% | 46.67% | 1,618 |
| s2_4 | ShallowConvNet | 50.00% ± 7.14% | 50.00% | 15,562 |
| s2_4 | Support-CSP | 40.95% ± 10.96% | 41.67% | 105,190 |
資料快取驗證
| Session | Trials | Left | Right | Epoch shape |
|---|---|---|---|---|
| s1_1 | 40 | 20 | 20 | (40, 8, 600) |
| s1_2 | 40 | 20 | 20 | (40, 8, 600) |
| s1_3 | 40 | 20 | 20 | (40, 8, 600) |
| s1_4 | 40 | 20 | 20 | (40, 8, 600) |
| s1_5 | 39 | 19 | 20 | (39, 8, 600) |
| s2_1 | 35 | 17 | 18 | (35, 8, 600) |
| s2_2 | 36 | 18 | 18 | (36, 8, 600) |
| s2_3 | 31 | 15 | 16 | (31, 8, 600) |
| s2_4 | 34 | 16 | 18 | (34, 8, 600) |
共 9 段有效 session;s3_1 與人工標記的 trial 已依 v2 規則排除。
Support-CSP 的隔離方式
每個 outer fold 的 shrinkage CSP(Mu 8–13、low beta 13–20、high beta 20–30 Hz)與 left/right prototype 都只用 inner-train 建立。inner-train 內 CSP feature 另做 cross-fitting;validation 與 outer-test 只套用 inner-train CSP,沒有以自身標籤參與 CSP/prototype fitting。
剩餘限制
v2 的 session-level Z-score 是從該 session 的整段連續資料估計,包含外層 test 時間點但不含標籤。這屬於未監督的 transductive normalization;若要做完全嚴格的離線 CV,應改成僅用 outer-train 或部署前 calibration 估計統計量。這不會解釋本頁的低結果,但會影響未來若想主張嚴格泛化的設定。
可重跑檔案
fold results · session summary · group summary · data manifest · run config
strict evaluator · v2 cleaning pipeline · v2 original evaluator (audit reference)