蔡靖,袁守国,李锐,徐梦辉
(吉林大学 仪器科学与电气工程学院,吉林 长春 130061)
情绪是人们对客观事物的一种反馈方式,更是人们情感的表现方式,故而情绪识别被广泛应用于人工智能、心理学、情感计算、计算机视觉和医学治疗等领域[1]。生理信号是由人体内的自主神经系统活动而产生的,既不会受到人为意志的控制,也不会被伪装,可以客观地反映人体的生理和心理活动状态,因而可以作为一种能够较准确判断情绪状态的依据。随着科学技术的发展,基于生理信号(脑电、心电、脉搏、呼吸、皮温、肌电、皮肤电导)的情绪识别的研究取得了大量的成果。文献表明,与大脑活动最密切的EEG 信号可以最真实地反映出人的情绪状态[2]。
近年来,基于脑电信号的情绪识别是当前关于情绪研究领域和人机交互领域的热门课题。Pane 等人提出了一种将情绪侧化和整体学习相结合的策略,对DEAP数据集采用随机森林的方法进行分类,分类准确率为75.6%[3];Verma 等人基于DEAP 数据库使用支持向量机(Support Vector Machine,SVM)进行多模态情绪识别[4];Kolodyazhniy 利用K-近邻算法和交叉验证的方法对34名参与者的数据集进行分析,对恐惧、悲伤及中性3 种情绪状态的识别准确率最高达73.2%[5]。但这些方法识别情绪种类不多且准确率较低,对此,本文提出一种采用加权KNN 算法、基于DEAP 数据库的5 折交叉验证的方法实现对兴奋(excited)、放松(relaxed)、沮丧(depressed)、愤怒(angry)4 种情绪的准确识别,识别准确率高达80%。
Koelstra 等人在2011 年建立DEAP 数据集[6],该数据集记录32 名参与者的脑电图和外周生理信号,每人观看40 部长达一分钟的音乐视频片段,每个片段结束后,参与者都会进行自我评估。受试者对愉悦度(Valence)、唤醒度(Arousal)、支配性(Dominance)、喜欢程度(Liking)4个项目进行数字(1~9)打分。
在采集的40 个生理信号通道中,前32 个通道采集的为脑电信号,脑电通道按照国际10-20 系统,选择32个通道的位置,如图1 所示。
Zheng Weilong 等人的研究中发现,采用位于外侧颞区的4 通道的最佳平均精度和标准差分别为82.88%、10.92%,略低于全62 个通道的83.99%的平均精度[7]。为了减小计算量,本文仅选用EEG 信号的左右对称的14个通 道(AF3、F3、F7、FC5、T7、P7、O1、AF4、F4、F8、FC6、T8、P8、O2)的EEG信号进行分析。
本文采用唤醒度-愉悦度(Arousal-Valence)模型,将情绪映射到唤醒度和愉悦度组成的二维空间中,1.0~4.5 和4.5~9 的愉悦度分别映射为“消极”和“积极”,1.0~4.5 和4.5~9 的唤醒度分别映射为“平静”和“活跃”。根据映射关系,可将情绪分为兴奋、放松、沮丧、愤怒4类,如图2 所示。
特征提取的主要任务是提取出能够将EEG 信号映射到情绪状态中的一些显著特征。现有的脑电特征主要分为时域特征、频域特征、时频域特征以及空间域特征4 类[9]。本文主要讨论两类特征,一类是基于时域的统计特征,另一类是基于频域的功率谱(Power Spectral Density,PSD)和微分熵(Differential Entropy,DE)。
具体做法是:首先,设置一个宽度为6 s 的矩形窗,计算该时间窗内的EEG 信号下面提到的所有特征;然后平滑移动时间窗前进2 s,即与上一组序列重叠4 s,直到将60 s 的信号全部计算完毕。
在时域上提取的特征包括信号统计量(均值、中位数、最大值、最小值、标准差、方差、峰值)、偏度(skewness)、峰度(kurtosis)、分形维数(FD)、Hjorth 复杂性、Hjorth移动性共12 种特征值。其中信号统计量特征计算方法比较简单,故在此不做赘述,对其他的几个特征展开详细讨论。
(1)偏度(skewness)
偏度是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。
其中,Xi表示第i 个信号值,μx表示一组信号的平均值,σx则表示标准差。
(2)峰度(又称峰态系数,kurtosis)
峰度表征了概率密度分布曲线在平均值处峰值的高低,即反映了数据的尖度。
(3)分形维数(Fractal Dimension,FD)[9]
分形维数可以用来表征时间域信号的复杂程度。本文利用Higuchi 算法来计算EEG 信号的分形维数FD。
(4)Hjorth 参数[10]
Hjorth 移动性(Mobility)给出关于幅度标准偏差的斜率标准偏差的度量,反映了时间序列的坡度变化程度。
式中,X'是X 的一阶差分,σ2(X)为X 的方差。
Hjorth 复杂性(Complexity)给出有关正弦波的过度细节的度量,反映出一个振幅上有多少个标准的坡(slope)。
据现有的研究表明,脑电信号分为5 个频段,考虑到成年人只在深度睡眠和无梦睡眠时脑电才会保持在Delta 频段(1~4 Hz),故不考虑提取该波段的特征,而是提取了Theta 频段(4~8 Hz)、Alpha 频段(8~12 Hz)、Low Beta 频段(12~16 Hz)、High Beta 频段(16~25 Hz)和Gamma频段(25~45 Hz),各个频段下的时域波形如图3 所示。由于Beta 包含了大量的有关兴奋、恐惧、愤怒等强烈情绪的信息[11],因此对其进行细分。
(1)功率谱密度(PSD)
功率谱密度是用来表征信号功率与频率的关系的物理量,计算公式如式(5)所示:
式中,fstop为频段的截止位置频率,fstart为频段的起始位置频率。
(2)微分熵(DE)
微分熵被用于测量连续随机变量的复杂性。由于脑电图数据具有较高的低频能量,DE 具有区分低频和高频能量脑电图模式的平衡能力,对于EEG 信号,其在数值上等于功率谱密度的对数[12]。
对于提取到的8 316 个特征,存在着大量相关关系,如果不进行降维处理就进行机器学习训练,不仅会占用大量内存,消耗更多的时间,而且极有可能面临着过拟合的问题,所以必须对特征进行降维处理。本文采用的特征降维方法是主成分分析法(Principal Component Analysis,PCA)。主成分分析是一种使用正交变换将一组可能相关变量的观察结果转换为一组称之为主成分的线性不相关变量的值的统计方法。具体计算过程如下:
输入:特征数据集Dn×m={x1,x2,…,xm},每类特征xi=(xi1,xi2,…,xin)T是长度为n 的列向量,需要降维到低维空间的维度为k。
(1)中心化数据:xi←xi-
(2)计算协方差矩阵:C=cov(D)=DDT
(3)计算特征值和特征向量:[V,M]=eig(C)
(4)前k 个的特征值构成向量Λ=(λ1,λ2,…,λk)T,所对应的特征向量组成投影矩阵 (也称系数矩阵)W={w1,w2,…,wk}
输出:降维后的数据An×k=Dn×m×W,原始特征在降维后数据中的贡献率为P=W×Λ。
限定总解释方差为95%,最终将输入特征的数量从8 316 个减少到54 个。
在进行PCA 降维之前,需要对特征进行归一化和标准化[8]。同时,为了研究降维前的各特征对主成分的贡献率,分别对时域、频域所有特征以及14 个通道进行讨论。对这些特征进行权重分析,即将总权重设为100,通过PCA 分析计算了8 316 个特征各自对54 个主成分的贡献率(也就是累加权重)。
K-近邻(KNN)由Cover 和Hart 提出,是一种十分有效且方法简单、易于理解、容易实现的非参数有监督的学习分类器[14],如图4 所示。
对于给定的测试样本,使用一定的距离测量方法找到训练集中最接近的k 个训练样本。然后,根据这k 个“邻居”的信息对测试样本进行预测。
设一个测试样本x=(x1,x2,…,xs),则该样本点与训练集中某一样本点xi之间的距离有两种计算方法:
(1)欧式距离:
(2)曼哈距离:
对类别的判定同样有两种方法[15]:
(1)投票法:从K 个近邻中选择某个类别点数最多的那一类作为测试样本的类别;
(2)加权投票法:根据距离远近赋予权重,通常权重是距离平方的倒数。
本文采用欧式距离作为样本间的距离,设f(xi)为样本xi的类别标签,其取值范围为V={0,1,2,3},分别对应4 类情绪(沮丧、放松、愤怒、兴奋)。具体实现方法如式(9)所示:
当a、b 为同一类时,则认为投同意票,记数将会加1;否则认为投反对票,记数不会加1。
但由于K 个距离大小不同,因此本文选择加权投票法。以每个近邻的距离的平方的倒数作为其权重,这样一来,距离近的相似度更高,权重值也更大,这样的KNN 算法称为距离加权KNN 算法。具体实现方法如式(10)所示:
计算上述所有特征,图5 为对通道F3 的EEG 信号提取的22 类特征,并进行了归一化和标准化。
图6 为12 类时域特征随时间的变化曲线,其中分形维数FD、偏度及h2(Hjorth 移动性)随时间变化波动程度较大,平均值、中位数、极值等特征则比较平稳。
图7 为频域特征随时间变化曲线,Alpha 频段、Low Beta 频段的PSD 和DE 都表现出较强平稳性,其他频段都有着一定的波动。
利用PCA 降维把8 316 维的原始数据降维到53维,并对时域各类特征、频域各波段、14 个通道的权重进行讨论。
时域各类特征权重如表1、图8 所示。其中h1 和h2分别为Hjorth 复杂性和Hjorth 移动性。
表1 时域各类特征权重
在所有的12 个时域特征中,最大值、最小值以及差值、标准差、方差有着较高的权重,峰度和Hjorth 移动性权重较低。
频域各波段权重如表2、图9 所示。
表2 频域各类特征权重
从图9 中可以看出,Gamma 波段、Alpha 及Low Beta波段所占权重较大,High Beta 和Theta 权重较小。
14 个通道特征权重如图10 所示。
可以看到14 个通道的贡献率各不相同,除了F4 通道明显高于F3 通道和F7 通道明显高于F8 通道以外,其他左右对称的两通道差异都不是很大。同时还可以看到,每一通道的频域特征权重都普遍大于时域特征的权重。其中表现最好的几个通道为P7、F4、F7、AF3、AF4。
随机选取80%数据进行训练、20%数据进行测试,采用K=10 的加权KNN 算法,进行5 折交叉验证,分类结果的混淆矩阵如图11 所示。可以看出对4 类情绪的识别准确率都在72%以上,平均准确度为80%,其中,对第4 类情绪(兴奋)识别准确率最高。4 种模型下的ROC曲线如图12~图15 所示。
本文基于DEAP 的数据库,选用14 通道EEG 信号并对其进行时域特征和频域特征提取,对各类特征权重加以分析发现,时域特征中,最大值、最小值、极差、标准差、方差有着较高的权重;其次是偏度、Hjorth 复杂性、平均值、中位数以及分形维数;峰度和Hjorth移动性权重较低。频域特征中,Gamma 波段、Alpha 及Low Beta 波段所占权重较大,High Beta 和Theta 较小。尤其是Low Beta波段的PSD 权重远高于DE,这与其他几个波段相反。总体来看,14 个通道的频域特征权重都高于时域特征,且各个通道的贡献率也不相同,除了F4 通道明显高于F3通道和F7 通道明显高于F8 通道以外,其他左右对称的两通道差异都不是很大。通过PCA 主成分分析法对特征进行降维处理,利用加权KNN 算法进行5 折交叉验证训练,最终最对兴奋(excited)、放松(relaxed)、沮丧(depressed)、愤怒(angry)4 种情绪的识别准确率达到了80%。