1 Graph-CSPNet

Graph-CSPNet is the graph-based companion of Tensor-CSPNet that treats the tensor of EEG spatial covariance matrices (time windows × filter bands) as the nodes of a time-frequency graph and learns CSP-like filters with manifold-valued graph convolution layers.

Ref: @juGraphCSPNetGraphBased2023

Code available at https://github.com/GeometricBCI/Tensor-CSPNet-and-Graph-CSPNet.

Overview

The paper (IEEE TNNLS 2023, DOI 10.1109/TNNLS.2023.3307470; arXiv 2211.02641) enhances the geometric classifier Tensor-CSPNet from a time-frequency-analysis perspective. Problem: fixed segmentation in Tensor-CSPNet is rigid; Graph-CSPNet replaces it with a flexible, non-uniform time-frequency segmentation whose local structure is captured by a graph, motivated by the Heisenberg–Gabor uncertainty principle (low frequencies: high spectral / low temporal resolution; high frequencies: the opposite).

  • Contribution: (i) the time-frequency graph (nodes = SPD covariance matrices, edges = local graph topology built with a modified ε-neighborhoods approach); (ii) a new manifold-valued graph convolution, the graph BiMap layer; (iii) the formal coining of the term Geometric Classifiers; (iv) a spectrum-perturbation theorem (Theorem 1) bounding eigenvalue change ratio by node degree; (v) evaluation on five public MI datasets, near-optimal in 9/11 scenarios.
  • Datasets (Table III): KU (Korea University Dataset (MI-KU or Lee2019 or OpenBMI), 54 subjects, 20 of 62 channels selected, 2 classes, 200 trials/session, imagery 1–3.5 s, 1,000 Hz, 2 sessions); Cho2017 (Cho2017 or GigaDB, 49 of 52 subjects, 20 of 64 channels, 200 trials, imagery 3–6 s, 512 Hz, 1 session); BNCI2014001 (BCI Competition IV Dataset 2a, 9 subjects, 22 Ag/AgCl + 3 EOG, 4 classes, 288 trials/session, imagery 2–6 s, 250 Hz, 2 sessions); BNCI2014002 (BNCI2014_002, 13 participants in the text / 14 in Table III, 15 electrodes, 2 classes right hand/feet, 160 trials, imagery 3–8 s, 512 Hz, 1 session); BNCI2015001 (BNCI2015_001, 12 subjects, 13 channels, 2 classes right hand/both feet, 200 trials/session, imagery 3–8 s, 512 Hz, 2 sessions; 4 subjects had an excluded 3rd session).
  • Preprocessing: all signals filtered with Chebyshev Type II filters in 4 Hz intervals (nine bands covering 4–40 Hz), max passband loss 3 dB, min stopband attenuation 30 dB; trials assumed band-pass filtered, centered, scaled (inherited from Tensor-CSPNet).
  • Splits: subject-specific: within-session shuffled 10-fold CV (class-balanced folds, repeated ten times) on both sessions where available; holdout S1→S2 for KU, T→E for BNCI2014001, A→B for BNCI2015001; single-session datasets (Cho2017, BNCI2014002) with 10-fold CV only.

Architecture

Pipeline for a trial:

  1. Time-frequency distribution. Given a segmentation plan , each segment yields a spatial covariance node (a CovLayer-like operation on the band-passed, centered, scaled segment).
  2. Graph construction (Local Graph Topology, LGT). Edges connect two nodes iff they fall in a box of the time-frequency domain:

with time evolution only in the forward direction. The weighted adjacency is a Gaussian RBF kernel on the AIRM Riemannian distance,

with preset kernel width . Edge weights are computed from the average Riemannian distances across the training set; each frequency band component (θ, µ, β, γ) forms a separate connected component. Numerical values of are not reported.
3. Graph BiMap layers (manifold-valued graph convolution):

with , , and a node function; . for (see Theorem 1), a full-row-rank (Stiefel) transform — i.e., a BiMap congruence per node with graph aggregation. Row-normalized is used to normalize only along the time direction. RBN = Riemannian batch normalization via parallel transport (the SPDBatchNormMeanVar analogue). The ReEig step drops the smallest eigenvalues with lower bound . Theorem 1 bounds the spectrum perturbation ratio:

where is node degree and with the largest eigenvalue of . Because the ratio grows with depth, the graph adjacency is only used in the first layer (, ).
4. LOG layer and classifier. The LogEig log map at the identity maps SPD matrices to the tangent space; the flattened vectors feed a Euclidean linear classifier trained with cross-entropy.

Relation to Tensor-CSPNet: identical backbone (BiMaps, RBN, ReEig, LOG, linear head) and underlying space with Riemannian optimization; the difference is that CNNs for temporal dynamics are replaced by time-frequency graph processing via graph BiMaps.

Model Parameters

Segmentation plans (Table IV; non-overlapping, non-uniform). Window length in seconds per 4-Hz band:

