250707脑电分析课题进展——EEGLAB的使用
脑电分析课题进展
目录
- 脑电分析课题进展
- 一、概要
- 二、论文阅读
- (一)内容
- (二)创新
- (三)不足
- 三、EEGLAB的安装及使用
- (一)过程
- (二)结果
- 四、基础知识学习
- (一)机器学习
- (二)代码能力
- 五、总结与展望
一、概要
本周课题进展聚焦于论文阅读,EEGLAB的安装与使用以及基础知识的学习(包括机器学习与python的代码学习)
- 论文阅读以周梓涵学姐的学位论文为参考《基于注意力机制的冥想脑电分类识别研究》
- EEGLAB参考毕明川学长的总体处理流程
- 机器学习继续在神经网络的道路上学习
- python代码能力以学习NumPy,Pandas以及Matplotlib三大数据分析库为主
二、论文阅读
[1] 周梓涵. 基于注意力机制的冥想脑电分类识别研究[D]. 集美大学, 2025.
(一)内容
本文主要围绕Global Adaptive Transformer (GAT)模型展开研究,旨在解决冥想脑电分类中的域适应挑战,并实现跨数据集迁移 。研究内容包括:
-
GAT模型复现与性能验证:在BCI Competition IV 2a数据集上复现GAT的并行时空卷积与注意力适配器架构,并验证其性能 。
-
跨数据集迁移研究:将GAT模型迁移至自建冥想脑电数据集,并结合ICA-ADJUST联合去噪与频域特征强化策略进行优化 。
(二)创新
本文的创新点主要体现在将Global Adaptive Transformer(GAT)模型应用于冥想脑电分类的域适应问题,并结合特定的预处理和特征强化策略 。
(三)不足
本研究仍存在以下局限性:
-
模型性能差异:GAT模型复现结果与原论文有细微差距,可能需优化超参数或架构。
-
泛化能力待提高:训练集和验证集准确率差距提示模型可能已达当前架构上限,泛化能力仍有提升空间。
-
对冥想EEG特性优化不足:尽管表现良好,但对冥想脑电特有的低信噪比和节律特性(如 α/θ 波节律波动)的针对性优化还不够。
-
单一模态限制:目前仅使用脑电信号,未来可考虑融合心率变异性(HRV)、皮肤电反应(GSR)等其他生理信号。
笔记详见【论文阅读】基于注意力机制的冥想脑电分类识别研究(2025)
三、EEGLAB的安装及使用
本周参考了毕明川学长的应用EEGLAB来进行脑电数据的分析与处理
(一)过程
在刚开始使用之前安装好的MatlabR2024b版本进行导入EEGLAB14.1.1,发现Matlab版本过高,于是改用EEGLAB最新版2025.0.0。
在进行预处理测试时发现许多问题,如不能正确识别数据集等,于是在经历多次失败并无法调整后,再次改用Matlab版本。
错误示例:
主要表现为不能正确处理标签与数据的关系
14 channel with the same label found and importedChannel lookup: no location for MARKERChannel locations loaded successfully.Plotting...数组索引必须为正整数或逻辑值。出错 topoplot (第 638 行)ContourVals(Values) = 1;^^^^^^^^^^^^^^^^^^^出错 pop_topoplot (第 384 行)tmpobj = topoplot( SIGTMPAVG(:,index), EEG.chanlocs, options{:});^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^出错 test_single (第 43 行)pop_topoplot(EEG, 1, 1, 'EEG Topography', [0 0 1 1], 0, ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
接着采用的是MatlabR2016b版本,与EEGLAB14.1.1做到了很好的适配,但在进行处理的过程中发现版本有点落后,于是再次更换版本至MatlabR2018b,至此完全跑通代码。
注:MatlabR2018b在深度学习的架构上进行优化,建议进行相关分析的任务考虑R2018b及其之后的版本
(二)结果
以上为毕明川学长的结果
以上为本人跑出的结果,可以看见结果相似
核心步骤主要为
- 预处理
- 特征提取
- 分类
注:本次各软件及插件版本如下
软件:
MatlabR2018b
EEGLAB14.1.1
插件:
Adjust v1.1.1
dipfit v2.3
firfilt v2.8
四、基础知识学习
(一)机器学习
进行了神经网络的进一步学习,了解了神经网络的基本应用
详见【学习笔记】机器学习(Machine Learning) | 第七章|神经网络(2)
(二)代码能力
进一步学习python,本周进行了数据分析三大库的学习,分别是NumPy,Pandas以及Matplotlib。
这次学习我学会了应用python来进行基础的数据分析,为机器学习的数据处理能力打下基础,提升了代码能力。
具体练习代码参考详见以下
- python学习——Numpy库的基础
- python学习——Pandas库的基础
- python学习——Matplotlib库的基础
五、总结与展望
本周稳步进行课题研究,进一步了解脑电分析的内容,同时对基础能力的打磨更加扎实。
下一周将继续聚焦于论文阅读与深度学习,了解更多的知识,同时尝试完成周梓涵学姐论文的代码复现。