EEG Feature Selection via Global Redundancy Minimization for Emotion Recognition 论文笔记

news/2024/5/19 16:40:45 标签: 特征提取, 情绪识别, EEG, 论文笔记

概述

提出了一种基于最小化全局冗余的特征提取算法(global redundancy minimization in orthogonal regression)。

研究动机

基于EEG情绪识别研究大多使用低密度(小于128个通道)的EEG数据,如SEED [71]和DEAP[72]数据库。低密度脑电图的缺点是其空间分辨率差。随着脑电设备的发展,高密度脑电(超过 128个通道)因其高空间分辨率在情绪识别领域受到越来越多的关注 。与低密度脑电信号相比,高密度脑电信号可以为情绪识别任务提供更丰富的空间信息。但基于EEG情绪识别数据 [16]、[17]的样本量小,高维EEG特征容易导致分类器过拟合和情识别性能差。

在现有的研究中[26],[47],高度相关特征的特征排名往往是几乎相等的,因为它们被认为对分类任务[26],[47]同样重要 。结果表明,在选取的特征子集中,得分最高的多个EEG 特征相互依赖、互为冗余[48]。由 冗余的EEG特征不能提供额外有用的 信息用于情绪识别,应该被去除[30]。

mRMR[20]和CMIM 方法[49]能在一定程度上最小化所选特征子集中的冗余信息。然而, 因为采用贪心策略评估特征相关性, 因此无法实现全局冗余最小化, 所选择的EEG特征子集不是最优输出 [47],[48]。

解决方案

针对这一问题,文章提出了一种新的EEG特征 选择方法,即基于正交回归的全局冗余最小化(GRMOR)。引入了一个全局冗余评估项来计算EEG特征与其他特征的冗余之和。该方法能有效地从全局角度识别冗余脑电信号 ,进而获得具有鉴别性的非冗余脑电信号特征子集。

GRMOR 方法 将全局冗余信息引入正交回归以准确评估冗余信息 高度相关的 EEG 特征之间的关系。 GRMOR 是最小化以下问题:
min ⁡ W , b , θ ∥ W T Θ X + b 1 n T − Y ∥ F 2 + λ θ T A θ  s.t.  W T W = I k , θ T 1 d = 1 , θ ≥ 0 \begin{aligned} &\min _{W, \mathbf{b}, \theta}\left\|W^{T} \Theta X+\mathbf{b} \mathbf{1}_{n}^{T}-Y\right\|_{F}^{2}+\lambda \boldsymbol{\theta}^{T} A \boldsymbol{\theta} \\ &\text { s.t. } W^{T} W=I_{k}, \boldsymbol{\theta}^{T} \mathbf{1}_{d}=1, \boldsymbol{\theta} \geq 0 \end{aligned} W,b,θminWTΘX+b1nTYF2+λθTAθ s.t. WTW=Ik,θT1d=1,θ0
其中,A为冗余特征矩阵(从公式上看像是一个魔改的余弦相似度,矩阵中的每个元素代表两个特征间的相似程度/冗余程度) ,W是正交约束的投影矩阵。 Θ \Theta Θ θ T 1 d = 1 , θ > 0 \theta^T1_d=1,\theta > 0 θT1d=1,θ>0是对角矩阵。
A i , j = ( B i , j ) 2 = ( f i T f j ∥ f i ∥ ∥ f j ∥ ) 2 A_{i, j}=\left(B_{i, j}\right)^{2}=\left(\frac{\mathbf{f}_{i}^{T} \mathbf{f}_{j}}{\left\|\mathbf{f}_{i}\right\|\left\|\mathbf{f}_{j}\right\|}\right)^{2} Ai,j=(Bi,j)2=(fifjfiTfj)2

