睡眠分期是评估人类睡眠质量和诊断相关疾病的关键,对于睡眠分期预测的研究已有诸多成果。文中以脑电信号作为睡眠分期的工具,在支持向量机(Support Vector Machines, SVM)分类应用于睡眠分期预测模型的研究基础上,为了减少睡眠分期预测模型的建立的时间,采用K边界近邻法(K Nearest Bound Neighbor, KNBN)支持向量预选取的方法构造支持向量候选集,建立基于KNBN-SVM的睡眠分期预测模型。实验结果表明,该睡眠分期预测模型的预测准确度理想,并且耗时大幅度缩短。KNBN-SVM方法有效地改进了基于标准SVM睡眠分期预测模型,具有实用价值。 Sleep staging is the key to assess human sleep quality and diagnose related diseases. There have been many results in the study of sleep state recognition. In this paper, EEG signals are used as a tool for sleep staging. Based on the research of support vector machine classification applied to sleep stages classification models, the K nearest boundary neighbor support vector pre-selection method is used to construct support vector candidate set in order to reduce the time to establish a model, build a sleep stage prediction model based on KNBN-SVM. Experimental results show that the prediction accuracy of the sleep staging prediction is ideal, and the time-consuming is greatly shortened. The KNBN-SVM effectively improves the sleep staging prediction based on the standard SVM, and has practical value.
睡眠分期是评估人类睡眠质量和诊断相关疾病的关键,对于睡眠分期预测的研究已有诸多成果。文中以脑电信号作为睡眠分期的工具,在支持向量机(Support Vector Machines, SVM)分类应用于睡眠分期预测模型的研究基础上,为了减少睡眠分期预测模型的建立的时间,采用K边界近邻法(K Nearest Bound Neighbor, KNBN)支持向量预选取的方法构造支持向量候选集,建立基于KNBN-SVM的睡眠分期预测模型。实验结果表明,该睡眠分期预测模型的预测准确度理想,并且耗时大幅度缩短。KNBN-SVM方法有效地改进了基于标准SVM睡眠分期预测模型,具有实用价值。
支持向量机,K边界近邻法,预选取,睡眠分期预测,脑电信号
Shuting Xu*, Chenzhi Han, Binbin Zheng, Yingying Sun
College of Science, Hangzhou Normal University, Hangzhou Zhejiang
Received: Oct. 25th, 2020; accepted: Nov. 13th, 2020; published: Nov. 20th, 2020
Sleep staging is the key to assess human sleep quality and diagnose related diseases. There have been many results in the study of sleep state recognition. In this paper, EEG signals are used as a tool for sleep staging. Based on the research of support vector machine classification applied to sleep stages classification models, the K nearest boundary neighbor support vector pre-selection method is used to construct support vector candidate set in order to reduce the time to establish a model, build a sleep stage prediction model based on KNBN-SVM. Experimental results show that the prediction accuracy of the sleep staging prediction is ideal, and the time-consuming is greatly shortened. The KNBN-SVM effectively improves the sleep staging prediction based on the standard SVM, and has practical value.
Keywords:Support Vector Machine, K Nearest Bound Neighbor, Pre-Selection, Predicting Sleep Stages Classification, Electroence Phalogram Signal
Copyright © 2020 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
睡眠是一种自发的、主动的调节过程,睡眠质量对人的身心状态有着重大影响。然而,随着生活节奏的加快,生存压力不断增大,人类的睡眠质量开始出现问题,这使人们在身体上、心理上饱受折磨,也严重影响人类的生活质量。因此,如何提高睡眠质量,减少睡眠相关疾病对健康的影响,受到了广泛的关注。
临床医学上不同时间的睡眠深度是睡眠质量判定的一个主要方面 [
对于利用脑电信号对睡眠状态进行分期的研究,已有诸多研究成果。2007年李谷等 [
为了解决耗时过长的问题,本文在支持向量机分类应用于睡眠分期预测模型构建的研究基础上,采用K边界近邻法支持向量预选取算法 [
本文第2节介绍支持向量机和K边界近邻法支持向量预选取算法,第3节构建睡眠分期预测模型,第4节是睡眠分期预测模型数值实验。
支持向量机是在统计学习的背景下产生的一种机器学习方法,由Vapnik [
假设训练样本 { x i , y i } , i = 1 , 2 , ⋯ , N , N ∈ Z + , x ∈ R n , y i ∈ { − 1 , 1 } , R n 表示输入模式的特征空间。SVM中训练的目的是在泛化误差达到最小(或有上界)的前提下,找到最优判决函数 f ( x ) ,将两类数据分开。假定具有最大分类间隔的超平面为 ω ⋅ x + b = 0 ,该超平面可以满足上述条件,它是由法向量 ω 和截距b决定。为了找到该分离超平面,我们需要求解以下凸二次规划问题 [
{ min ω ( α ) = − ∑ i = 1 N α i + 1 2 ∑ i , j = 1 N α i α j y i y j K ( x i , x j ) , s .t . 0 ≤ α i ≤ C , i = 1 , 2 , ⋯ , N , ∑ i = 1 N y i α i = 0 , (1)
其中 C ≥ 0 是惩罚因子, α i 是拉格朗日乘子, K ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) 是核函数。
通过对式(1)求解可得 α * = ( α 1 * , α 2 * , ⋯ , α N * ) T 。法向量 ω * = ∑ i = 1 N α i * y i ϕ ( x i ) ,选择 α * 的一个正分量 0 < α j * < C ,可求得截距 b * = y j − ∑ i = 1 N α i * y i K ( x i , x j ) 。引入核函数 K ( x i , x j ) ,由凸二次规划问题得到最优判
决函数为:
f ( x ) = s i g n ( ∑ i = 1 N y i α i ∗ K ( x , x i ) + b * ) 。 (2)
其中 s i g n ( ⋅ ) 是一个符号函数, α i ∗ ≠ 0 对应的样本被称为支持向量。
SVM是二分类模型分类器,但也可以做多分类。目前建立SVM多分类器的方法有很多,常见的是利用多个二分类器组合构造一个多分类器,可以用于多分类数据的处理 [
K边界近邻法是一种支持向量机预选取方法,SVM的最优分离超平面由支持向量来确定,而支持向量只占全部训练集的一小部分 [
已知训练样本分为两类,正类样本 T 1 和负类样本 T 2 ,
T 1 = { x 1 + , x 2 + , ⋯ , x N 1 + } , T 2 = { x 1 − , x 2 − , ⋯ , x N 2 − } ,
其中 x i + , x j − ∈ R M , i = 1 , 2 , ⋯ , N 1 , j = 1 , 2 , ⋯ , N 2 ,M是样本维度。
已知有两类样本 x i + , x j − ∈ R M ,当它们线性可分时,它们之间的样本距离可以用欧氏距离来表示:
d ( x i + , x j − ) = ‖ x i + − x j − ‖ 2 = ∑ m = 1 M ( x i m + − x j m − ) 2 , (3)
当两类样本非线性可分时,通过映射函数 φ ( ⋅ ) 将原输入空间映射到高维的特征空间中,样本在高维的特征空间中变得线性可分,这时的样本距离被称为非线性距离:
d ( x i + , x j − ) = K ( x i + , x i + ) − 2 K ( x i + , x j − ) + K ( x j − , x j − ) , (4)
其中 K ( ⋅ , ⋅ ) 是核函数。常用的核函数有线性核,多项式核、高斯核以及S型核。其中,高斯核函数因对于高维样本数据的分类问题也能有很好的识别效果而被频繁使用。高斯核函数如下:
K ( x i + , x j − ) = exp ( − ‖ x i + − x j − ‖ 2 2 r 2 ) , (5)
其中r是一个常数。
在某一类中,位于该类边界上的向量称为边界向量。已知有正类样本集 T 1 和负类样本集 T 2 , d ( x i + , x j − ) 为 T 1 中的第i个样本与 T 2 中的第j个样本之间的距离。对于 T 1 中的每一个 x i + ,将 T 2 与 x i + 距离最小的k个样本定义为 T 2 的边界向量;同理,可以定义 T 1 的边界向量。当i和j遍历所有值后就可以得到边界向量集。
KNBN方法的具体步骤:
(1) 从正类样本集 T 1 中选择一个样本 x i + ,求 x i + 与所有负类样本之间的距离,保留最近的k个负类样本,将它们放入边界向量集当中。
(2) 返回步骤(1),直至遍历所有正类样本为止。
(3) 将所有负类样本按照步骤(1)和步骤(2)操作,保留离每个负类样本最近的k个正类样本,将它们放入边界向量集当中。
(4) 把上面得到的边界向量集当中相同的支持向量删去,进行唯一化处理,最终得到支持向量候选集。
如图1所示,选取的样本都是离选定样本最近的另类样本,所以KNBN选出的向量一定为与两类样本的分布无关。因此,选取适当的k值,边界向量集一定能包含所有的支持向量,构造出一个支持向量候选集。
图1. KNBN支持向量预选取示意图
睡眠过程是动态并且复杂的。在国际睡眠分期的判读标准R & K [
图2. 睡眠分期示意图
大脑的活动状态在各个睡眠时期具有显著差异,睡眠脑电信号是一种自发型的脑电信号,其中包含了睡眠时期大量的大脑信息。引言部分已经提到基于脑电信号对睡眠分期进行分析研究,是诊断和治疗睡眠疾病的重要辅助工具。而脑电信号作为一种生理信号,其具有随机性强,信号微弱,一般波幅范围在0~200 μv,并且该信号极易受到噪声干扰。同时频率较低,频域特征比较突出,其范围一般为0.5~100 Hz。此外,EEG信号是一种典型的非线性信号,表现出较强的非平稳性 [
图3. 各睡眠分期的睡眠脑电信号时序列
在睡眠过程中,主要经历了快速眼动期和非快速眼动期两个大时期,EEG信号在不同睡眠分期所呈现的特点有所不同。如图3所示,自上而下依次为清醒期、睡眠I期、睡眠II期、深睡眠和快速眼动期的脑电信号时序列。
由于在不同睡眠期EEG信号有不同特征,因此我们可以利用其各个睡眠期EEG信号的特点,进行SVM分类。基于脑电信号的SVM睡眠分期模型,能够帮助更好的识别睡眠状态,有利于对相关睡眠疾病的防预和治疗。
机器学习中分类方法众多,SVM是近年来使用较多的一种方法,尤其是SVM具有判别能力优良、泛化能力强、参数设置简单等优点。本文利用SVM的诸多优点与脑电信号时序列的特点,将SVM分类方法用于脑电信号数据的分类处理,进而以较高准确率识别睡眠状态。
本文基于标准SVM算法构建睡眠分期预测模型,下面是分期预测模型的步骤:
(1) 对EEG信号样本数据进行归一化处理;
(2) 归一化后的数据分成训练数据集和测试数据集;
(3) 将EEG信号样本中的训练数据集输入至SVM分类器当中,构建基于标准SVM的睡眠分期预测模型;
(4) 测试数据集代入步骤(3)中的睡眠分期预测模型进行预测,得到预测结果。
基于标准SVM的睡眠分期预测模型能达到较为理想的预测效果,但在实验测试所采集到的EEG信号样本中,包含了一些无用的或是冗余样本。换言之,训练样本中包含了支持向量和非支持向量,因此SVM的训练中还包括了对非支持向量的优化,需要花费大量的训练时间。
本文使用K边界近邻法支持向量预选取方法(KNBN)对EEG信号训练样本进行支持向量预选取。通过KNBN方法可以减少EEG信号训练样本中的冗杂样本和对分类无用的多余样本,再用SVM来训练和预测,从而减少预测模型建立的训练时间并在一定程度上提高分类预测准确度。
下面为基于KNBN-SVM的睡眠分期预测算法步骤:
(1) 将EEG信号样本数据进行归一化处理,并分成训练样本和测试样本;
(2) 将训练数据集按睡眠分期标签分为五类,随机选取其中的某一类作为正类,其余四类作为负类,按照2.2中KNBN方法在两类数据集中预选取出边界向量;
(3) 当五类样本中的每一类样本都经历过作为正样本之后,得到一个原始训练数据集的边界向量集,将其中相同的样本唯一化处理,得到支持向量候选集;
(4) 将步骤(3)中得到的支持向量候选集作为训练数据集输入到SVM模型中,得到一个五分类的睡眠分期预测模型;
(5) 将测试数据集输入到步骤(4)中得到的睡眠分期预测模型中得到分类准确度及训练时长。
图4是基于KNBN-SVM的睡眠分期预测模型流程图:
图4. 基于KNBN-SVM的睡眠分期预测模型流程图
下面为了讨论KNBN-SVM算法对于睡眠分期预测的有效性和可行性,将KNBN-SVM算法和标准的SVM算法下构建的睡眠分期预测模型的实验结果进行分析和比较。本文是在Matlab R2018a环境中,2.3 GHz,Pentium,DualCPU,4 GB内存的硬件平台上进行。
本文睡眠分期预测实验数据采用“‘华为杯’第十七届中国研究生数学建模竞赛”赛题C题的睡眠脑电信号数据。该数据中共包含五类睡眠状态数据集,分别为:清醒期、快速眼动期、睡眠I期、睡眠II期和深睡眠期,共有3633个样本,随机选取3600个EEG信号样本参与实验,其中2000个样本为训练样本,1600个样本为测试样本。按照3.2中的流程构建基于标准SVM的睡眠分期预测模型,并代入EEG信号测试数据集得到基于标准SVM的睡眠分期预测模型的预测准确度以及训练耗时。对于KNBN-SVM方法,将实验数据集按照3.3中的流程,先使用KNBN方法在原始的EEG训练样本集中预选取支持向量,再将支持向量候选集作为新的训练样本代入SVM中训练,构建基于KNBN-SVM的睡眠分期预测模型,最后代入EEG信号测试样本得到KNBN-SVM训练算法的预测准确度和训练总耗时,其中KNBN-SVM算法的训练时长为预选取边界向量集的时间和SVM训练时间的总和,KNBN的参数值 [
从表1中可以看出,直接使用标准的SVM训练2000个训练样本,得到的分类预测准确率为73.75%,训练耗时864 ms;KNBN-SVM方法中对训练数据进行KNBN支持向量预选取选取出1205个边界向量作为支持向量候选集。将支持向量候选集作为训练样本集输入到标准SVM当中训练,得到的分类预测准确率为75.31%,训练总耗时380 ms。实验结果表明,KNBN-SVM训练算法的训练样本比标准的SVM算法的训练样本减少了39.75%,训练总耗时减少了484 ms,预测准确度提升了1.56%。
训练算法 | 训练样本/个 | 边界向量数/个 | 测试样本量/个 | 训练时间/ms | 预测准确度/% |
---|---|---|---|---|---|
标准SVM | 2000 | 无 | 1600 | 864 | 73.75% |
KNBN-SVM | 2000 | 1205 | 1600 | 380 | 75.31% |
表1. 标准SVM和KNBN-SVM的睡眠分期预测模型比较
本文将支持向量机分类应用于睡眠分期预测模型的研究,使用脑电信号时序列作为睡眠状态识别的工具,构建基于标准SVM的睡眠分期预测模型和基于KNBN-SVM的睡眠分期预测模型,并进行比较。实验表明,基于标准的SVM的睡眠分期预测模型预测准确度较理想;基于KNBN-SVM的睡眠分期预测模型不仅相对于标准的SVM准确度有所提高,而且还大幅度的缩短了训练时间。因此,KNBN-SVM方法适用于睡眠分期的研究,对于预防和治疗相关的疾病有着一定的应用价值。
许淑婷,韩成志,郑斌斌,孙莹莹. 改进支持向量机在睡眠分期预测模型中的应用 Application of Improved Support Vector Machine in Predicting Sleep Stages Classification[J]. 应用数学进展, 2020, 09(11): 1961-1969. https://doi.org/10.12677/AAM.2020.911226