(DEAP)基于图卷积神经网络的脑电情绪识别(附代码)

1. 数据集介绍以及特征部分见上篇文章:

DEAP数据集介绍以及特征提取部分

深度学习基于DEAP的脑电情绪识别情感分类(附代码)_qq_3196288251的博客-CSDN博客

2. 图卷积神经网络哟结合LSTM

本文主要介绍利用图卷积神经网络结合LSTM进行脑电情绪识别。

        由于脑电通道的排列具有空间特征,而调用卷积神经网络或者LSTM等模型只能单一的处理频域特征或者时域特征。而图卷积神经网络可以高效的将频域特征,时域特征和空间域特征结合起来一起分析。对于脑电情绪识别具有重大作用。

2.1 将脑电数据处理成图

       1. 首先要将DEAP数据处理成图数据,调用pyg库的InMemoryDataset等函数,重写process函数。(建议学习一下pyg库的各种基础知识)

         图的基本知识:点、点的属性、边、边的权重四个基本元素。因此构建图的过程中,首先确认什么为点,点的属性又是什么,以及如何确认边和边的权重。

         点:直接用脑电通道构成点。

         点属性:自己设定

          如何确定边:最简单的就是直接利用空间距离,设定好一个阈值,小于某个距离的确定为边。其他的可以使用各种连通性指标。例如 等等。其中脑电通道的坐标数据及距离见链接:

           脑电通道坐标距离

           脑电电极位置适用于DEAP数据集-深度学习文档类资源-CSDN下载

           边权重:确定边的时候所用到的数值。

           通过以上四个属性便可将频域特征,时域特征和空间域特征结合起来一起分析。

如图:

通过邻接矩阵选取边:

(DEAP)基于图卷积神经网络的脑电情绪识别(附代码)_第1张图片

 处理边权重和点属性:

(DEAP)基于图卷积神经网络的脑电情绪识别(附代码)_第2张图片

        由于边权重和点属性可以采取不同方案,从而组成不同的图信息。

        本代码采用不同的方案共构成了6种特征组合,并构建了两种模型进行训练。

两层GNN模型:

(DEAP)基于图卷积神经网络的脑电情绪识别(附代码)_第3张图片

 GNN结合LSTM:

(DEAP)基于图卷积神经网络的脑电情绪识别(附代码)_第4张图片

 最终结果准确率达到了95%。

(DEAP)基于图卷积神经网络的脑电情绪识别(附代码)_第5张图片

更详细的细节建议看源码或者私聊我。

其中包含图卷积神经网络处理DEAP数据集进行脑电情绪识别的代码,准确率达到90。
主要是每一行代码都写满了注释,每一步都解释的很清楚,很适合新手学习。

这是一个完整的深度学习脑电情绪识别的项目,从数据提取到数据处理,再从数据处理到特征提取以及模型训练,优化参数,验证测试,每一行都写好了注释,很适合新手第一次学习该类型代码。

举个例子:

(DEAP)基于图卷积神经网络的脑电情绪识别(附代码)_第6张图片

 可以看到函数前面写好了函数名、参数、返回值、功能
代码部分,几乎每一行都写满了是干啥的,甚至很多行下面写了print(...) 。

例如:

  print(batch) 是输出这个变量值 ,空格后面表示的是输出的结果

 写出了输出的结果,以及print(out.shape)  显示输出的矩阵是1*1维的。

 print(type)  显示了生成变量的类型。

本研究在PyCharm上完成编程,环境搭建为Python3.7版本,CUDA为11.1版本,PyTorch为1.8.1版本。通过Anaconda来构建虚拟环境。

每一行都写满了代码注释,同时有每一行的输出,输出类型,输出维度也都写了。

源码链接:基于图卷积的脑电情绪识别

https://download.csdn.net/download/qq_45874683/20242874?spm=1001.2014.3001.5503

你可能感兴趣的:(脑电情绪识别,python,神经网络,深度学习,人工智能)