利用Brainstorm软件进行ERP数据的解码

2020-11-19 11:37:18 浏览数 (1)

《本文同步发布于“脑之说”微信公众号,欢迎搜索关注~~》

所谓的ERP数据的解码(decoding)其实就是利用机器学习方法对两种状态或者两组被试的ERP数据进行分类。Brainstorm软件中有一个机器学习的功能模块,专门用于ERP数据的解码,由于是GUI操作界面,因此对于新手朋友来说比较容易上手。笔者在这里对Brainstorm软件的这个模块的使用方法进行详细说明,希望对需要的朋友有所帮助。还不知道如何安装Brainstorm的朋友来说,可以参考脑之说公众号之前推送的一篇文章《EEG/MEG数据处理工具包Brainstorm的下载与安装教程》。本文依据Brianstorm官网指导手册整理而成。

ERP数据的导入

  为了便于说明,这里笔者采用1个被试2种状态的ERP数据,数据为60通道,condition1共有49个ERP,condition2共有145个ERP,数据是经过EEGlab工具包预处理后得到的干净数据。 1.打开Briansotrm工具包:在Matlab命令窗口中输入brainstorm; 2.建立新的Protocol:点击File—New Protocol,按如下设置后点击Create:

图1图1

3.在新建立的Protocol中新建1个被试:具体按下图进行操作,最后点击Save即可。

图2图2
图3图3

4.导入该被试的ERP数据:具体按下图进行操作

图4图4

在弹出的选择窗口中选择该被试两种condition下的ERP数据,如下图

图5图5

5.提取ERP数据到Brainstorm的database中:具体按如下操作

图6图6

在弹出的如下界面中,设置需要的event code,点击Import即可:

图7图7

对Condition2也进行同样的操作,最后可以看到Condition1中有49个ERP,condition2中有145个ERP,如下图:

图8图8

ERP数据的decoding

1.由于在进行ERP数据解码时要求两种条件下的ERP数据数量应该一致,因此,我们分别选择49个condition1和condition2的ERP数据,分别拖入Brainstorm下方Process2的Files A和Files B:

图9图9

2.此时,点击工具包左下角的RUN—Process selection—decoding—Classification with cross-validation:

图10图10

在弹出的界面中可以选择所用的机器学习分类方法,包括3个:Matlab自带的SVM、LibSVM工具包、Matlab中的线性判别分析LDA方法。这里,笔者选择Matlab自带的SVM方法,交叉验证的fold数保持默认10.

图11图11

设置好后,点击Run,经过几分钟的等待会得到如下结果:

图12图12

双击点击打开,结果如下:

图13图13

图中的横坐标表示时间,纵坐标表示decoding的准确度,这个图表示的是在每一个时间点处两种状态的分类准确度。 至此,笔者对如何利用Brainstorm软件进行ERP解码的操作步骤进行了详细说明。

0 人点赞