特征提取的算法
CSP共空间模式
共空间模式(CSP)是一种对二分类任务下的空间滤波特征提取算法,能够从多通道的脑机接口数据里面提取出每一类的空间分布成分。共空间模式算法的基本原理是利用矩阵的对角化,找到一组最优的空间滤波器进行投影,使得两类信号的方差值差异最大化,从而得到具有较高区分度的特征向量。
假设 X 1 X_1 X1和 X 2 X_2 X2分别为二分类想象运动任务下的多通道诱发相应时空信号矩阵,他们的维数均为 N ∗ T N*T N∗T,N表示脑电的通道数, T T T为每个通道所采集的样本数。为了计算协方差矩阵,现在假设 N < T N<T N<T。在两种脑电想象任务情况下,一般采用复合源的数学模型来描述 E E G EEG EEG信号,为了方便计算。一般忽略噪声所产生的影响。 X 1 X_1 X1和 X 2 X_2 X2可以分别写成:
X 1 = [ C 1 C M ] [ S 1 S M ] X_1=\left[\begin{matrix} C_1 C_M \end{matrix} \right] \left[\begin{matrix} S_1 \\S_M \end{matrix} \right] X1=[C1CM][S1SM], X 2 = [ C 2 C M ] [ S 2 S M ] X_2=\left[\begin{matrix} C_2 C_M \end{matrix}\right] \left[\begin{matrix} S_2 \\ S_M\end{matrix}\right] X2=[C2CM][S2SM] (1)
( 1 ) (1) (1) 式中,分别代表两种类型任务,不妨假设者两个源信号是相互线性独立的; S M S_M SM代表两种类型任务下所共同拥有的源信号,假设 S 1 S_1 S1是由 m 1 m_1 m1个源所构成的, S 2 S_2 S2是由 m 2 m_2 m2个源所构成的,则 C 1 C_1 C1和 C 2 C_2 C2便是由 S 1 S_1 S1和 S 2 S_2 S2相关的 m 1 m_1 m1和 m 2 m_2 m2个共同空间模式组成的,由于每个空间模式都是一个 N ∗ 1 N*1 N∗1维的向量,现在用这个向量来表示单个的源信号所引起的信号在 N N N个导联上的分布权重。 C M C_M CM表示的是与 S M S_M SM相应的共有的空间模式。 C S P CSP CSP算法的目标激就是要设计空间滤波器 F 1 F_1 F1和 F 2 F_2 F2得到空间因子 W W W
1.1求两类数据的混合空间协方差矩阵
X 1 X_1 X1和 X 2 X_2 X2归一化后的协方差矩阵 R 1 R_1 R1和 R 2 R_2 R2分别为:
R 1 = X 1 X 1 t r a c e ( X 1 X 1 T ) , R 2 = X 2 X 2 t r a c e ( X 2 X 2 T ) R_1=\frac{X_1X_1}{trace(X_1X_1^T)},R_2=\frac{X_2X_2}{trace(X_2X_2^T)} R1=trace(X1X1T)X1X1,R2=trace(X2X2T)X2X2 ( 2 ) (2) (2)
( 2 ) (2) (2)式中: X T X_T XT表示 X X X矩阵的转置, t r a c e ( X ) trace(X) trace(X)表示对角线上元素的和,然后求混合空间协方差矩阵R:
R = R ˉ 1 + R ˉ 2 R=\bar{R}_1+\bar{R}_2 R=Rˉ1+Rˉ2 ( 3 ) (3) (3)
( 3 ) (3) (3) 式中: R ˉ i ( i = 1 , 2 ) \bar{R}_i(i=1,2) Rˉi(i=1,2) 分别表示任务12实验的平均协方差矩阵
1.2应用主成分分析法,求出白化特征值矩阵P
对混合空间协方差矩阵 R R R式进行特征值分解
R = U λ U T R=UλU^T R=UλUT ( 4 ) (4) (4)
(
4
)
(4)
(4)式中:
U
U
U是矩阵
λ
λ
λ的特征向量矩阵,
λ
λ
λ是对应的特征值构成的对角阵。将特征值及逆行降序排列,白化值矩阵为:
P
=
λ
−
1
U
T
P=\sqrt{λ^{-1}}U^T
P=λ−1UT
(
5
)
(5)
(5)
1.3构造空间滤波器
对 R 1 R_1 R1和 R 2 R_2 R2进行如下变换:
S 1 = P R 1 P T , S 2 = P R 2 P T S_1=PR_1P^T,S_2=PR_2P^T S1=PR1PT,S2=PR2PT ( 6 ) (6) (6)
然后对 S 1 S_1 S1和 S 2 S_2 S2做主分量分解,得到:
S 1 = B 1 λ 1 B 1 T , S 2 = B 2 λ 2 B 2 T S_1=B_1λ_1B_1^T,S_2=B_2λ_2B_2^T S1=B1λ1B1T,S2=B2λ2B2T
通过上面的式子可以证明矩阵 S 1 S_1 S1的特征向量和矩阵 S 2 S_2 S2的特征向量矩阵是相等的,即:
B 1 = B 2 = V B_1=B_2=V B1=B2=V
与此同时,两个特征值的对角阵 λ 1 λ_1 λ1和 λ 2 λ_2 λ2之和为单位矩阵,即:
λ 1 + λ 2 = I λ_1+λ_2=I λ1+λ2=I
由于两类矩阵的特征值相加总是1,则 S 1 S_1 S1的最大特征值所对应的特征向量使 S 2 S_2 S2有最小的特征值,反之亦然。
把 λ 1 λ_1 λ1中的特征值按照降序排列,则 λ 2 λ_2 λ2中对应的特征值按升序排列,根据这点可以推断出 λ 1 λ_1 λ1和 λ 2 λ_2 λ2具有下面的形式:
白化EEG到与
λ
1
λ_1
λ1和
λ
2
λ_2
λ2中的最大特征值对应的特征向量的变换对于分离两个信号矩阵中的方差是最佳的。投影矩阵
W
W
W是对应的空间滤波器为:
W
=
B
T
P
W=B^TP
W=BTP
1.4特征提取
将训练集的运动想象矩阵 X L , X R X_L,X_R XL,XR经过构造的相应滤波器 W W W滤波可得特征 Z L , Z R Z_L,Z_R ZL,ZR为:
Z L = W × X L Z_L=W×X_L ZL=W×XL
Z R = W × X R Z_R=W×X_R ZR=W×XR
根据
C
S
P
CSP
CSP算法在多电极采集脑电信号特征提取的定义,本研究选取
f
L
f_L
fL和
f
R
f_R
fR为想象左和想象右的特征向量,
定义如下:
f L = v a r ( Z L ) ∑ v a r ( Z L ) f_L = \frac{var(Z_L)}{\sum{var(Z_L)}} fL=∑var(ZL)var(ZL)
对于测试数据 X i X_i Xi来说,其特征向量 f i f_i fi提取方式如下,并与 f L f_L fL和 f R f_R fR进行比较以确定第i次想象为想象左或者想象右。
{
Z
i
=
W
×
X
i
f
i
=
v
a
r
(
Z
i
)
∑
v
a
r
(
Z
i
)
\left\{ \begin{aligned} Z_i& = & W×X_i \\ f_i& = & \frac{var(Z_i)}{\sum{var(Z_i)}} \end{aligned} \right.
⎩⎪⎨⎪⎧Zifi==W×Xi∑var(Zi)var(Zi)