公共空间模式(CSP)算法的过程如下: (1)将原始数据按照类别进行分段。两类样本数据E可分类为
E
1
E_1
E1和
E
2
E_2
E2。
E
1
E_1
E1为第一类样本数据,
E
2
E_2
E2为第二类样本数据。 (2)计算分段后的原始数据的协方差矩阵,协方差矩阵的计算公式为:
C
i
=
E
i
⋅
E
i
T
t
r
a
c
e
(
E
i
⋅
E
i
T
)
(
i
=
1
,
2
)
C_i = \frac{E_i\cdot E_i ^ \mathrm{ T }}{trace(E_i\cdot E_i ^ \mathrm{ T })} (i =1,2)
Ci=trace(Ei⋅EiT)Ei⋅EiT(i=1,2)
t
r
a
c
e
(
E
)
trace(E)
trace(E)表示求矩阵E的迹。 分别计算分段后原始数据的协方差矩阵,
C
1
C_1
C1为第一类样本数据的空间协方差矩阵的期望,
C
2
C_2
C2表示第二类样本的空间协方差矩阵的期望,
C
c
C_c
Cc表示两类数据的空间协方差矩阵之和,则有
C
c
=
C
1
+
C
2
C_c = C_1+C_2
Cc=C1+C2 (3)正交白化变换并且同时对角化(需理解矩阵白化的定义)
C
c
C_c
Cc是正定矩阵,由奇值分解定理则:
C
c
=
U
c
Λ
c
U
c
T
C_c= U_c Λ_c U_c^ \mathrm{ T }
Cc=UcΛcUcT
U
c
U_c
Uc为特征向量矩阵,
Λ
c
Λ_c
Λc表示特征值的对角阵,且特征值是降序排列的。 白化转换
U
c
U_c
Uc可得到:
P
=
1
Λ
c
⋅
U
c
T
P= \frac{1}{\sqrt{Λ_c}}\cdot U_c^ \mathrm{ T }
P=Λc1⋅UcT 将矩阵
P
P
P作用于
C
1
、
C
2
C_1 、C_2
C1、C2,可得到:
S
1
=
P
C
1
P
T
,
S
2
=
P
C
2
P
T
S_1=PC_1 P^T,S_2=PC_2 P^T
S1=PC1PT,S2=PC2PT
S
1
、
S
2
S_1 、S_2
S1、S2具有公共特征向量,而且存在两个对角矩阵
Λ
1
、
Λ
2
Λ_1、Λ_2
Λ1、Λ2和特征向量矩阵
B
B
B,满足如下条件:
S
1
=
B
Λ
1
B
T
S_1=BΛ_1 B^T
S1=BΛ1BT
S
2
=
B
Λ
2
B
T
S_2=BΛ_2 B^T
S2=BΛ2BT
Λ
1
+
Λ
2
=
I
Λ_1+ Λ_2=I
Λ1+Λ2=I 其中
I
I
I为单位阵。由此可以看出
S
1
S_1
S1和
S
2
S_2
S2的特征值之和等于1。 (4)计算投影矩阵 对于特征向量矩阵
Q
Q
Q,当一个类别
S
1
S_1
S1有最大的特征值时,此时另一个类别
S
2
S_2
S2有最小的特征值,因此可以利用矩阵Q实现两类问题的分类,可以得到投影矩阵:
W
=
(
Q
T
P
)
T
W= (Q^T P)^T
W=(QTP)T (5)经过投影得到特征矩阵 将原始脑电数据E_(M×N)通过投影矩阵W进行投影得到特征矩阵:
Z
M
×
N
=
W
M
×
M
E
M
×
N
Z_{M\times N}= W_{M\times M} E_{M\times N}
ZM×N=WM×MEM×N 可选择
Z
M
×
N
Z_{M\times N}
ZM×N的前m行和后m行(2m<M)作为原始输入数据的特征 (6)特征归一化
y
i
=
log
(
v
a
r
(
Z
i
)
∑
n
=
1
2
m
v
a
r
(
Z
n
)
)
y_i = \log(\frac{var(Z_i)}{\sum_{n=1}^{2m}{var(Z_n)}})
yi=log(∑n=12mvar(Zn)var(Zi)) 其中
y
i
y_i
yi 为第i个样本归一化后的特征矩阵。 算法生成的CSP特征矩阵,其信息不是等效的。特征信息主要集中在特征矩阵的头部和尾部,而中间的特征信息不明显可以忽略,所以选取m行和后m行数据作为CSP特征提取的特征矩阵。