JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

共同空間型樣與判別式濾波器家族

CSP 背後的廣義特徵值機制、它為何過度擬合、收縮估計與 FBCSP 如何拯救它,以及 xDAWN 如何把同一想法帶進 ERP 解碼。

CSP 為之而生的問題

運動想像中,想像左手相對於右手的動作,會壓抑對側半球的感覺運動 mu 節律——這是一種事件相關去同步,表現為頻帶功率的下降。因此判別訊號是一種變異數的空間型樣,而共同空間型樣(CSP)正是為此設計的最佳線性濾波器:它尋找一類變異數高、另一類變異數低的方向。

兩個運動想像類別以頭皮地形圖呈現;拖動正則化滑桿,觀察 CSP 如何在濾波器銳利度與穩健性之間權衡。

一個廣義特徵值問題

\Sigma_1\Sigma_2 為兩類別經帶通濾波後的平均共變異數。CSP 尋找使變異數比值最大化的 \mathbf{w}——一個瑞利商。

J(\mathbf{w}) = \frac{\mathbf{w}^{\top}\Sigma_{1}\mathbf{w}}{\mathbf{w}^{\top}\Sigma_{2}\mathbf{w}} \qquad\Longrightarrow\qquad \Sigma_{1}\mathbf{w} = \lambda\,\Sigma_{2}\mathbf{w}

最大化變異數比值就是一個廣義特徵值問題;特徵值接近 1 的濾波器通過類別 1,接近 0 的通過類別 2。

共同空間型樣(CSP)尋找能讓一類的變異數大、另一類的小的濾波器——最大化兩者之比。最大化該比值原來就是一個廣義特徵值問題;特徵值接近 1 偏向類別 1,接近 0 偏向類別 2。

J(\mathbf{w})
被最大化的變異數比值(瑞利商)。
\Sigma_1,\,\Sigma_2
兩類別的共變異數矩陣。
\lambda
特徵值——某濾波器區分兩類的強度。
\Sigma_1\mathbf{w}=\lambda\Sigma_2\mathbf{w}
解所滿足的廣義特徵值方程。

等價地,用合成共變異數 \Sigma_1+\Sigma_2 對資料作白化;能同時對角化兩類的特徵向量就是 CSP 濾波器。它們的特徵值總和為一,因此兩端的極端值最具判別力——保留最上與最下的 m 對即可。

幾何直觀:在以 Σ1+Σ2 白化後,CSP 的軸指向兩類橢球被拉開最遠之處。

# X1, X2: trials x channels x time, already band-pass filtered
S1 = mean_cov(X1)              # class-1 spatial covariance (C x C)
S2 = mean_cov(X2)              # class-2 spatial covariance
# generalized eigendecomposition of the pencil (S1, S1 + S2)
evals, W = eig(S1, S1 + S2)    # columns of W are spatial filters
order = argsort(evals)
W = W[:, order]                # sort by discriminability
filt = hstack([W[:, :m], W[:, -m:]])   # m most extreme pairs each end
feat = log(var(filt.T @ trial, axis=1))  # log-variance feature vector
CSP 的精要:一次廣義特徵分解,保留兩端極端的濾波器,再取對數變異數特徵。

從濾波器到特徵

你不會把濾波後的訊號直接餵給分類器,而是餵它的對數變異數。取對數既能穩定變異數(使其對 LDA 分類器而言更接近高斯),也能把 ERD 的乘性增益轉為加性特徵。

f_j = \log\!\left(\frac{\mathbf{w}_j^{\top}\Sigma\,\mathbf{w}_j}{\sum_{k}\mathbf{w}_k^{\top}\Sigma\,\mathbf{w}_k}\right)

濾波器 j 在某試次共變異數 Σ 上的正規化對數變異數特徵——餵給 LDA 的經典 CSP 特徵。

