APP下载

基于XGBoost 的多种生理信号评估心理压力等级方法

2022-08-31林艳飞龙媛张航刘志文张政波

北京理工大学学报 2022年8期
关键词:心算脑电特征选择

林艳飞,龙媛,张航,刘志文,张政波

(1. 北京理工大学 信息与电子学院,北京 100081;2. 中国人民解放军总医院,北京 100036)

现代社会的快节奏使每个人需要面对来自工作、学习、生活等多方面的压力,研究表明长期在压力下会导致各种疾病,检测压力状态成为了当前热门的研究方向. 人体包含多种生理信号,人体的各种生理信号不受人的主观意志控制,只会受到神经系统、内分泌系统调节的影响. 分析多种生理信号可客观反映人体当前的身体健康状况和心理认知状态[1-2].

在20 世纪90 年代,研究学者就提出通过分析人的多种生理信号来预测人的心理压力. 2011 年HERNANDEZ 等[3]利用皮肤电导信号和SVM 评估心理压力,用户依赖模型达到78.03%的分类准确率,用户独立模型达到73.41%. 2017 年SEVIL 等[4]通过腕带采集心电、皮肤电导信号,使用SVM、KNN、朴素贝叶斯(NB)、决策树(DT)、神经网络(ANN)对心理压力分类,达到87%准确率. 2017 年SUBBANI 等[5]利用脑电信号,使用mRMR 特征选择和SVM 评估心理压力达到93.75%的准确率. 2017 年HAN 等[6]基于心电、呼吸信号,使用SVM、线性判别分析(LDA)、Adaboost、KNN 对心理压力3 分类,其中SVM 准确率达到84%. 2019 年CIPRESSO 等[7]采集受试者的脉搏波、呼吸和皮肤电导信号评估急性心理压力,结果表明短时心率变异性(HRV)是较有效的. 2019 年ARSALAN 等[8]采集脑电信号,分析每个频带特征在SVM、NB、多层感知器分类器的准确率来寻找最优特征子集,达到92.85%准确率. 2019 年AHN 等[9]采集心电、脑电信号,使用ANOVA 筛选特征,达到87.5%准确率. 2019 年HSIEH 等[10]采集皮肤电导信号,通过XGBoost 特征重要性选择特征,使用XGBoost 分类器F1分数达到92.38%. 2020 年CORRERIA 等[11]通过脉搏波信号提取HRV 特征并分类,验证了脉搏波信号在检测心理压力研究中的有效性. 2020 年SU等[12]基于心电信号,利用随机森林特征重要性选择特征,使用SVM、DT、GBDT、KNN 和深度神经网络(DNN)分类方法对心理压力进行3 分类.

在国内,2009 年于晓琳等[13]研究得出,心算任务中交感神经活动显著增加,脑电Alpha 频段的能量显著增加. 2014 年李娜等[14]发现脑电非线性特征Renyi熵、LZ 复杂度、CO 复杂度能反映人体心理压力水平. 2015 年杨亚丹等[15]研究得出脑电、心电、肌电3 种生理信号都能有效评估心理压力. 2017 年王坤等[16]采集不同压力状态的心电信号,结果表明生理参数能反映心理压力自主神经活动,使用序列后向选择算法进行特征选择,达到86.19%准确率. 2017 年赵湛等[17]等采集日常生活的呼吸、心电信号,使用RF特征重要性得到最优特征子集,心理压力三分类准确率达到84%. 2018 年王笛等[18]基于心电、脉搏、皮电3 种生理信号,使用DS 证据理论与SVM 相结合的决策层融合算法达到94.12%准确率. 2020 年张硕等[19]基于脑电、心电信号实现心理压力状态的自动评估,结果表明基于心脑结合的方法能够更好地检测心理压力. 2020 年江润强等[20]基于肌电信号,使用卷积自编码器提取特征,将特征依次送入SVM、RF、KNN、GBDT 基分类器,投票集成基分类器最终得到92.82%准确率.

