基于PSO-SVM的脉搏波特征选择的生理疲劳辨识

2020-05-12 12:02张家润
现代计算机 2020年10期
关键词:特征向量特征值脉搏

张家润

(四川大学电子信息学院,成都 610041)

0 引言

人们在进行锻炼时,随着锻炼时间的推移,人体会感觉到疲劳,这种疲劳会导致注意力难以集中、工作效率降低、大脑兴奋度降低[1-2]。而人们的锻炼通常在无医生监督状态下进行的,因而在锻炼时的疲劳程度难以发现和评价。研究表明人体在产生生理疲劳时,生理参数随即发生改变,这种改变在循环系统和心血管系统中表现明显[3]而脉搏波能够很好地展现出这种趋势。国内外学者已对各种基于脉搏波信号的生理疲劳进行了研究。Stephen Paul Linder等人[4]让九名身体健康的志愿者在跑步机上锻炼直至疲劳,使用光电容积描记(PPG)在志愿者的耳垂和前额都检测到了一种低频纺锤波,随着志愿者疲劳的加深,纺锤波变得更加明显,该技术为运动诱发的身体疲劳自动检测和表征提供了积极参考。Keiichi Horio和Ying Li[5]为了更好地分析受试者的疲劳状态,通过PPG信号的二阶微分获得了SDPTG信号,从SDPTG提取拐点的振幅比(三维数据)、脉冲间隔(一维数据)、Lyapunov指数(一维数据)作为特征值,并且使用多重关系嵌入技术(MRE)将上述特征值降维成三维数据,结果表明,拐点的振幅比,尤其是最大波谷与最大波峰的比值和脉搏波周期间隔与受试者的疲劳紧密相关。Rajiv Ranjan Singh等人[6]对驾驶过程中的驾驶员进行了情绪和压力研究,首先采集就驾驶员的PPG信号,对信号进行了中值滤波去除运动伪影,提取了PPG信号的瞬时心率、信号能量、信号周期、带宽、时间带宽乘积作为特征值,采用基于时间序列的分层递归神经网络LRNN,对样本进行训练,最后压力分类率达到88.3%。Hao Yin等人[7]研究了驾驶员疲劳检测方法,选择了脉搏波信号中的主波幅度、重播波前波幅值、重播波前波幅值与主波幅度的比值、快速射血期、心脏收缩期、快速射血期与心脏收缩期的比值、快速射血期与脉搏波周期的比值、脉搏波周期作为脉搏波疲劳特征值采用SVM分类法,最终测试准确性为83.82%。在国内,熊运霞等人[8]采集人体脉搏波信号后对其进行软阈值滤波处理,然后运用改进的Welch方法对脉搏波进行功率谱估计,通过实验研究发现人体疲劳时和清醒时脉搏波信号的功率谱有明显的不同。于霞、金龙哲等人[9]通过有限空间100min极限载人实验,利用提取光电容积脉搏波信号特征值法掌握了生理疲劳的循环系统和血液动力学的变化特征。研究表明,人体在疲劳状态下,光电容积脉搏波传导周期变长;下降支斜率增大,外周血管阻力增大;上升支斜率增大,心脏收缩射血量减小,射血速度变慢。在现有关于脉搏波识别生理疲劳的研究中,脉搏波特征值选择与脉搏波特征值分类是分开进行的,这样会使脉搏波特征值冗余,导致分类精度下降,计算量增大,为了定量分析脉搏波特征值与生理疲劳的内联关系,以及提升脉搏波特征值辨识生理疲劳的分类率,本文提出了一种基于PSO-SVM的脉搏波特征选择的生理疲劳辨识方法。

1 脉搏波预处理与特征值选择

1.1 脉搏波信号采集

本次研究,召集了8个身体健康,年龄23岁到26岁,体重在55kg到85kg,身高从160cm到185cm的志愿者,进行脉搏波测量,测量步骤如下:

(1)在安静的环境中,志愿者得到足够的休息后,将手放平至桌上,均匀呼吸,采用PPG法测量8个志愿者的左手食指脉搏波数据,测量时间20s,采样频率100Hz。

(2)使8个志愿者往返六楼,再次测量8位同学的左手食指脉搏波波形,测量时间20s,采样频率100Hz。

(3)将在安静无运动环境下测量的8位志愿者脉搏波定义为非疲劳状态,标签为0;将往返6楼的位志愿者脉搏波定义为疲劳状态,标签为1。

1.2 脉搏波信号预处理