CSP 給出濾波器後,每個試次以其濾波後變異數的對數(並跨濾波器歸一化)來概括。取對數使該特徵對線性分類器(如 LDA)更好處理。

f_j
由濾波器 j 產生的特徵。
\mathbf{w}_j^{\top}\Sigma\,\mathbf{w}_j
在此試次共變異數 \Sigma 上,該濾波器通過的變異數。
\sum_k \mathbf{w}_k^{\top}\Sigma\,\mathbf{w}_k
跨所有濾波器的總和——正規化因子。
\log
使特徵的分布更穩定。

為何原始 CSP 會過度擬合——以及如何修正

標準解方是在特徵分解前,把每一類的共變異數收縮向一個條件良好的目標——這就是空間濾波器正則化,而解析式的 Ledoit–Wolf 估計會替你選定收縮強度 \gamma

\tilde{\Sigma} = (1-\gamma)\,\hat{\Sigma} + \gamma\,\frac{\operatorname{tr}(\hat{\Sigma})}{C}\,I, \qquad \gamma\in[0,1]

收縮把共變異數拉向一個縮放的單位矩陣,馴服會拖垮 CSP 的最小特徵值。

試次少時,共變異數估計變得不可靠——其最小特徵值爆走並拖垮 CSP。收縮把雜亂的估計與一個乾淨、縮放過的單位矩陣混合,把極端值拉回安全範圍。\gamma 決定你正則化多少。

\tilde{\Sigma}
收縮(正則化)後的共變異數。
\hat{\Sigma}
原始樣本共變異數。
\gamma
收縮強度——0 為原始,1 為完全拉向單位矩陣。
\tfrac{\operatorname{tr}(\hat{\Sigma})}{C}\,I
它收縮所朝向的縮放單位矩陣目標。

FBCSP:加入頻率軸

普通 CSP 需要你事先選定一個頻帶,但具判別力的 mu/beta 頻帶因人而異。濾波器組 CSP(FBCSP)免去了這個猜測:在一組重疊頻帶內各自執行 CSP,再以互資訊挑選最具資訊量的「頻帶—濾波器」組合。這套幾乎無需調參的配方贏得了 BCI Competition IV,至今仍是 EEG 的參考基準。

  1. 把資料帶通濾波成一組重疊的子頻帶(例如 4–8、8–12、… Hz)。
  2. 在每個頻帶內擬合收縮式 CSP,並取其對數變異數特徵。
  3. 依與標籤的互資訊,跨所有頻帶挑選最佳特徵。
  4. 對挑選出的特徵作分類(LDA 是常見且穩健的選擇)。

xDAWN:ERP 的表親

CSP 分離的是變異數,但 P300 拼字器需要分離的是埋在持續 EEG 中的誘發波形xDAWN 把廣義特徵值的想法帶進ERP解碼:它尋找能最大化誘發反應功率相對於功率之比值的濾波器,在分類前強化 P300。在現代管線中,它的輸出會餵給ERP 共變異數表示,供黎曼分類器使用。

\mathbf{w}_{\mathrm{xDAWN}} = \arg\max_{\mathbf{w}} \frac{\mathbf{w}^{\top}\Sigma_{\mathrm{ERP}}\,\mathbf{w}}{\mathbf{w}^{\top}\Sigma_{X}\,\mathbf{w}}

xDAWN 最大化誘發反應共變異數相對於總共變異數之比——同樣的瑞利商,換了分子。

xDAWN把同樣「最大化變異數比」的想法用到誘發反應(如 P300):找出能相對於總訊號放大可重複之誘發成分的濾波器。同樣的瑞利商,只是換了分子。

\mathbf{w}_{\mathrm{xDAWN}}
xDAWN 空間濾波器。
\Sigma_{\mathrm{ERP}}
誘發(ERP)反應的共變異數。
\Sigma_X
總訊號的共變異數。
\arg\max
挑出使該比值最大、以增強 ERP 的濾波器。