基于EEG 信号特征提取与SVM 算法的睡眠自动分期*
2022-06-16周新淳赵鸿浩张雪华
张 章 周新淳 赵鸿浩 张雪华
(1.宝鸡职业技术学院机电信息学院 宝鸡 721000)(2.宝鸡文理学院物理与光电技术学院 宝鸡 721016)(3.陕西烽火通信集团有限公司宝鸡研发中心 宝鸡 721006)
1 引言
睡眠是人类生命活动的基础需求之一,从日常的生活经验中可以发现,提高学习效率和记忆力的一个前提条件就是保证充足的睡眠[1]。睡眠性疾病与个人精神状态有关,往往难以发现和确诊,因此对睡眠数据进行分析是发现和诊断与睡眠有关的疾病和加速睡眠相关的研究是十分重要的,而睡眠分期任务就是睡眠数据分析中必不可少的一个工作[2]。脑电信号(Electroencephalogram,EEG)是睡眠数据中的一个重要采集内容,它含有丰富的与大脑生理活动相关的信息,作为生物电信号,它的变化特性极其复杂,是神经医学类学科分析病理和判断病情着重参考的一个信息,它还能准确反映大脑的活动状况,在睡眠研究中应用逐渐普遍[3]。通过检测平台所记录下的EEG 信号数据量大,希望人工判断会大大增加医生或相关人员的工作量,会花费大量时间,降低工作效率增加治疗周期,并且因为主观性高也会容易引起较大争议。寻找一种可以根据EEG 信号特点来完成睡眠数据快速准确的自动分期方法成为了解决睡眠分期问题的重要途径。
近年来许多学者通过引入模式识别的方法来完成EEG 信号的自动分期任务,其中被使用较多的方法有支持向量机(Support Vector Machine,SVM)和神经网络等算法[4]。Anderer 等将决策树的方法应用于睡眠分期取得了80%的准确率[5]。Zhang Junming 与Wu Yan 提出了基于复值卷积神经网络(Complex-valued Convolutional Neural Network,CCNN)的新的睡眠阶段分类系统,该方法通过对EEG 信号所提取的特征进行训练学习,然后根据所学特征对睡眠阶段进行分类,结果表明此方法的分类性能与收敛速度优于卷积神经网络(Convolutional Neural Network,CNN)[6]。北京理工大学的由育阳等提出了一种基于正态逆高斯和特征贡献度的睡眠分期实验框架,并设计了多分类器组合自动睡眠分期算法,获得了较高的准确率[7]。
本文提取了EEG 节律信号的能量特征,通过小波包分解可以提取EEG 信号节律波的能量特征[8],除此之外还提取了其非线性特征计算每帧数据的排列熵和样本熵,使用SVM 方法对划分的测试集进行分类完成睡眠自动分期任务。
2 睡眠分期
2.1 EEG节律信号
EEG 里的信号有着一定的特征频率范围和空间分布特征,依据信号的频率特性可以划分出四种节律波。EEG 带宽范围为0~100Hz,但是节律波的有效信号在0~30Hz的范围之内。
1)δ波(Delta):频率在0.5Hz~4Hz 之间,振幅在20μV~200μV 之间。δ波作为大脑中自发产生的频率最低的信号波,会在人深度睡眠、深度麻醉缺氧或者大脑有器质性病变时被检测到[9]。
2)θ波(Theta):频率范围为4Hz~8Hz,振幅大概为10μV~50μV。θ波有着较低的频率,正常情况下,人处于清醒状态时大脑不会自发产生θ波,只有在困倦疲乏时,人的中枢神经系统受到抑制,此时会有θ节律波出现。
3)α波(Alpha):频率范围为8Hz~13Hz,信号幅度在20μV~100μV 之间,检测位置在头枕部位。α波频率较快,是EEG 中节律性最明显的信号波。只有人在放松或者闭眼的状态下,α波才能被稳定检测到,一旦受检者运动、睁眼或者想象运动时就会减少甚至消失。
4)β波(Beta):频率范围在13Hz~30Hz之间,信号幅度为5μV~20μV。按照频率不同,β波又可分为β1波和β2波两种,是EEG 节律波中的一种快波。当这一频段波被检测到时,说明大脑皮层处在比较兴奋的状态,此时人思维比较活跃,可能正在进行逻辑思考或者情绪起伏较大[10~11]。因此β波可以认为是大脑清醒的标识。
图1 EEG信号4种节律波
2.2 睡眠时期划分与各时期特点
1)睡眠时期划分
在不同睡眠过程中,人的眼部电信号、脑部电信号等不同的生理电信号的变化特点有所区别,Anthony Kates 和Allan Rechtschaffen 以此为 依据提出了R&K 睡眠分期标准,在该标准中,睡眠一共被分为6 个时期即:W 期、R 期、睡眠I 期(S1)、睡眠II期(S2)、睡眠III 期(S3)、睡眠IV 期(S4)[12],其中S1、S2、S3和S4同属于NR期,按照这一标准来划分的睡眠阶段判断此标准比较标准,因此R&K 睡眠分期标准的提出对睡眠分期的发展有巨大贡献。
2)各睡眠时期特点
在不同的睡眠阶段,每种基本特征波占比不同。在W 期α波和β波为主要部分,以α波的占比在50%以上。S1期α波的占比降到50%以下,以低幅θ波为主。S1 时期只是睡眠时期的一个过度阶段,在总睡眠长度中占比较短,只占有总睡眠时间的5%左右。S2 期阶段脑电信号的幅值增大,δ波占20%以下。此时虽然大脑为无意识状态,但仍属于浅睡眠时期还是容易受外界环境影响的,此睡眠时期的总长度应占睡眠的时期的45%左右。S3 和S4期的信号中以低频δ波为主,占20%以上,现多被统一划分为深度睡眠时期,由于在此期间脑电信号以δ波为主,所以也被称为δ睡眠。深度睡眠时期受不易受外界影响,是人身体机能恢复的重要时期,时间长度占睡眠时间长度的20%左右。REM 期此阶段伴随眼球的快速自主转动,除了尖峰波表现不明显外,与S1期的波形相同。
3 算法步骤
3.1 EEG信号去噪处理
将特定的电极笔放置在受检者头皮表面,探测并记录下各个点位的电势差随着时间的变化从而得到EEG 信号[13]。从头皮处探测到的EEG 电信号通常十分微弱,容易受仪器本身所产生的噪声影响,在对EEG 信号处理之前需要进行滤波平滑的预处理,这里选用小波域值去噪。
如前面所述,采集到的EEG 信号记录的是各点位电势差随时间的变化,在时间域上有一定的连续性。在小波域上,有效连续性信号经分解计算得到的小波系数的模值通常数值较大,但是仪器本身所产生的噪声一般为热噪声也就是高斯白噪声,其在时间域上并不具备连续性,即使经过小波变换,高斯白噪声在小波域上依然具有很强的随机性[14]。因此在小波域上,有效连续性信号对应的系数远大于噪声所对应的系数,再利用阈值函数对小波系数进行处理,将处理过后的信号做小波重构,就可以得到EEG 去噪平滑之后的信号。在此过程中对于小波基函数的选择、分解层数的不同和阈值规则的设计都会对EEG信号去噪平滑效果产生影响。
巴特沃斯滤波器可使通频带内的频率响应曲线最大限度平坦,EEG 信号带宽在0~100Hz,但是有效信号在0~30Hz 的范围内所以,设定巴特沃斯带通滤波器的采样频率为300(>2*100),对小波滤波默认采用软阈值滤波,选用Daubechies8 小波基,采用最大小波分解的层数,滤波后再进行小波重构。对一帧数据进行二阶巴特沃斯带通滤波和小波阈值滤波结果如图2所示。
图2 去噪滤波效果
对同一帧数据两滤波器滤波情况对比,小波阈值方法对EEG 进行去噪处理后尖波噪声信号和断点有了明显改善,同时EEG的峰值有较完整的保留。
3.2 节律波提取
对数据进行小波包分解(Wavelet Packet Decomposition,WPD)。小波分解(wavelet transform)无法对EEG 中的高频部分继续分解,与小波分解不同,小波包分解既可以对低频部分进行分解重构,也可以对近似分量和细节分量再次分解从而分析信号的高频部分[15~16]。针对不同频率段的信号,小波包分解可以通过调整分解层数以调整频率分辨率,选择最优基函数,很大程度上提高了对信号局部分析的优势。
对EEG 信号进行9层分解,按照采样定律计算最小分辨率:
式中,fs为采样频率。
根据四个脑电节律的频率范围(0~30Hz),分别计算它们所包含的最少分解节点数,在计算时尽量选用低层节点,然后按照各节律波频率设置相应的频段滤波器。用[i,j]表示小波包分解的第i个节点到第j 个节点,同时考虑代小波包分解节点划分存在频带交错现象[17]。得到四个脑电节律所包含的分解节点及其对应的频带关系如表1所示。
表1 节律波所包含分解节点与对应频率
图3 EEG节律波提取
3.3 能量特征提取
EEG 各节律波能量分别为:Eα、Eβ、Eδ、Eθ。不同睡眠时期能量也不相同,所以可以将能量作为睡眠分期的特征参数。信号g(t)的总能量表示为式(2)。
j 表示节律波;Ej表示对应节律波信号g(t)重构之后的能量值;i表示信号样本的采样点数量,i=0,1…m;xi表示重构信号的采样点对应幅值。
图4 各时期节律波能量值
3.4 非线性特征提取
针对非线性数据,除提取能量特征外还需要提取非线性特征,计算每帧数据的排列熵和样本熵。
3.4.1 排列熵计算
1)对时间序列X 进行相空间重构(相空间大小记为m),得到矩阵。矩阵的每一行都是一个相空间长度的序列[18]。
2)对矩阵的每一行按升序重新排列,排序后记录该行排序前的下标顺序得到一组符号序列。
3)统计每一行的下标顺序出现的次数/m!,作为该行的概率,计算时间序列所有行的信息熵求和即为排列熵。
由以上计算步骤可知,当每一行的下标符号序列概率P=1/m!时,排列熵值,记为HPE,达到最大值。此时时间序列的复杂度越高(在符号序列中没有重复的,或者重复的很少)。反过来,当HPE 值变小的时候,表示时间序列越规则。
3.4.2 样本熵的计算
设原始数据时间序列长度为N 表示为{u(i),1 ≤i≤N},按如下步骤计算样本熵:
1)构 造m 维 空 间 的 向 量X(1),X(2),…,X(N–m+1),其X(i)={u(i),u(i+1),…,u(i+m-1)}。
2)将向量X(i) 和X(j) 之间的距离d[X(i),X(j)]定义为X(i)和X(j)向量对应元素的最大差值,具体为d[X(i),X(j)]=max|u(i+k)-u(j+k)|。
3)对于每一个{i,1 ≤i≤N-m+1},在满足容许偏差为r的条件下,统计d[X(i),X(j)]<r的个数,记为Nm(i),计算Nm(i)的数目与向量间距离总数的比值计作Cmi(r)。
4)对于i求平均值计作φm(r)如式(3)。
5)维数增加变成m+1后,对于m+1维重构后的序列向量重复上述步骤1)~4)得到Cm+1(r),φm+1(r)表示为式(4)和式(5)。
6)在N 取有限值的情况下此序列样本熵为式(6)。
m=1或2时样本熵值对信号序列的长度N依赖性最好[19],此时计算得到的熵值较为合理。
3.5 支持向量机分类
支持向量机的基础是Vapnik 所创建的统计学理论(Statistical Learning Theory,SLT),一种新的机器学习方法。统计学理论所采用的是结构风险最小化(Structural Risk Minimization,SRM)准则,这样在得到最小化样本点时,使得结构风险同样取得最低,可以提高模型的适应性和泛化能力,并且不会受到数据维数的限制[20]。在进行线性分类时,将分类面取在离两类样本距离较大的地方;进行非线性分类时通过高维空间变换,将非线性分类变成高维空间的线性分类问题[20~22]。非线性映射是SVM 方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射,对特征空间划分的最优超平面是SVM 的目标,最大化分类边际的思想是SVM 方法的核心。支持向量机有着以下优点:
1)支持向量是SVM 的训练结果,在SVM 分类决策中起决定作用的是支持向量。因此,模型需要存储空间小,算法鲁棒性强;
2)无任何前提假设,不涉及概率测度。
4 实验数据与结果
4.1 数据说明
此次数据为所采集EEG 信号中的一部分,共有8490000 个采样点,采样频率100Hz,每帧数据3000 采样点即30s 为一帧,共2830 帧,为不平衡数据。样本标签中,W,S1,S2,S3,S4,R,M 共有2830个。
睡眠阶段为W,S1,S2,S3,S4,R,M(运动时间)和‘Unscored’(无法判断)。
表2 数据说明
对无意义数据进行剔除,删除标签为9 和帧数只有1 的M 时期的数据,只针对有意义W,S1,S2,S3,S4,R进行分类。
4.2 实验结果
本实验软件环境为Windows 10 操作系统,Pycharm Professional Edition,Python3.9,硬件环境为Intel(R)Core(TM)i5-10200H CPU,NVIDIA Ge-Force RTX 2060GPU。根据提取的特征表,使用SVM 分类模型进行分类,训练集与测试集比例为7∶3;得到分类结果,其准确率为84.45%。
图5 各睡眠时期在数据中占比
表3 分类结果
测试集共849帧数据,其中R 和S3时期有着较高的准确率,但是召回率较低;S1 时期召回率为0,所以准确率也为0;W、S2、S4 时期都有着较高的召回率和准确率。测试集总体准曲率达到一个较高的水平。
5 结语
受检者通常需要整晚采集EEG 信号,数据量大,依赖人工逐帧识别进行分期的方法主观意识强,工作效率低,并且需要较多经验积累才能准确判断。利用机器学习的原理,通过特征提取和SVM模型处理睡眠分期任务可以大大提高了工作效率,和准确率。本文完成了利用小波变换的方法对EEG信号进行去噪处理,通过与二阶巴特沃斯带通滤波相比较可以发现此方法去噪平滑效果更好;小波包分解则可以提取出EEG 中的几种节律波并计算出相应能量值;再计算排列熵和样本熵以更好地反映EEG 的非线性特征;利用SVM 分类模型得出了分类结果相比于组合KNN分类器提高了2%。