采集到的PPG脉搏波信号会有基线漂移的现象,本文采用零相位滤波器对脉搏波信号进行去基线漂移的处理。如图1所示,原始PPG脉搏波信号经过零相位滤波器滤波后,基线漂移现象得到明显改善,有利于对脉搏波信号做进一步处理。

图1 脉搏波去基线漂移

脉搏波信号采集到后,会有噪声,而卡尔曼滤波器对这种基于时间和非线性的生物医学信号有较好的滤波效果。所以对脉搏波信号进行卡尔曼滤波预处理,其中状态的一步预测方程[10]:

均方误差的一步预测:

滤波增益方程:

滤波状态估计:

滤波状态均方误差更新矩阵:

卡尔曼滤波前后的PPG信号如图1所示,滤波后的信号更加平滑,尖点消失,更好地反映原有的信息。

图2 PPG信号卡尔曼滤波前后

1.3 脉搏波特征提取

图3 是原始PPG脉搏波信号经过上述预处理后,在数学仿真软件MATLAB中得到的脉搏波极值提取图,本文提取的脉搏波极值有上升支波峰点、降中峡点Min(xi,yi)、重搏波波峰点以及下降支波谷点而PPG脉搏波极值的提取对接下来特征值的提取有重要的意义。

图3 脉搏波极值提取

脉搏波极值提取图中,波段Pvallev(xi-1,yi-1)至称为上升支,左心室开始收缩,主动脉瓣开启,对应心脏搏动收缩期,此时心脏快速向全身射血而压力迅速上升,对应血压是收缩压也就是高压;Ppeek(xi,yi)至Pvallev(xi,yi)称为下降支,此时血液往心脏回流,对应心脏搏动舒张期,对应血压为舒张压也就是低压;在下降支中波段Ppeek(xi,yi)至Min(xi,yi)称为降中峡,是在主动脉瓣关闭前的瞬间,在脉搏波下降支中形成的切迹;波段Min(xi,yi)至Max(xi,yi)称为重播波,这是主动脉瓣关闭后折返回来的短暂血流,使得主动脉管壁扩张形成的峰值[11]。本文采用上升支幅度HUAM=Ppeek(yi)-Pvallev(yi-1);上升支幅度与下降支幅度比值UDOR1=HUAM/HDAM,其中HDAM=Ppeek(yi)-Pvallev(yi);上升支时间TUAM=Ppeek(xi)-Pvallev(xi-1);上升支时间与下降支时间的比值UDOR2=TUAM/TDAM,其中TDAM=Ppeek(xi)-Pvallev(xi);脉搏波周期WPT=Pvallev(xi)-Pvallev(xi-1)作为PPG脉搏波特征值。

1.4 基于ReliefF 算法的特征值选择

提取的PPG脉搏波特征并非都完全反映疲劳信息,一部分脉搏波特征具有较大噪声和冗余信息,这会导致分类精度和速度的下降,所以要选择合适的特征。特征向量的选取主要有监督式和非监督式两种方法。非监督式方法有K-means聚类和主成分分析法(Principal Component Analysis,PCA)[12],这种方法利用特征向量内在关联性,将高维向量映射到低维空间从而实现特征向量的降维。而非监督式的方法是利用算法求解出各个特征向量的权重系数矩阵,从而选取权重高的特征向量。本文采用了特征工程中常用的监督式ReliefF算法[13]关联生理疲劳和脉搏波特征向量,实现特征值向量选取和降维。首先将上述8位志愿者的5维特征向量和第6维标签向量制作为数据集如(7)所示:

式中y(n)——表示第n个样本的疲劳状态(疲劳标1;非疲劳标 0);Fi(n)——表示第n个样本的第i个特征值。ReliefF算法的实现流程图如图4所示。

图4 ReliefF算法流程图

基于ReliefF算法关联的脉搏波信号特征向量与生理疲劳的权值W(Fi),从预选向量中选出权重最大和次之的特征向量,W(Fi)更新计算方法如(10)-(11)所示。

式中diff(Fi,R1,R2)是R1,R2的特征Fi值的差;Rt是数据集中随机抽取的 r个样本值,t=(1,…,r);class(Rt)是样本Rt所属类别;Hj是在class(Rt)类中选择的k个和Rt相邻的数,j=(1,…,k);P(class(Rt))是class(Rt)类别在总样本中的占有比比例;Mj是非class(Rt)类中选择的k个和Rt的相邻数,j=(1,…,k);C是Mj所属的类别,P(C)是类别C在样本中所占比例。