可见,当前已有较多研究通过生理信号分析心理状态. 首先,生理信号分析多以不同种信号的联合分析为发展方向,多种生理信号联合分析会提供更多信息量,结合不同信号的特点与优势,得到更加可靠的分析结论. 其次,已有研究较多是心理压力有无的二分类,而心理压力多等级评估已成为目前的研究热点. 再次,在信号处理方面,特征选择方法和分类方法是心理压力多等级评估的关键. 目前提出的心理评估算法较多,但是最佳算法有待进一步研究.大多研究所采用的特征选择方法有ANOVA[9]、mRMR[5]、依靠分类精度的特征选择算法[8]、RF 特征重要性[12,17]、XGBoost 特征重要性[10]等方法. 特征选择中还常用搜索算法,例如序列前向选择方法、序列后向选择方法、模拟退火算法、遗传算法方法等,但这些方法要搜索遍历全部特征组合而需要消耗较多时间,故实际应用中是不适用的. 大多数研究所采用的分类方法有SVM[3-6,8,12,18,20]、KNN[4,6,12,20]、NB[4,8]、Adaboost[6]、GBDT[12,20]、XGBoost[10]等方法. 其中,近期XGBoost 算法在Kaggle 竞赛及其他许多机器学习竞赛中取得了不错的成绩,XGBoost 算法是集成学习方法boosting 的一种高级实现,有防止过拟合、学习效率高等特点,在学术领域与实际应用层面上都被大量应用,被广泛应用于数据挖掘,在心电信号分类[21]、睡眠分类[22]等方面也有应用.

针对心算任务下多种心理压力等级的评估,本文采集了脑电、心电、皮肤电导和脉搏波4 种生理信号,对多种生理信号的多种特征选择方法和分类方法进行充分比较,并对各个特征重要性进行排序,以期得到心理压力多等级评估的最佳算法.

1 实验设计

1.1 实验人员与实验范式

参与实验的受试者为21 名在校大学生(10 男、11 女)平均年龄 23 岁,习惯使用右手,视力或者矫正视力正常,近期没有疾病且精神状态良好. 实验符合荷尔森金宣言,得到当地伦理委员会认可. 实验前受试者填写知情同意书,实验后给予一定的经济报酬.

1.2 实验流程

本实验选择心算任务来产生受试者的心理压力,心算任务被普遍用来诱发心理压力[23]. 通过计算一位数、两位数、三位数3 种不同难度的加减法,诱发产生低、中、高3 种不同等级的心理压力. 设定低、中、高3 种难度的心算任务时间分别为3 s、5 s 和8 s.实验流程如图1 所示. 实验过程包括预实验、简单难度等级心算、中等难度等级心算和高难度等级心算.每个阶段间隔休息3 min. 实验开始时,受试者需要在规定时间内尽快并尽可能准确地完成心算任务.同时屏幕显示读条倒计时[6],在计算完后,通过键盘输入计算结果,可提前提交计算结果. 若在规定时间内未能完成作答,则认为回答错误,但还可继续作答,在完成每一个题目后,反馈给受试者计算的对错、正确率等信息. 实验共包含150 道题目,每种难度等级的题目50 道,总实验时长约为40 min.

图1 实验流程Fig. 1 Experimental procedure

本文使用重复测量方差分析将受试者在3 种不同难度心算题的答题准确率和答题时长进行比较.

以心算题难度为因子,得到3 种不同难度答题准确率有显著差异[F(1.938,1 936.446)=84.063,p<0.05].然后利用两两配对比较得低和中难度、低和高难度的答题准确率存在显著差异(p<0.05),中和高难度不存在显著差异(p>0.05),如图2(a)所示;以心算题难度为因子,得到3 种不同难度答题时长有显著差异[F(1.711,1 709.442)=2 353.912,p<0.05]. 然后利用两两配对比较得出不同难度答题时长两两之间存在显著差异(p<0.05),如图2(b)所示. 综上表明低、中、高3种不同难度等级的心算题目设计合理,可以诱发受试者不同等级的心理压力.

图2 心算题的准确率及用时Fig. 2 The accuracy and response time of the mental arithmetic task

1.3 数据采集

本实验采用博睿康公司的32 导脑电放大器采集脑电数据,采用BioPac 公司的16 通道生理记录仪采集心电、皮肤电导和脉搏波. 两种采集设备通过并口Trigger 实现同步采集,采样率均为1 kHz. 脑电信号的参考电极为CPz,32 导氯化银电极布局符合国际10-20 系统电极安置标准. 心电的正、负、地三导联电极分别放置在心脏的左上方、右下方及远离心脏的位置. 皮肤电导两个传感器放置在受试者的左手食指和无名指的指肚上. 脉搏波传感器放在受试者的左手中指手指肚上.

2 数据处理

2.1 预处理

本实验对采集的原始信号首先进行滤波处理,使用EEGLAB 工具箱的eegfilt 函数进行带通滤波.表1 为每种信号滤波的频带范围. 滤波后对150 个试次的生理信号数据进行截取,选取起始时刻后5 s 的生理信号长度进行分析.

