共空间模式(common spatial pattern,CSP)是脑-机接口领域常用的一类空间滤波算法,尤其在运动想象范式分类上具有较好的效果,是运动想象范式的基准算法之一。目前,CSP及其改进算法的发展速度放缓,看似到达了算法的瓶颈期,近几年没有什么较大的突破。尽管如此,CSP中的一些数学思想对传统脑-机接口算法仍然具有较大的影响力,例如近年运用在SSVEP上的TRCA、DCPM等算法均和CSP有着异曲同工之妙。因此,本文从CSP原始算法出发,讨论其变形和一系列改进算法,试图为读者阐明其中的数学思想。
假设我们做脑电实验,采集到两类不同的任务信号,用矩阵形式可以表示为 E 1 ( i ) ∈ R N c × S E^{(i)}_1 \in R^{N_c \times S} E1(i)∈RNc×S和 E 2 ( i ) ∈ R N c × S E^{(i)}_2 \in R^{N_c \times S} E2(i)∈RNc×S,其中 N c N_c Nc表示脑电导联数目, S S S表示采样点的个数,而上标 ( i ) (i) (i)表示试次的序号(脑电实验通常会对一种任务进行多次实验,得到很多试次的数据),原始CSP算法采用以下步骤:
这里的函数 t r a c e ( ) trace() trace()是求矩阵的迹,即主对角线上的元素之和。注意到对于去均值的矩阵 E E E,其协方差矩阵可以表示为 C = 1 S − 1 E E T C = \frac{1}{S-1} EE^{T} C=S−11EET,上式中没有 S − 1 S-1 S−1出现是因为上下相除互相抵消。 C ˉ 1 \bar{C}_1 Cˉ1和 C ˉ 2 \bar{C}_2 Cˉ2则是两类任务信号的平均协方差矩阵。
为什么要使用 t r a c e ( ) trace() trace()来对协方差矩阵归一化?
1990年Koles的文章中指出,归一化的目的是为了消除”被试间脑电信号幅值的变化”,注意到Koles的原意是区分健康人群和精神疾病人群,而个体的脑电幅值是有绝对性的差异的。方差可以表征信号在时域上的能量高低,不同人群的协方差矩阵的绝对值不同。为了消除这种差异带来的影响,利用 t r a c e ( ) trace() trace()函数求得所有导联的总体能量,并对协方差矩阵归一化,从而安排除不同个体带来的干扰。Graz小组对同一个体不同试次的数据沿用了这种归一化方式,试图消除试次间的差异,发现也有一定的作用,这种归一化方式就一直流传下来。
然而,有些分析显示这种归一化方式反而会削弱信号的可分性,建议不要使用归一化。关于这一点,我会在以后进行讨论。
其中 V c V_c Vc是特征向量矩阵(每一列是特征向量), D c D_c Dc是由特征值组成的对角矩阵。 P P P是白化矩阵,其目的是把对角矩阵 D c D_c Dc变化为单位矩阵 I I I,即 P C c P T = I PC_cP^{T} = I PCcPT=I成立。
其中矩阵 S 1 S_1 S1和 S 2 S_2 S2具有同样的特征向量 V V V(这也是共空间模式名称的由来),而相对应的特征值相加始终为1,即 D 1 + D 2 = I D_1 + D_2 = I D1+D2=I。
为什么 S 1 S_1 S1和 S 2 S_2 S2具有同样的特征向量和此消彼长的特征值关系?
这一点可以简单的证明如下
假设 v j v_j vj和 λ j ( 1 ) \lambda_j^{(1)} λj(1)分别是 S 1 S_1 S1的特征向量和特征值,即
注意到 S 1 + S 2 = I S_1+S_2=I S1+S2=I,把上式中的 S 1 S_1 S1置换掉可得
把上式变形一下可得
显然 v j v_j vj也是 S 2 S_2 S2的特征向量,只不过其特征值为 1 − λ j ( 1 ) 1-\lambda_j^{(1)} 1−λj(1)
这里还有一点需要注意,我们假设 S 1 S_1 S1特征值的顺序是按降序排列的(那么 S 2 S_2 S2的特征值就是按升序排列),即
这种排序的主要目的是为了以后分析的便利性,例如在运动想象分类中提取最有效的空间滤波器。
协方差矩阵是半正定矩阵(positive semidefinite),而半正定矩阵的特征值均为非负。故 S 1 S_1 S1和 S 2 S_2 S2的特征值在0~1之间
以上就是原始CSP算法的基本内容,在得到空间滤波器矩阵 W W W后( W W W的每一列都是一个空间滤波器),就可以对信号进行变换 Z = W T E Z=W^TE Z=WTE,而 Z Z Z的每一行则代表了滤波后的一个时序特征信号,接下来便可以对 Z Z Z做进一步的分析。
简单回顾一下CSP算法,不难发现CSP实质求解的是这样一个问题,寻找正交矩阵 W W W使得以下条件成立:
让我们对以上的公式做一些变换,把第一个和第二个公式相加
又因为 W W W是正交矩阵,故 W T = W − 1 W^T=W^{-1} WT=W−1,从而
把上式代入 C ˉ 1 W = W D 1 \bar{C}_1W=WD_1 Cˉ1W=WD1,可得
这个式子是不是看起来很像特征向量定义的公式 C ˉ 1 W = W D 1 \bar{C}_1W=WD_1 Cˉ1W=WD1呢?只不过等式右边多了一个矩阵 C ˉ 1 + C ˉ 2 \bar{C}_1+\bar{C}_2 Cˉ1+Cˉ2。
这类形式的问题叫广义特征值问题,求解广义特征值问题是脑-机接口领域传统空间滤波方法的基础,大量的算法(CSP、TRCA等)都可以转化为这一形式。
在讨论CSP的第二种表述之前,我们需要了解一个数学概念广义雷利商(generalized Rayleigh quotient)。
广义雷利商长这样
其中 A A A和 B B B为半正定矩阵(读者可以简单理解为协方差矩阵), w w w是列向量,显然广义雷利商 R R R是一个实数。
如果我们求如下广义雷利商的优化问题,就会有一些有趣的结果
寻找 w w w使得 R R R最大,在数学上可以等价为求解下式(我就不证明了,感兴趣的读者可点击广义雷利商的链接查看证明过程)
这个公式就是上一节提到的广义特征值问题,也就是说,寻找 w w w使广义雷利商最大可以等价为求解 A A A和 B B B的广义特征值问题并找到使特征值 λ 1 \lambda_1 λ1最大所对应的特征向量 w w w。
如果我们继续寻找能够使 R R R第二大、第三大的 w w w,就会发现只要解出广义特征值问题的矩阵形式即可
其中 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ N \lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_N λ1≥λ2≥⋯≥λN, 特征值的数值也就是广义雷利商的数值。
如果读者明白广义雷利商和广义特征值问题之间的关联,就不难发现,上一节中推导的CSP求解问题可以变形为求解广义雷利商问题
这里 A = C ˉ 1 A=\bar{C}_1 A=Cˉ1、 B = C ˉ 1 + C ˉ 2 B=\bar{C}_1+\bar{C}_2 B=Cˉ1+Cˉ2, W W W矩阵是广义雷利商第一大、第二大至第N大向量 w w w组成的集合。
CSP的第三种表述形式需要绕点弯路。首先还是从CSP的原始形式出发,即寻找正交矩阵 W W W使得以下条件成立:
在第二个公式的左右两边同时右乘矩阵 W − 1 C ˉ 2 − 1 W^{-1}\bar{C}_2^{-1} W−1Cˉ2−1,可以得到
把该式代入 W T C ˉ 1 W = D 1 W^T\bar{C}_1W= D_1 WTCˉ1W=D1,替换掉 W T W^T WT,可得
上式左右两边左乘 C ˉ 2 W D 2 − 1 \bar{C}_2WD_2^{-1} Cˉ2WD2−1,可得
没错,我们又推出了熟悉的广义特征值问题 C ˉ 1 W = C ˉ 2 W Λ \bar{C}_1W=\bar{C}_2W\Lambda Cˉ1W=Cˉ2WΛ,再考虑广义雷利商与之的联系,可以得到CSP的第三种表述
相比CSP的原始形式和第二种表述形式,第三种表述形式更适合从直观上解释CSP在运动想象上有效的原因。
运动想象会产生事件相关同步(ERS)和事件相关去同步(ERD)的现象,简单来说就是从电信号上看,
某些脑区能量升高,某些脑区能量降低,故能量变化才是运动想象分类的关键特征。
我们前面提高过,方差可以看作一导信号能量的高低(协方差矩阵则是多导信号的能量反应),因此CSP的第三种表述形式实质体现这样一个问题:
寻找一种变换方式 w w w,使得变换后任务1的能量( w T C ˉ 1 w w^T\bar{C}_1w wTCˉ1w)和任务2的能量( w T C ˉ 2 w w^T\bar{C}_2w wTCˉ2w)差异最大化(其比值最大)。
CSP的这种特性恰好和运动想象的现象一致,CSP对能量特征做转换,强化了不同任务间能量差异。
关于CSP的第三种表述,最后还需要注意的一点是其同CSP原始形式和第二种表述形式并不完全等价,我们在推导第三种表述形式过程种始终没有用到这样一个约束条件 D 1 + D 2 = I D_1 + D_2 = I D1+D2=I。
这表明,第三种形式是CSP的一种泛化形式,其和CSP原始形式和第二种表述的差异仅在于特征值 Λ \Lambda Λ不要求在0~1的范围内,具体来说,它们的特征值间存在这样一种关系