论文及改进版源码链接:
(论文加源码)基于DEAP的脑电情绪识别论文源码改进版本(附论文代码,lstm和rnn)
https://download.csdn.net/download/qq_45874683/85002208
目的
对Acharya D.等人在论文中使用的LSTM RNN模型进行修改,以获得约92.17%(觉醒)和约94.46%(效价)的准确度,之前论文的准确率是88.6%和88.72%。如果对之前的论文不了解,可以先阅读之前对该论文的讲解:
论文讲解:
(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比
之前论文使用的模型及特征提取以及调整超参数的步骤都在上一篇博客中详细介绍,因此本文主要介绍改进的步骤。
数据预处理:
这里使用了DEAP数据集,其中32名参与者的每个数据包括32个EEG通道的8064个读数,以及40个视频试验的每个读数。
Shape: (Subjects, Trials, Steps, Channels)
Shape: (32, 40, 8064, 32)
傅里叶变换:
使用FFT提取分离的带波δ-δ(1-4 Hz)、θ-θ(4-8 Hz)、α-α(8-14 Hz)、β-β(14-31 Hz)和γ-γ(31-50 Hz)。FFT使用256的窗口,平均每个视频的频带功率为2秒,窗口每0.125秒滑动一次。
Shape: (Subjects, Trials, FFT steps, Channels, Bandwaves)
Shape: (32, 40, 488, 32, 5)
Transform to
Shape: (624640, 160, 1)
LSTM模型结构:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
bidirectional (Bidirectional (None, 160, 256) 133120
_________________________________________________________________
dropout (Dropout) (None, 160, 256) 0
_________________________________________________________________
lstm_1 (LSTM) (None, 160, 256) 525312
_________________________________________________________________
dropout_1 (Dropout) (None, 160, 256) 0
_________________________________________________________________
lstm_2 (LSTM) (None, 160, 64) 82176
_________________________________________________________________
dropout_2 (Dropout) (None, 160, 64) 0
_________________________________________________________________
lstm_3 (LSTM) (None, 160, 64) 33024
_________________________________________________________________
dropout_3 (Dropout) (None, 160, 64) 0
_________________________________________________________________
lstm_4 (LSTM) (None, 32) 12416
_________________________________________________________________
dropout_4 (Dropout) (None, 32) 0
_________________________________________________________________
dense (Dense) (None, 16) 528
_________________________________________________________________
activation (Activation) (None, 16) 0
_________________________________________________________________
dense_1 (Dense) (None, 2) 34
_________________________________________________________________
activation_1 (Activation) (None, 2) 0
=================================================================
Total params: 786,610
Trainable params: 786,610
Non-trainable params: 0
_________________________________________________________________
分类
DEAP数据集包含4个不同的标签:优势、喜好、觉醒和效价。在这里,我们使用唤醒和配价来获得Russell's循环模型中的情绪趋势。为了仅预测趋势,我们需要在中间标记阈值以获得二进制值,因为DEAP数据集中的每个标签的得分在1到10之间。
结论
在对模型进行75/25分割训练后,我们得到的(觉醒)准确率和损失值约为92.17%和0.2001(左),(效价)准确率和损失值约为94.46%和0.1553(右).
PCA主成分分析
为了获得更好的结果,采用了通道优化算法主成分分析(PCA),但是,这并没有优化唤醒分类的准确性,而且训练过程的效率也明显低于之前的尝试。唤醒分类的准确率为83.39%,损失率为0.3658%
mRMR
使用信道选择算法最小冗余最大相关性(mrmr),与未进行信道优化的情况下获得了相同的精度,但是,这里仍然使用20个信道,可能只有在删除更多信道时,才能获得不同的结果。唤醒分类的准确率为92.74%,损失率为0.1892;配价分类的准确率为92.36%,损失率为0.1983。
PSO
在加入粒子群优化(PSO)作为通道选择方法后,结果差异相对较大,因此对于唤醒,我们在第一次训练过程中获得了约87.08%的准确率,损失了0.3120,但在第二次运行时,模型没有正确训练,因此在整个训练过程中,准确率保持在58.91%。你可以看到下面的ruslts。左边是第一个训练程序,右边是第二个。
另一方面,PSO和配价标签的训练效果非常好,因此我们得到了大约93.15%的准确率和0.1874的损失。
GWO
Grey Wolf optimizer也属于基于swarm的特征选择算法,在这里也被用于减少通道,该算法提供了一个性能和准确的分类。唤醒准确率:88.74%,丢失率:0.2765;配价准确率:93.83%,丢失率:0.1669。
CS
Cuckoo搜索算法也是基于群体的特征选择算法的一部分,在我们的例子中,该算法提高了分类:唤醒准确率:93.33%损失:0.1846,配价准确率:93.67%损失:0.1738。