表1 各生理信号滤波的频带范围Tab. 1 Frequency band of the filtering for each physiological signal

2.2 特征提取

生理信号的特征是心理状态的表现形式. 本文提取脑电的节律特征和非线性动力学特征. 首先,脑电节律信号按频率分成5 种频段:θ(0.5~3 Hz)、δ(4~7 Hz)、α(8~13 Hz)、β(14~30 Hz)和γ(30 Hz 以上). 本实验采用小波变换对脑电进行时频分析,小波基为cgau5 小波. 将各频带能量相加得到每种节律的总能量,作为脑电信号的一种特征. 有5 种脑电节律,30个导联,共得到150 个节律特征. 其次,通过计算复杂度分析脑电的非线性动力学特征. 信号在时域上的复杂度表示了该信号的非规律程度,复杂度越高,表示信号的规律越差. 大脑参与不同活动时脑电信号的规律程度不同,分析脑电信号的复杂度可以反映大脑活动的生理特征. 本实验选择脑电分析中常用的两种复杂度作为脑电特征参数:C0 复杂度和LZ 复杂度. C0 复杂度是指脑电频率能量高的频带占所有频带的比重;LZ 复杂度表示信号中新模式出现的概率大小. 每个导联的脑电信号分别计算C0 复杂度和LZ 复杂度,共得到60 个非线性动力学特征. 故脑电信号特征共计210 个.

另外,时域上的统计参数是信号的基本特征,其可反映信号在一段时间内的整体特点和变化趋势.本文计算心电、皮肤电导和脉搏波信号的时域统计特征. 首先提取各种信号的特征点,如心电信号中的P、Q、R、S、T 5 种波形的波峰或波谷,脉搏波信号中的主波与副波. 其次通过信号的特征点求信号的特征参数,如心电的PR 间期、QRS 波群长度、脉搏波的主副波间隔等,得到特征参数. 所计算的统计参数有:均值、中值、标准差、最大值、最小值、一阶差分、二阶差分. 故心电、皮肤电导和脉搏波信号特征共计131 个.

本文通过对脑电、心电、皮肤电导和脉搏波信号的特征值提取,共计得到341 个特征.

2.3 特征筛选方法

特征过多会增加分类器的复杂度,造成过拟合,降低分类器的泛化能力[24]. 因此需对特征进行筛选,提取出有效特征. 为找到与心理压力状态相关的特征,本文对以下6 种特征筛选方法进行了对比.

2.3.1 方差分析(ANOVA)

方差分析[25]是指通过F 检验得到各特征参数在3 种不同等级心理压力条件下的显著性差异 (p值).若显著性p<0.05 则保留该特征参数,否则剔除该特征参数,本文最终共选出47 个特征参数,并按p值的显著性对特征进行排序.

2.3.2 最大相关最小冗余(mRMR)

mRMR 算法[26]通过互信息来衡量特征与特征之间的冗余度和特征与类变量之间的相关性,使特征与类变量之间的相关性最大化,并使特征与特征之间的冗余性最小化. 以此来找到最佳的前m个特征.

2.3.3 单个特征SVM 分类准确率

使用支持向量机(SVM)模型分别估测仅使用单个特征的分类准确率,以此衡量单个特征的分类效果,并按分类准确率的大小对特征进行排序.

2.3.4 随机森林(RF)特征重要性

随机森林[27]是一种集成机器学习方法,利用随机重采样技术和节点随机分裂技术构建K棵决策树,通过投票得到最终分类结果. RF 基于袋外数据(OOB data)分类正确率的方法度量特征重要性,即OOB data 发生轻微扰动后的分类正确率与扰动前分类正确率的平均减少量. 假设RF 中有K棵决策树,构建K个bootstrap 样本集,则特征x的特征重要性可由以下步骤计算得出:本文共采集了21 人的脑电、心电、皮肤电导、脉搏波4 种生理信号,每人采集150 个试次数据,每种难度等级各50 试次. 本实验的分析方法为用户依赖模型,采用5 折交叉验证来统计压力评估的准确率,每位受试提取341 个特征. 本文使用5 折交叉验证来评估模型的预测性能,将数据集分成5 份,每次选择4 份作为训练集,剩余的1份作为测试集. 交叉验证重复5 次,取5 次准确率的平均值作为最终模型的评价指标[30]. 在一定程度上减小过拟合,从有限的数据中获取尽可能多的有效信息,让模型尽可能具有鲁棒性.

