特征提取算法 | 共空间模式 Common Spatial Pattern(CSP)

更多技术,第一时间送达

共空间模式CSP

共空间模式(Common Spatial Pattern, CSP)是一种对两分类任务下的空域滤波特征提取算法,能够从多通道的脑机接口数据里面提取出每一类的空间分布成分。公共空间模式算法的基本原理是利用矩阵的对角化,找到一组最优空间滤波器进行投影,使得两类信号的方差值差异最大化,从而得到具有较高区分度的特征向量。

共空间模式理论

假设X1X2 分别为两分类想象运动任务下的多通道诱发响应时-空信号矩阵,他们的维数均为N∗T ,N为脑电通道数,T 为每个通道所采集的样本数。为了计算其协方差矩阵,现在假设N<T.在两种脑电想象任务情况下,一般采用复合源的数学模型描述EEG信号。为了简化计算,常忽略噪声所带来的影响。X1X2分别为:

上式中,S_1和S_2 分别代表两种类型任务。假设两种信号源是相互线性独立的;S_M代表两种类型任务下所共同拥有的源信号,假设S_1是由m1个源所构成的,S_2是由m2个源所构成,则 C_1和C_2便是由S_1和S_2相关的m1 和m2个共同空间模式组成的。由于每个空间模式都是一个N∗1维的向量,现在用该向量来表示单个的源信号所引起的信号在N个导联上的分布权重。C_M表示的是与S_M相应的共有的空间模式。CSP算法的目标就是要设计空间滤波器F1和F2得到空间因子W。

1.求解协方差矩阵

时空信号矩阵X1X2 归一化的协方差矩阵R1和R2:

上式中, X^T表示矩阵X的转置,trace(X)表示对矩阵对角线上元素求和。之后求解混合空间的协方差矩阵R:

上式中,

分别为任务1,2的平均协方差矩阵。

2.构造空间滤波器

2.1 正交白化变换求白化特征矩阵P

由于混合空间协方差矩阵R是正定矩阵,由奇异值分解定理进行特征分解:

上式中,U是特征向量矩阵,λ为对应的特征值的对角阵,按特征值按降序排列,白化转换U可得:

2.2 构建空间滤波器

将矩阵P作用于C_1和C_2可得:

S_1、S_2 具有公共特征向量,且存在两个对角矩阵λ1、λ2和相同的特征向量矩阵B, 对S_1、S_2进行主分量分解,可得:

且两个特征值的对角阵λ1 和λ2 之和为单位矩阵:

由上式可知,若λ1中的特征值按照降序排列,则λ2中对应的特征值按升序排列。由于λ1、λ2为S_1、S_2的对角矩阵,所以对于特征向量矩阵B,当S_1有最大的特征值时,S_2具有最小的特征值。因此可以利用矩阵B实现两类问题的分类,由此得到投影矩阵W,投影矩阵WWW就是对应的空间滤波器。

2.3 特征提取

将训练集的运动想象矩阵XL 和XR经过滤波器W滤波可得特征ZL和ZR  :

对于测试数据Xi,其特征向量fi提取方式如下,

将fi与fL和fR进行比较以确定第i次想象为想象左还是想象右。根据CSP算法在多电极采集脑电信号特征提取的定义,其中fL和fR的定义如下:

Matlab代码:

clc;clear;EEGSignals = load('graz_data/CSP_train.mat'); % 加载带通滤波后的脑电数据%check and initializationsEEG_Channels = size(EEGSignals.x_train,2);EEG_Trials = size(EEGSignals.x_train,3);classLabels = unique(EEGSignals.y_train);% Return non-repeating valuesEEG_Classes = length(classLabels);covMatrix = cell(EEG_Classes,1); % 协方差矩阵% Computing the normalized covariance matrices for each trialtrialCov = zeros(EEG_Channels,EEG_Channels,EEG_Trials);for i = 1:EEG_Trials E = EEGSignals.x_train(:,:,i)'; EE = E*E'; trialCov(:,:,i) = EE./trace(EE); % 计算协方差矩阵endclear E;clear EE;% 计算每一类样本数据的空间协方差之和for i = 1:EEG_Classes covMatrix{i} = mean(trialCov(:,:,EEGSignals.y_train == classLabels(i)),3);end% 计算两类数据的空间协方差之和covTotal = covMatrix{1} + covMatrix{2};% 计算特征向量和特征矩阵[Uc,Dt] = eig(covTotal);% 特征值要降序排列eigenvalues = diag(Dt);[eigenvalues,egIndex] = sort(eigenvalues, 'descend');% 降序Ut = Uc(:,egIndex);% 矩阵白化P = diag(sqrt(1./eigenvalues))*Ut';% 矩阵P作用求公共特征向量transformedCov1 transformedCov1 = P*covMatrix{1}*P';%计算公共特征向量transformedCov1的特征向量和特征矩阵[U1,D1] = eig(transformedCov1);eigenvalues = diag(D1);[eigenvalues,egIndex] = sort(eigenvalues, 'descend');% 降序排列U1 = U1(:, egIndex);% 计算投影矩阵WCSPMatrix = U1' * P;% 计算特征矩阵FilterPairs = 2; % CSP特征选择参数m CSP特征为2*m个features_train = zeros(EEG_Trials, 2*FilterPairs+1);features_test = zeros(EEG_Trials, 2*FilterPairs+1);Filter = CSPMatrix([1:FilterPairs (end-FilterPairs+1):end],:);%extracting the CSP features from each trialfor t=1:EEG_Trials %projecting the data onto the CSP filters projectedTrial_train = Filter * EEGSignals.x_train(:,:,t)'; projectedTrial_test = Filter * EEGSignals.x_test(:,:,t)'; %generating the features as the log variance of the projected signals variances_train = var(projectedTrial_train,0,2); variances_test = var(projectedTrial_test,0,2); for f=1:length(variances_train) features_train(t,f) = log(variances_train(f)); % features_train(t,f) = log(variances_train(f)/sum(variances_train)); %修改后对应公式 end for f=1:length(variances_test) features_test(t,f) = log(variances_test(f)); %features_test(t,f) = log(variances_test(f)/sum(variances_test)); % 修改后对应公式 endendCSP_Train_feature = features_train(:,1:4);CSP_Test_feature = features_test(:,1:4);save('CSP_feature.mat','CSP_Train_feature','CSP_Test_feature');

