改进粒子群优化BP神经网络的心理压力识别算法

2020-04-08 08:17宇,
科学技术与工程 2020年4期
关键词:电信号识别率心理压力

尚 宇, 杨 妮

(西安工业大学电子信息工程学院, 西安 710021)

人类生活压力的不断增加使得心理压力识别算法的研究逐渐被人们所重视,自21世纪初以来,采用生理参数识别心理压力已成为了中外研究者关注的焦点。文献[1]定量分析了人体在疲劳状态下的压力情况,以皮肤电反应的特征作为研究对象,并对其进行了统计及时频域分析,提出了一种基于递归神经网络的压力识别方法,平均精度达到89.23%;文献[2]利用心电信号,使用离散小波变换的方法,将心电信号分解至不同的频带,提取相应的特征,使用k近邻和支持向量机分类器进行分类,达到86.75%的精度;文献[3]对识别心理压力的个体差异进行了算法改进和研究,通过对支持向量机的改进来识别压力,采用聚类样本来改善支持向量机的损失函数。将聚类后的信息赋给损失函数,实现对心理压力的识别,并证明了该算法可以有效地解决评估心理压力时所产生的个体差异性;文献[4]提出了一种基于晚期正电位(LPP)特征的脑电情绪识别方法,以图片连续刺激被试者诱发情绪,采用SVM建模分类实现对情绪的识别。文献[5]以赛车游戏诱发压力,从6名受试者收集心电信号,并提取心率变异性(heart rate variability, HRV)的特征参数,证明了使用HRV识别心理压力的有效性;目前对于心理压力的识别更多关注的是压力识别方法以及提高识别率,因此,针对不同心理压力状态,对心率变异性进行特征提取,采用改进的粒子群优化BP(back propagation)神经网络实现对心理压力的识别。

1 心理压力识别研究方法

以心电采集电路和NI myRIO嵌入式开发平台作为心电采集设备,采集低压、高压状态下的心电信号,并对采集到的心电信号进行滤波、检测,以获取HRV,利用时域、频域和非线性的分析方法进行特征提取,采用带有收缩因子的粒子群优化(particle swarm optimization, PSO)BP神经网络对压力进行分类,建立压力状态下的心理压力识别模型。其总体框图如图1所示。R波相邻波峰之间的间隔为RR间期。

图1 总体框图Fig.1 Overall block diagram

1.1 数据采集与处理

本设计通过心算任务进行压力诱发,具体实施方案为:首先,让测试者处于120 s的平静状态,然后,开始采用心算任务进行诱发压力,该任务是让测试者在10 s内正确心算出电脑上随机出现的二十个四位数相减的题目,且重复10次心算,最后,在心算任务完成后,测试者进行休息,恢复到平静状态。心算任务实验方案如表1所示。

本实验的被试者为西安工业大学的在校本科生及研究生(19~26岁),且无任何心理上或生理上的疾病。采集了30名在校研究生及本科生的心电信号,共200组心电数据,去掉不稳定的信号,有效的数据共150组,包括 80组高压数据和70组低压数据。取被实验者处于平静阶段的3 000个采样点为低压状态,在压力诱发过程中的3 000个采样点作为高压数据。低压状态和高压状态心电信号波形图如图2所示。

表1 心算任务实验方案Table 1 Experimental scheme of mental arithmetic task

图2 低压状态和高压状态心电信号波形图Fig.2 Low-voltage and high-voltage ECG waveforms

从图2中可以看出,采集的低压和高压状态下的心电信号含有干扰,即工频干扰、基线漂移和肌电干扰[6]。为了从波形图中更清楚地对比两种压力状态下的RR间期情况,将进行心电信号处理,从处理后的波形图中计算RR间期,得到HRV信号并从HRV中提取与压力相关的特征。因此,将采集到的含压心电信号通过小波变换进行滤波。选取Symlets小波对心电信号进行8层小波分解,采用Wden函数和Zeros函数进行滤波处理;选择小波变换进行检测R波,得到HRV信号,提取与压力相关的HRV特征值,选择Mexican Hat小波基对心电信号进行分解,分解层数为4层。滤波后信号和R波检测信号波形图如图3所示。

图3 滤波后信号和R波检测信号波形图Fig.3 Waveform of filtered signal and R-wave detection signal

1.2 特征提取

检测出R波后计算RR间期,得到HRV,并对HRV进行分析且提取特征参数。采用线性分析(时域分析和频域分析)与非线性分析方法提取特征参数。

1.2.1 时域分析

(1)

式(1)中:N表示RR间期的个数;RRi为第i个RR间期。

SDNN表示总体标准差,作用于人体的自主神经系统,用于反映人体的心理压力情况,计算公式为

(2)

RMSSD表示RR间期的差值均方根,与迷走神经相关,可以衡量心率大小以反映压力状态。计算公式为