{ f i = H x i T f j = H x j T \left\{\begin{array}{l} \mathbf{f}_{i}=H \mathbf{x}_{i}^{T} \\ \mathbf{f}_{j}=H \mathbf{x}_{j}^{T} \end{array}\right. {fi=HxiTfj=HxjT

H = I n − 1 n 1 n 1 n T H=I_{\mathrm{n}}-\frac{1}{n} \mathbf{1}_{n} \mathbf{1}_{n}^{T} H=Inn11n1nT

优化算法:

算法4.交替优化W(GPI[69]), Θ \Theta Θ

算法说明:先固定 Θ \Theta Θ优化W,使用GPI算法。再固定W,优化 Θ \Theta Θ,过程中使用了增广拉格朗日法对式子进行表换,通过算法3对 Θ \Theta Θ进行优化。

为什么可以解决

为了说明GRMOR方 从全局角度最小化冗余的机理,Eq.(11)中的全局冗余最小化项θ ta θ可以 转化为∑d i,j=1 Ai,jθi。GRMOR方法 首先采用基于正交 回归的误差最小项对EEG特征xi和xj的权重进行评分。Ai,j的 大值表示EEG特征xi与 xj高度相关。当θi > θj时,θj将变小到 使全局冗余项最小化。也就是说,当 向量xi和xj互为冗余时,在 迭代优化目标函数的过程中,θj的 值减小,θi的值保留。

上面是原文翻译,以下为个人复述:

因为A是不变的,当 A i , j A_{i,j} Ai,j的值很大时,证明两个特征高度相关,此时两个特征互为冗余,当 θ i > θ j \theta_i>\theta_j θi>θj的时候 θ j \theta_j θj会变小,从而在后期对特征进行排序,达到去冗余的目的。

实验

数据集

DEAP、SEED 、HDED。

DEAP:音乐诱发,32通道

SEED:视频诱发 ,62通道

HDED:文章自行采集的128通道数据,视频诱发。

**实验范式 **

在实验中,参与者被要求以一种舒适的方式放松地坐着,并保持长时间的注意力。每个实验对象依次观看12个电影片段。12个电影片段对应12个试验的脑电图数据,每个试验包括以下步骤:

(1)一个视频播放前5秒开始提示。

(2)一个电影片段3-5分钟的显示。

(3)观看电影后50秒内对性兴奋 和效价进行主观自我评价。

(4)下一段影片前15秒的短暂休息。实验过程如图1所示。共有12个试验,每个受试者的脑电图数据。脑电图记录由经验丰富的神经生理学专家进行检查。

实验流程

  • 数据处理:eeg数据经1 - 50hz带通滤波器预处理。然后进行独立成分分析以去除生理伪影。没有进行切分。
  • 数据特征:12种。EEG信号分为5个频率范围:delta频带(1- 4hz)、theta频带(4- 8hz)、alpha 频带(8- 13hz)、beta频带(13- 30hz)和gamma频带 (30- 50hz)[77]。

效果

在3个数据集中与其他9种常见的特征提取算法进行对比,取得最好结果。

局限性

在半监督以及无监督学习中不一定有效。


http://www.niftyadmin.cn/n/770328.html

相关文章

信号数据shannon entropy计算

import math import numpy as np def shannon_entropy(single,k):single:1-D信号k: 分多少个binnumofx single.shape[0]maxV np.max(single)minV np.min(single)bin np.linspace(minV,maxV,k1)bin_numx [0]*k # 落在每个bin的数据点数目for x in single: # 计算落在…

信号数据C0 Complexity计算

参考论文:The study of c0 complexity on epileptic absence seizure def C0_complexity(single):计算C0复杂度 x fft(single)N x.shape[0]avgx np.average(x) # 计算幅度谱的平均值new_x []for i in x:if abs(i) > avgx:new_x.append(i)else:new_x.appe…

多条eeg数据对比图绘制

画图,输入多条数据,进行可视化对比。建议10以内。import plotly.graph_objs as go import numpy as np from plotly.subplots import make_subplots def plot_various_chns(data,names []):画图,输入多条数据,进行可视化对比。建…

mne计算CSP

# get CSP feature from mne.decoding import CSP csp CSP(n_components10, regNone, logTrue, norm_traceTrue) csp_train csp.fit_transform(train_data, train_label) 其中 train_data 的格式为[trial,channel,time];train_label的为[trial,] 详情可以参考mne…

pip 配置下载源

pip官方镜像源 官方: https://pypi.python.org/simple 国内镜像源 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大…

Nan 数据的检测与处理

print(is exist nan: , end) print(np.isnan(x).any())# 查找位置 nan_inx np.where(np.isnan(x)) print(nan_inx)# 替换 x[np.isnan(x)]0.00001print(is exist nan: , end) print(np.isnan(x).any())

EEG数据预处理的一些坑,模型loss=nan的原因与解决方法

在使用深度学习模型对数据进行分类时,出现lossnan的现象。 原因:数据中有接近0的坏数据或者Nan 例如: 解决方法:去掉就好 nan的检测与去除可以参考此处。

CSP学习资料与精简总结

其实是一种降维方法,将原始数据投影到CSP空间中,在该投影方向上,一类信号的方差被 极大化,一类极小化。 学习资料: 运动想象中共空间模式算法(CSP)的实现_zhoudapeng01的专栏-CSDN博客_csp算法…