将采集到的8位志愿者的脉搏波信号特征向量输入到ReliefF算法中,得到如表1的特征向量权重值,设置特征向量权重阈值为0.045,因此选择UDOR2、WPT作为最终的特征向量。

表1 ReliefF算法脉搏波特征权

2 基于PSO-SVM的疲劳识别

2.1 分类SVM算法

SVM是一种基于统计学的机器学习算法,结合了VC维(Vapnik-Chervonenkis Dimension)和结构风险最小化原则理论,具有良好的小样本数据学习能力[14],适合处理脉搏波特征值分类这种非线性问题。

脉搏波的生理疲劳识别是一个非线性可分的二分类问题,其约束条件和优化目标函数可以视为二次回归,可以描述为:

式(12)中:C是惩罚因子,表示对错误分类的惩罚评价;ξ是考虑分类误差引入的松弛变量,引入拉格朗日乘子αi,将原问题转化为:

根据核函数K()xi,xj,得到优化目标函数为:

核函数的作用是将低维输入向量映射到高维空间,从而实现线性可分,本文选择径向基核函数,此函数描述为:

2.2 PSO优化的SVM 模型

粒子群支持向量机是粒子群与向量机的混合模型,利用适当的特征子集来提高分类精度[15],本文采用PSO优化算法对径向基核函数参数σ和惩罚因子C进行优化。PSO算法的粒子速度和位置的更新式(16)所示。

式(16)中,k是迭代次数;vi(k)是粒子i的飞行速度;xi(k)是粒子i的当前位置;pi记录了第i个粒子所到过的最优位置;pk是种群到过的最优位置;c1,c2是局部学习因子和全局学习因子[16];ω是惯性因子;r是0到1之间的随机数。

优化SVM的惩罚因子C和径向基函数参数σ就是PSO算法中粒子的位置xi。计算最优参数的步骤如下:

(1)初始化模型参数xi,vi(k),最大迭代次数K。

(2)粒子个体适应度f,以及计算pi、pk。

(3)通过式(15)更新粒子群速度和位置。

(4)达到迭代最大次数,算法终止。

PSO-SVM的具体模型参数是:粒子群粒子数量100;粒子维度2;c1,c2均设为2;惯性因子ω为0.8;迭代次数50次;惩罚因子C的范围[1,100];径向基函数参数σ范围[0.1,10]。所用样本总数63,疲劳样本28,非疲劳样本35。将样本输入PSO-SVM算法中,训练迭代次数与正确率如图5所示。

图5迭代次数分类精度情况

图5 中横坐标为训练迭代次数,纵坐标为样本分类精度可以看出样本分类总迭代次数50次,在前6次迭代中PSO-SVM分类精度为93.7%,6次迭代以后计算收敛且分类精度达到95.2%。最终粒子群优化SVM惩罚因子C值为5.57,优化后径向基函数参数σ值为0.001。样本训练分类结果如图6所示。

图6训练样本分类效果

图6 中横坐标为上升支时间与下降支时间的比值UDR2;纵坐标为脉搏波周期WPT,紫色区域为非疲劳区域,蓝色样本圆点为非疲劳特征点;橙色区域为疲劳区域,红色样本圆点为疲劳特征点。从图中训练效果可以得出如下结论:疲劳样本有27个分类正确,有1个分类错误,疲劳分类正确率为96.4%;非疲劳样本有33个分类正确,有2个分类错误,非疲劳分类正确率为94.3%;总样本分类正确率为95.2%。

3 结语

本文提出了一种基于脉搏波特征选择的生理疲劳辨识方法,通过对脉搏波极值的提取,选择了5维关于生理疲劳的特征预选值,采用ReliefF特征权重分析法,对5维特征向量做了生理疲劳权值分析,得到了关于生理疲劳的脉搏波5维特征向量的权值向量,选择了权值大于设定值的特征预选值作为最终特征值。通过PSO参数优化的SVM模型对生理疲劳进行辨识。结果证明经过选择的脉搏波特征值的PSO-SVM方法生理疲劳辨识率高于传统SVM多分类方法。

猜你喜欢
特征向量特征值脉搏
克罗内克积的特征向量
高中数学特征值和特征向量解题策略
基于扩展FEAST的大规模特征值求解问题研究
谁是逃跑的劫匪
伴随矩阵的性质及在解题中的应用
用心感受狗狗的脉搏
三个高阶微分方程的解法研究
求矩阵特征值的一个简单方法
脉搏的检查及与脉搏异常相关的疾病