(3)

式(3)中:RRi+1为第i+1个RR间期。

SDSD表示所有相邻的RR间期差值的标准差,计算公式为

(4)

1.2.2 频域分析

由于自回归(auto regression, AR)模型不仅可以克服非参数估计的缺点,还能够很好地反映峰值的平滑光谱曲线。故而,频域分析采用AR模型分析方法[7]。

(5)

式(5)中:ak(k=1,2,…,p)为AR模型的参数。

通过z变换,可以得到系统的传递函数为

(6)

输出序列的功率谱为

(7)

式(7)中:ω为角频率;ak、σω为AR模型的参数;Px(ω)为功率谱;H(ejω)为频率响应函数。

1.2.3 非线性分析

根据大多数文献研究的针对HRV的非线性分析方法可以看出,用于人类心理压力识别的研究很少,基本都是利用非线性分析方法来研究病理学,因此借鉴以往的非线性分析方法,利用Poincare散点图法对HRV进行非线性特征提取,以识别压力状态。使用散点图方法分析,可以获得两个主要参数SD1和SD2,其中SD1反映HRV中低频分量和极低频分量的变化,与交感神经变化有关;SD2是HRV的快速变化,与迷走神经活动有关。

(8)

(9)

通过时域、频域和非线性分析方法所提取的部分与压力相关的特征数据如表2所示。

表2 不同压力状态下的特征数据Table 2 Characteristic data under different pressure conditions

1.3 HRV特征对比分析

由于提取的HRV特征与人体的自主神经活动有关,且反映了心理压力的程度,因此,计算与压力相关的特征参数的显著,并进行对比分析。经分析发现,所提取的特征中,SDNN和HF在不同压力程度下表现出的差异最为明显,SDNN与HF随压力变化趋势如图4所示。

图4 SDNN与HF随压力变化趋势Fig.4 SDNN and HF trends with pressure

研究表明,SDNN、PNN50和NN50与交感神经的张力有关,HF与心脏的迷走神经活性有关,所以,对比从HRV中提取出的特征可反映出人在压力状态下影响人体的自主神经活动,从图4可以看出,随着压力程度的升高,SDNN与HF两个特征参数显著发生了明显变化,即可说明心脏的交感神经和迷走神经的活性也发生明显变化,可以看出,当压力增大时交感神经的功能受到了抑制,迷走神经的功能则会与之相反。因此,该特征值可以有效检测压力,且能更好地应用于压力识别算法。

2 改进PSO-BP的心理压力识别算法

2.1 基本粒子群算法

由于送入BP神经网络模型的特征维度较高,不仅容易导致“维度灾难”,此外,当维度过高使用BP分类时,BP网络的模型建立将非常复杂。故此将利用改进的PSO优化BP神经网络,以识别心理压力。

PSO算法是一种源自鸟类觅食的行为研究,用于解决优化问题,它的基本原理是:若输入特征数是D个,其种群的个体一共有m个,则第i个粒子的速度为Vi=(vi1,vi2,…,viD)T,位置表示为Xi=(xi1,xi2,…,xiD)T,此时,粒子的位置值就是需要解决的问题的一个解[8-9]。与此同时,首先建立适应度函数模型,然后计算适应度值,最后通过将每个粒子的适应度值进行比较得出最优值。当Pbest与Gbest的最优解被搜索到之后,通过式(10)、式(11)再计算得到下一代的粒子,反复不断搜索计算,直至得到一个最佳的解。

(10)

(11)

2.2 改进的PSO算法

为避免基本粒子群优化算法易陷入局部最优,在优化时会出现早熟,过早收敛等现象,最终导致误差结果较大,因此,将对基本粒子群算法进行改进。其中,其余粒子所包含的经验信息与其自身中经验信息是被PSO算法里面的学习因子C1和C2所定性,C1与C2为粒子轨迹,它们可以显现出粒子群中信息的互相交流。所以,一旦学习因子C1的值被设置到更高时,粒子会继续停留在有限范围内,而且继续搜索会更加困难;在学习因子C2被设置到更高时,将会把粒子更早的收敛为局部最小值[10-11]。针对这一问题,引入PSO模型,该模型带有收缩因子,在收缩因子的作用下,不但会使速度的边界限制消失,还能够选取适当的参数来保证PSO算法的有界和收敛特性。速度公式与收缩因子公式如式(12)、式(13)所示。

(12)

(13)

式中:φ为收缩因子;C为学习因子。根据比较分析不同参数,本文种群数为80,最大迭代次数为200,学习因子C1=C2=2.5。

2.3 改进PSO-BP算法

