运动想象顶刊代码复现-2,数据集BCI IV-2a(python3.7+TensorFlow2.4.0)

记录自己学习过程中复现的代码 

原论文(出版时间2022.8)

Physics-Informed Attention Temporal Convolutional Network for EEG-Based Motor Imagery Classification
 

 期刊:( 影响因子11.6+)

IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS

摘要

英文:The brain-computer interface (BCI) is a cutting-edge technology that has the potential to change the world. Electroencephalogram (EEG) motor imagery (MI) signal has been used extensively in many BCI applications to assist disabled people, control devices or environments, and even augment human capabilities. However, the limited performance of brain signal decoding is restricting the broad growth of the BCI industry. In this article, we propose an attention-based temporal convolutional network (ATCNet) for EEG-based motor imagery classifification. The ATCNet model utilizes multiple techniques to boost the performance of MI classifification with a relatively small number of parameters. ATCNet employs scientifific machine learning to design a domain-specifific deep learning model with interpretable and explainable features, multihead self-attention to highlight the most valuable features in MI-EEG data, temporal convolutional network to extract high-level temporal features, and convolutional-based sliding window to augment the MI-EEG data effificiently. The proposed model outperforms the current state-of-the-art techniques in the BCI Competition IV-2a dataset with an accuracy of 85.38% and 70.97% for the subject-dependent and subject-independent modes, respectively.

翻译:脑机接口(BCI)是一项有可能改变世界的前沿技术。脑电图(EEG)运动图像(MI)信号已被广泛用于许多BCI应用中以协助残疾人控制设备或环境、甚至增强人的能力。然而大脑信号解码的有限性能限制了BCI行业的广泛发展。在这篇文章中,我们提出了一个基于注意力的时间卷积网络(ATCNet)用于基于EEG的运动图像分类。该ATCNet模型利用多种技术来提高MI分类的性能,参数数量相对较少。ATCNet采用了科学的机器学习来设计一个特定领域的深度学习模型,具有可解释和可说明的特征,多头自我关注来突出MI-EEG数据中最有价值的特征,时间卷积网络来提取高层次的时间特征,以及基于卷积的滑动特征。颞部卷积网络提取高层次的时间特征,基于卷积的滑动窗口有效地增强了MI-EEG数据。所提出的模型在BCI中的表现优于目前最先进的技术。在IV-2a数据集中,提议的模型优于目前最先进的技术,准确率为85.38%和70.97%。

 技术路线图

 

 实验环境

CUDA = 11.0

cudnn = 8.0

python = 3.7

tensorflow =2.4.0

实验结果

Subject: 1   best_run: 1   acc: 0.9149   kappa: 0.8866   avg_acc: 0.8629 +- 0.0124   avg_kappa: 0.8171 +- 0.0166
Subject: 2   best_run: 1   acc: 0.8090   kappa: 0.7454   avg_acc: 0.6448 +- 0.0326   avg_kappa: 0.5264 +- 0.0435
Subject: 3   best_run: 1   acc: 0.9861   kappa: 0.9815   avg_acc: 0.9410 +- 0.0143   avg_kappa: 0.9213 +- 0.0191
Subject: 4   best_run: 1   acc: 0.8264   kappa: 0.7685   avg_acc: 0.7677 +- 0.0258   avg_kappa: 0.6903 +- 0.0344
Subject: 5   best_run: 1   acc: 0.8681   kappa: 0.8241   avg_acc: 0.8017 +- 0.0142   avg_kappa: 0.7356 +- 0.0189
Subject: 6   best_run: 5   acc: 0.8194   kappa: 0.7593   avg_acc: 0.7118 +- 0.0170   avg_kappa: 0.6157 +- 0.0227
Subject: 7   best_run: 10  acc: 0.7257   kappa: 0.6343   avg_acc: 0.8986 +- 0.0296   avg_kappa: 0.8648 +- 0.0394
Subject: 8   best_run: 7   acc: 0.9271   kappa: 0.9028   avg_acc: 0.8722 +- 0.0133   avg_kappa: 0.8296 +- 0.0178
Subject: 9   best_run: 1   acc: 0.9080   kappa: 0.8773   avg_acc: 0.8778 +- 0.0186   avg_kappa: 0.8370 +- 0.0247

Average of 9 subjects - best runs:
Accuracy = 0.8650   Kappa = 0.8200

Average of 9 subjects x 10 runs (average of 90 experiments):
Accuracy = 0.8198   Kappa = 0.7598
 

 

源码