脑机接口BCI爱好者交流群:QQ群:903290195

(0)

相关推荐

  • 正定矩阵的几何意义

    正定矩阵表达了一个高维空间的"椭球体",特征向量是这个椭球体主轴的方向,特征值为轴的长度.例如一组数据构成的矩阵是正定的,那么可以想像它们是分布在一个高维空间的椭球体内,椭球的几何 ...

  • 矩阵相似的含义

    如果存在一个可逆矩阵M,使得B=M-1AM则矩阵B与A为相似矩阵.如果矩阵A的特征向量构成的矩阵为S,特征值C,我们知道A=S-1CS.所以特征值为A的最小相似矩阵.(-1代表逆,编辑工具不友好)大道 ...

  • 再谈数学概念

    以前我曾经谈过概念,这篇文章再谈一谈和概念直接有关系的定义. 定义为什么重要?我不想抽象地谈论定义,只想从对大家最有直接帮助的地方谈起.就我个人的认识来说,定义既是概念的必要条件,也是概念的充分条件, ...

  • 脑电特征提取算法 | 共空间模式 Common Spatial Pattern(CSP)研究进展、算法原理及其它的代码案例

    更多技术干货第一时间送达 大家好! 今天Rose小哥给大家分享一篇常见的脑电特征提取算法--共空间模式(Common Spatial Pattern, CSP)的研究进展.算法原理及其它的代码案例. ...

  • 科研 | Environ. Microbiol.:宏基因组研究植物病原菌间的共现模式和种内异质性

    编译:YQ,编辑:小菌菌.江舜尧. 原创微文,欢迎转发转载. 导读 传统植物病理学基于单一病原-宿主进行研究,防治措施也基于单一致病菌甚至单一基因型.然而现代植物病理学强调病原的种群多样性以及制定防治 ...

  • 02.07 使用建造者模式(Builder Pattern)重新构建游戏页面

    这是<小游戏从0到1设计模式重构>系列内容第9篇,所有源码及资料在"程序员LIYI"公众号回复"小游戏从0到1"获取. 建造者模式是将一类复杂产品的 ...

  • 【3/25】使用组合模式(Composite Pattern)实现布局容器

    这是<小游戏从0到1设计模式重构>系列内容第3篇,所有源码及资料在"程序员LIYI"公号回复"小游戏从0到1"获取. 组合模式(Composite) ...

  • 小布助手学术顾问委员会组建,构筑AI产业融合共创新模式

    全球AI创新已进入到整个技术体系.人才培养.产业创新与应用聚合的综合比拼阶段. 作 者 丨 宿艺 编 辑 丨 子淇 万物互融已是确定性的产业共识,而AI正在成为这场新技术变革与产业演进的核心驱动力之一 ...

  • 运动想象系统中的特征提取算法和分类算法

    更多技术,第一时间送达 特征提取算法 (1)时域方法:这是比较早期的EEG信号处理方法,主要通过提取EEG的波形特征,比如振幅.方差.波峰等,对EEG信号进行分析: (2)频域方法:运动想象EEG信号 ...

  • EEG信号特征提取算法

    更多技术干货第一时间送达 时域分析与频域分析 EEG信号特征提取就是以脑电信号作为源信号,确定各种参数并以此为向量组成表征信号特征的特征向量. 特征參数主要包括时域信号(如幅值)和频域信号(如频率)两 ...

  • 运动想象系统的原理以及常见的特征提取算法和分类算法

    更多技术干货第一时间送达 Hello,大家好! Rose小哥今天给大家介绍一些运动想象系统的原理以及运动想象系统中常见的特征提取算法和分类算法. 第一部分:运动想象系统的原理及组成[1] 图1来源于文 ...

  • 《哈哈哈哈哈》:共创模式下让真人秀跳出套路

    撰 文丨陈   桐 编 辑丨郑   文 文娱价值官解读: ID:wenyujiazhiguan 当我们对一切都在导演掌控之中的综艺司空见惯的时候,如果一档完全不按"套路"出牌.不可 ...