BP神经网络是一种多层前馈神经网络,其训练过程为:首先,连接输入神经元的权值,然后,对所有输入信号做求和处理,再通过激活函数输出并做阈值处理,最后,将输出结果传输至隐层输入。隐含层同样遵循这一规则,首先,将信号传输至输出层,然后,通过输出层将信号输出,最后,把输出层的结果作为整个网络最终的输出结果。其网络模型[12-13]如图5所示。

图5 BP神经网络模型Fig.5 BP neural network model

对于神经网络,由于其权值和阈值对网络训练有很大影响,难以准确地获取,因此,需要通过具有收缩因子的PSO模型实现对BP神经网络的优化,在此基础上,建立心理压力程度的分类模型,即构建了适应度函数模型,若计算出的适应度值越小,说明参数优化效果好,其适应度的计算方法如式(14)所示。

(14)

改进PSO优化BP神经网络识别心理压力的算法步骤如下。

(1)读取150×20的特征数据,并对数据归一化。

(2)构建20-10-2结构的改进PSO-BP网络,对改进的PSO粒子数、位置和速度等参数初始化。

(3)计算Pbest,选出最佳的Pbest作为Gbest。

(4)通过适应度函数计算粒子的适应值,直至达到最小。

(5)根据式(13)更新收缩因子。

(6)利用式(12)和式(11)计算改进PSO的速度值与位置值,并计算更新Pbest。

(7)通过判断迭代次数以获得BP网络的阈值、权值。若迭代次数达到最大值,停止迭代,否则跳转至(3)。

(8)将改进PSO优化后的初始阈值、权值赋给BP网络。

(9)计算心理压力识别率。

低压样本数据抽取55组作为训练数据训练网络、15组数据作为测试数据测试网络,高压样本抽取65组数据作为训练数据训练网络、15组数据作为测试数据,测试网络分类能力。通过改进的粒子群算法优化BP网络的适应度曲线如图6所示。

图6 改进PSO优化BP的适应度曲线Fig.6 Fitness curve of improved PSO optimization BP

从适应度曲线可以看出,该曲线是从迭代次数为60次的时候开始收敛,且收敛速度较快。表3为测试20次的改进PSO-BP算法对心理压力的识别率。

3 实验结果分析

在进行仿真实验时,抽取120个样本作为训练集,30个样本作为测试集,即训练集和测试集大约为4∶1。将低压样本类别标签设置为1,高压样本类别标签设置为2,BP神经网络算法和改进PSO-BP神经网络算法实现一次仿真实验时的心理压力识别准确率如图7所示。

表3 改进PSO-BP算法对心理压力的识别率Table 3 Improved PSO-BP algorithm for the recognition rate of psychological stress

图7 BP神经网络和改进PSO-BP神经网络测试集准确率Fig.7 Accuracy of BP neural network and improved PSO-BP neural network test set

从图7可以看出,改进PSO-BP神经网络测试集准确率为93.33%,BP神经网络测试集准确率为86.67%,并且通过改进的PSO模型优化BP网络模型的准确率提高了6.66%。

图8为测试20次的BP神经网络和改进PSO-BP神经网络对心理压力的平均识别率。采用优化后神经网络对HRV样本信号的识别率比较高且比较稳定,改进的粒子群优化BP神经网络(PSO-BP)算法对心理压力的识别率在90%以上。

图8 两种算法识别率对比Fig.8 Comparison of recognition rates between two algorithms

从图8中可以看出,BP神经网络对心理压力的平均识别率为90.17%;改进的PSO-BP神经网络对压力的平均识别率为94.83%;改进的PSO-BP神经网络的识别率平均提高了4.66%。

BP神经网络和改进的PSO-BP算法在两种压力状态下的平均识别率如表4所示。使用心电数据进行压力状态识别是可行的。

表4 两种算法对两种压力的识别率对比Table 4 Comparison of recognition rates between two algorithms for two kinds of pressure

4 结论

采用心算任务进行压力诱发,采集了30名在校学生低压、高压状态下的心电信号,提取了与心理压力相关的HRV特征值,并对其特征对比分析;建立了心理压力程度的分类模型,利用BP神经网络算法实现对高压、低压的分类,由于BP神经网络容易陷入局部最优,因此,提出了一种改进的粒子群优化算法,通过引入带收缩因子的PSO模型优化BP神经网络。实验结果表明,采用改进的PSO-BP算法有效提高了对心理压力的识别率,且识别率为94.83%,比BP神经网络的识别率平均提高了4.66%。该算法能有效识别心理压力状态,为心理压力状态的干预和心理健康等提供了手段。

猜你喜欢
电信号识别率心理压力
基于联合聚类分析的单通道腹部心电信号的胎心率提取
基于BSTL与XGDT算法对多级别心理压力的评估
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
档案数字化过程中OCR技术的应用分析
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
通过图片看内心
基于生物电信号的驾驶疲劳检测方法