已上传我的资源:https://download.csdn.net/download/Nan_Feng_ya/88915595icon-default.png?t=N7T8https://download.csdn.net/download/Nan_Feng_ya/88915595

 结束

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
### 回答1: mi-bci是一种通过大脑信号实现人机交互的技术,它能够识别并分类人脑中的特定动作意图。运动想象分类就是将mi-bci应用于分类运动想象任务。下面是使用MATLAB编写的运动想象分类CNN-SAE程序。 首先,我们需要导入所需的MATLAB包和库。我们使用MATLAB的Deep Learning Toolbox功能来构建卷积神经网络(CNN)和稀疏自编码器(SAE)模型。导入数据集和标签集,包括训练集和测试集。 然后,我们需要对数据进行预处理。首先,我们将数据分为训练集和测试集,并将其归一化到0到1的范围内。接下来,我们将数据转换为适合卷积神经网络的形状。 创建CNN模型。我们使用卷积层、池化层和全连接层来构建CNN模型。对于卷积层,我们选择适当的卷积核大小和步幅来提取关键特征。池化层用于减小特征图的大小,并保持特征的一些不变性。全连接层用于分类任务。 进行训练和优化。我们使用训练集来训练CNN模型,并通过反向传播算法更新模型的权重和偏差。我们使用交叉熵损失函数和随机梯度下降算法来优化模型。 创建SAE模型。在CNN模型之后,我们使用稀疏自编码器来进一步提取特征。稀疏自编码器是一种无监督学习算法,它可以通过最小化重构误差来学习数据的低维表示。 最后,我们使用测试集来评估模型的性能。我们将模型的输出与真实标签进行比较,并计算分类准确率、精确度、召回率等指标。 总结而言,这是一个用于mi-bci分类的CNN-SAE程序。它通过训练卷积神经网络和稀疏自编码器来实现对运动想象任务的分类。通过该程序,我们可以有效地识别和分类运动想象任务,为mi-bci技术的应用提供了一种可行的方法。 ### 回答2: mi-bci是一种通过监测大脑运动想象来实现的脑机接口技术。在此问题中,我们需要用Matlab编写一个用于mi-bci分类的CNN-SAE(卷积神经网络稀疏自编码器)程序。 首先,我们需要导入所需的Matlab库和数据集。可以使用MATLAB中的`import`命令来导入相应的库函数和数据。 接下来,我们需要准备数据集。mi-bci数据集通常包含一系列带有分类标签的EEG(脑电图)数据,每个数据样本对应于被试者在不同想象动作下的大脑活动。我们需要将数据集划分为训练集和测试集,用于训练和评估CNN-SAE模型的性能。 然后,我们构建CNN-SAE模型。这个模型由多个卷积层、池化层和全连接层组成。每个层都有相应的参数,如滤波器大小、步长等。通过逐层设置这些参数,我们可以构建一个适合mi-bci分类任务的模型。 接下来,我们需要在训练集上训练CNN-SAE模型。训练过程通常包括多次迭代,每次迭代都会调整模型的权重和偏置,以最小化损失函数。使用训练数据,我们可以逐渐提高模型的准确性。 最后,我们可以使用测试集来评估模型的性能。将测试数据输入已经训练好的模型中,通过比较预测结果和真实标签,我们可以得到模型的准确率、精确度、召回率等性能指标。 在编写这个程序时,我们需要合理设置超参数,如学习率、迭代次数、卷积核个数等。这些超参数的选择会影响模型的性能和收敛速度。 综上所述,编写一个用于mi-bci分类的CNN-SAE程序,需要导入库函数和数据集、准备数据、构建模型、训练模型,并评估模型的性能。这只是一个大致的步骤,具体实现过程需要根据具体的mi-bci分类任务和数据集来确定。 ### 回答3: 运动想象分类是一种基于脑机接口技术的运动想象实验,通过分析被试者的大脑活动模式,将不同的运动想象分类成具体的动作类别。为了实现这个目标,可以使用一种叫做深度学习的机器学习方法中的卷积神经网络(CNN)。 MATLAB是一种常用的科学计算软件,也提供了深度学习工具箱,方便我们编写和运行深度学习代码。以下是一种用于运动想象分类的CNN-SAE(卷积神经网络-稀疏自编码器)的MATLAB代码: 1. 数据预处理: - 读取运动想象实验的脑电信号数据和相应的标签数据,其中标签表示被试者想象运动类型。 - 对脑电信号数据进行预处理,如滤波去噪、时域/频域特征提取等。 2. 数据划分: - 将脑电信号数据划分成训练集、验证集和测试集,一般采用交叉验证的方法。 3. 构建CNN网络: - 设计CNN网络的结构,包括卷积层、池化层、全连接层等。 - 设置相应的参数,如卷积核大小、卷积步长、池化窗口大小等。 4. 特征学习: - 使用训练集的数据和标签进行网络训练,使网络学习到适合运动想象分类的特征表示。 - 采用稀疏自编码器(SAE)作为中间层,增强特征表示的能力。 5. 分类: - 使用训练好的CNN-SAE模型对测试集进行分类。 - 计算分类精度和其他评价指标。 通过以上步骤,就可以使用MATLAB编写出运动想象分类的CNN-SAE程序。这个程序可以用于训练和分类运动想象实验的脑电信号数据,帮助我们分析和理解大脑活动模式,并实现准确的运动想象分类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值