Datasetθ 4–8µ 8–12β 12–16…24–28γ 28–32…36–40
KU / Cho20170.50.50.50.25
BNCI2014001 (2a)0.250.250.250.125
BNCI2014002 / BNCI20150011110.5

Graph sizes: 60 nodes for KU/BNCI2014002/BNCI2015001 (= 5 windows × 6 bands + 10 windows × 3 bands), 48 for BNCI2014001 (θ/µ/β/γ components have 4/4/16/24 nodes), 33 for Cho2017.

Graph BiMap blocks (expand→reduce): KU & Cho2017: 20→30→20; BNCI2014001: 22→36→22; BNCI2014002: 15→30→15; BNCI2015001: 13→30→13.

Parameter counts (two-layer graph BiMap): total . For BNCI2014001 (): 169,444 parameters — ≈ 6× the 27,104 of 1-CSPNet(9,1,1) and ≈ 2/3 of the 232,360 of 5-CSPNet(9,3,1) (Tensor-CSPNet).

Graph hyperparameters: forward “time direction” and “frequency direction” lattice vectors; in all main experiments the forward time flow is set to the nearest integer values of half its maximum. ReEig bound ; adjacency re-initialized per CV fold (10 times), so the network is individual-specific. and Gaussian kernel width : not numerically reported.

Training Parameters

  • Loss: cross-entropy.
  • Optimizer: Riemannian optimization — first-order Riemannian adaptive methods (Adam, AdaGrad) adapted to the manifold constraints, with retraction and parallel transport; graph BiMap/BiMap weights live on Stiefel manifolds, RBN parameters on the SPD manifold.
  • Learning rate, batch size, epochs, early stopping: not reported in this paper (the companion Tensor-CSPNet paper reports lr 0.01 with decay, batch 28, max 60 epochs, patience 15).
  • Reporting: “for each scenario, we select the best result among multiple runs.”
  • Statistical test for the graph-topology ablation: one-tailed Wilcoxon signed-rank test with Bonferroni–Holm correction, .

Results

Average accuracy % (SD). Baselines re-run by the authors; KU/BNCI2014001 CV indices were re-initialized relative to the Tensor-CSPNet paper, so baseline numbers differ by ≈ 1%.

| Dataset | Scenario | FBCSP | FBCNet | Tensor-CSPNet | Graph-CSPNet |
|---|---:|---:|---:|---:|
| KU | 10-Fold CV (S1) | 64.33 (15.43) | 73.36 (13.71) | 73.28 (15.10) | 72.51 (15.31) |
| KU | 10-Fold CV (S2) | 66.20 (16.29) | 73.68 (14.97) | 74.16 (14.50) | 74.44 (15.52) |
| KU | Holdout (S1→S2) | 59.67 (14.32) | 67.74 (14.52) | 69.50 (15.15) | 69.69 (14.72) |
| Cho2017 | 10-Fold CV | 61.75 (13.26) | 65.34 (11.14) | 67.30 (12.94) | 67.51 (12.89) |
| BNCI2014001 | 10-Fold CV (T) | 71.29 (16.20) | 75.48 (14.00) | 75.11 (12.68) | 77.55 (15.63) |
| BNCI2014001 | 10-Fold CV (E) | 73.39 (15.55) | 77.16 (12.77) | 77.36 (15.27) | 78.82 (13.40) |
| BNCI2014001 | Holdout (T→E) | 66.13 (15.54) | 71.53 (14.86) | 73.61 (13.98) | 71.95 (13.36) |
| BNCI2014002 | 10-Fold CV | 76.07 (13.29) | 79.64 (12.77) | 80.58 (11.87) | 81.65 (11.74) |
| BNCI2015001 | 10-Fold CV (A) | 79.46 (14.16) | 82.62 (13.11) | 81.29 (14.78) | 84.62 (12.38) |
| BNCI2015001 | 10-Fold CV (B) | 81.96 (11.14) | 84.92 (10.30) | 85.29 (10.54) | 88.00 (7.87) |
| BNCI2015001 | Holdout (A→B) | 73.46 (14.09) | 74.50 (16.01) | 79.04 (14.67) | 79.75 (14.63) |

Graph-CSPNet is best in 9/11 scenarios (not KU S1 CV → FBCNet; not 2a T→E → Tensor-CSPNet).

Ablations/hyperparameters (BNCI2014001, simplified depth-1 graph BiMap, in/out dims 20):

  • Non-graph baseline “Time Direction (0,0,0,0)” (i.e., ) is significantly worse than any graph topology — the graph structure itself is what helps.
  • Time Direction (2,2,2,4) with fixed frequency direction (1,1,4,3) gives the best performance; significant vs the non-graph case in 10-fold CV, but not significant in the holdout experiment.
  • Example graphs contain 60 nodes and 390 edges for direction (2,2,2,4); larger forward time flow ⇒ more edges.
  • The LGT averages each node with its graph neighbors, shifting the spectral distribution (t-SNE and discrete-spectrogram analyses).