①初始时令k= 1,在第k个bootstrap 样本集上构建决策树Tk,并将该bootstrap 集对应的OOB 数据

2.3.6 极端梯度提升(XGBoost)特征重要性

XGBoost[29]是一种基于梯度 Boosting 的集成学习算法,其原理是通过弱分类器的迭代计算实现准确的分类效果. XGBoost 特征选择取决于各个特征对模型贡献的重要性,特征重要性im 为特征被选作分裂特征的次数,XGBoost 中树的每次分割使用贪婪法选择特征,即选择当前信息增益最大的特征用于树的分割. 信息增益计算如公式

3 结果分析

本文共采集了21 人的脑电、心电、皮肤电导、脉搏波四种生理信号,每人采集150 个试次数据,每种难度等级各50 试次. 本实验的分析方法为用户依赖模型,采用5 折交叉验证来统计压力评估的准确率,每位受试提取341 个特征. 本文使用5 折交叉验证来评估模型的预测性能,将数据集分成5 份,每次选择4 份作为训练集,剩余的1 份作为测试集. 交叉验证重复5 次,取5 次准确率的平均值作为最终模型的评价指标[30]. 在一定程度上减小过拟合,从有限的数据中获取尽可能多的有效信息,让模型尽可能具有鲁棒性.

3.1 分类准确率与联合特征数的关系

根据6 种特征选择方法,首先,分别按对分类贡献的重要性进行特征排序,得到6 个特征排序;其次,分别将前N个分类贡献最重要的特征进行联合;然后,分别用SVM、KNN、GNB、Adaboost、GBDT、XGBoost 分类器对N个联合特征进行心理压力分类. 其中各分类器的超参数如表2 所示. 所得的分类准确率与联合特征数N的关系如图3 所示.

表2 各分类器的超参数Tab. 2 Hyperparameters of each classifier

如图3(a)所示,使用ANOVA 选择特征时,6 种分类器的准确率随联合特征数N增加而增加,其中特征数为47,分类器为XGBoost 时分类效果最好.

图3 不同分类器分类准确率与联合特征数N 的变化趋势图Fig. 3 Trend of classification accuracy of different classifiers as the number of combined features N increases

如图3(b)所示,使用mRMR 选择特征时,XGBoost 分类器分类效果最好. 当联合特征数N<50 时,6 种分类器的准确率随联合特征数N增加而增加;当联合特征数N>50 时,6 种分类器的准确率随联合特征数N增加而缓慢增加.

如图3(c)所示,使用单个特征SVM 分类准确率选择特征时,XGBoost 分类器分类效果最好. 当联合特征数N<50 时,6 种分类器的准确率随特征个数增加而增加;当联合特征数N>50 时,6 种分类器的准确率趋于平缓. 甚至SVM、KNN 和GNB 分类器出现随联合特征数N增加而下降的情况.

如 图3(d)、图3(e)、图3(f)所示,使用RF、GBDT、XGBoost 特征重要性选择特征时,XGBoost 分类器分类效果最好. 联合特征数N与分类准确率之间的关系和图3(c)类似,但在图3(f)中GNB 分类器的分类效果衰减速度没有图3(c)、图3(d)、图3(e)快;KNN分类器的分类效果衰减速度没有图3(c)快,这表明基XGBoost 特征重要性选择的特征更适用于大多数分类器.

由此分析得,ANOVA 筛选出47 个特征,用ANOVAF 表示; mRMR、单个特征SVM 分类准确率、RF 特征重要性、GBDT 特征重要性、XGBoost 特征重要性在联合特征数N=50 时,6 种分类器分类准确率均趋于平缓,故这5 种特征选择方法均选择出50 个特征,分别用mRMRF、SVMF、RFF、GBDTF、XGBF 表示. 6 种特征选择方法分别选择的特征如表3所示.

表3 每种特征选择方法所选择的特征Tab. 3 Features selected using each method

3.2 不同模型性能的比较

本文中ANOVAF、mRMRF、SVMF、RFF、GBDTF、XGBF 6 种特征子集和SVM、KNN、GNB、Adaboost、GBDT、XGBoost 6 种分类器共组合成36 个模型,每个模型分类准确率的均值和方差如图4 所示. 其中,最高分类准确率图中用虚线表示. 可见,GBDTF 特征选择与XGBboost 分类组合的模型准确率最高,为89.94%. 且XGBoost 分类器在每种特征子集下分类准确率均略高于其他分类器. 相比ANOVAF 和mRMRF特征子集, SVMF、RFF、GBDTF、XGBF 特征子集在各种分类器上分类效果较好.

图4 6 种分类器在6 个特征子集上的准确率(共36 个模型)Fig. 4 Accuracy of six classifiers on six feature subsets (total 36 models)

本文使用重复测量方差分析将36 种模型的分类效果进行比较,以分类方法为因子,采用Greenhouse-Geisser 方法校正,得到36 种模型的分类准确率有显著差异[F(4.120,82.398)=16.393,p<0.05]. 然后利用两两配对比较来验证每种模型之间是否存在统计学上的显著差异.

分析结果如表4 所示,RFF+XGB,GBDTF+XGB和XGBF+XGB 模型准确率均显著高于其他23 个模型(p<0.05),SVMF+XGB 模型的准确率高于其他22个模型(p<0.05). 故RFF、GBDTF、XGBF 特征子集对心理压力评估最佳,XGBoost 分类器在分类效果上优于其他分类器.

表4 各模型的分类准确率对比Tab. 4 Comparison of accuracy among different models

4 讨 论

4.1 心算任务下心理压力评估的重要特征

由3.2 节分析得出RFF、GBDTF、XGBF 特征子集对心理压力评估更有效,本文将RFF、GBDTF、XGBF 特征子集的共有特征是较重要特征.

结果如表5 所示,脑电28 个特征,心电1 个特征,皮肤电导3 个特征,共32 个特征. 这表明EEG 信号是本文评估心算心理压力的最佳生理信号,皮肤电导信号和心电信号次之. 其中EEG 信号中较重要的部分是γ频段,ECG 信号较重要的部分是R 波,EDA信号中较重要的部分是原始信号.

表5 RFF、GBDTF、XGBF 特征子集的共有特征Tab. 5 Common features of RFF, GBDTF, XGBF feature subsets

4.2 心理压力等级评估中XGBoost 分类效果最佳

本文得出,XGBoost 为心理压力等级评估的最佳分类器. XGBoost 是对Boosting 算法的一种优化算法,已在众多领域取得了较好效果. XGBoost 集成弱分类器为一个强分类器,通过不断迭代,生成一棵新树拟合前面树的残差,随着迭代次数的增多,精度不断提高. 传统的GBDT 方法只利用了一阶的导数信息,Xgboost 则是对损失函数做了二阶的泰勒展开,并在目标函数之外加入了正则项,避免过拟合. 因此XGBoost 算法能够对心理压力等级进行较好的评估,取得较高的分类准确率.

4.3 融合模型分析

4.3.1 融合模型

4.3.2融合模型对比

表6 给出了融合模型与最佳组合模型GBDTFXGBoost 的准确率(最佳评估效果表中加粗),可见两种融合方法均对心理压力评估有一定的提升作用,先验权重融合略优于平均权重融合和GBDTF+XGBoost 的评估效果. 但三者之间无显著差异(p> 0.05),且融合模型分析过程略繁琐. 因此本文认为使用GBDTF+XGBoost 模型做心理压力评估效果最佳,性能最优.

表6 融合模型的准确率对比Tab. 6 Comparison of accuracy of fusion models

5 结 论

基于多种生理信号联合分析是目前心理状态评估领域发展的趋势. 本文通过3 种不同难度等级的心算任务诱发受试者的心理压力,采集了21 位在校大学生的脑电、心电、皮肤电导和脉搏波4 种生理信号,对数据进行预处理和特征提取,对多种特征选择方法和分类方法进行充分比较. 结果得出RF 特征重要性、GBDT 特征重要性、XGBoost 特征重要性的特征筛选方法最佳,XGBoost 分类方法最佳. 这3 种组合模型中GBDTF+XGBboost 模型的分类准确率最高,该模型在心理压力多等级评估上性能最佳.

猜你喜欢

心算脑电特征选择
认知控制的层级性:来自任务切换的脑电证据*
工作记忆负荷对反馈加工过程的影响:来自脑电研究的证据*
基于成本最小化信息的社会性意图识别:来自脑电和行为的证据*
基于智能优化算法选择特征的网络入侵检测
故障诊断中的数据建模与特征选择
reliefF算法在数据发布隐私保护中的应用研究
一种多特征融合的中文微博评价对象提取方法
一道难题
从心算大师失算谈思维惯性
一道难题