《Combining machine learning models for the automatic detection of EEG arousals》

摘要

        EEG arousals 和 睡眠的碎片化和白天的嗜睡有关。通常通过睡眠多导睡眠图(PSG)记录的目视检查来检测。这是一个非常耗时的工作,所以需要 自动的一套机制。提出了一套  信号处理 + 机器学习 的方法。        利用信号处理技术,经过信号调节的第一步后,在两个EEG 衍生图中 检测出了信号突变  和 信号放大事件,在   颏下的 电极上。。

        如果这些事件同时发生,则使用 epoch 片段 进行分组。从每一组中提取一组特征(包括Hjorth 参数和 睡眠阶段),作为机器学习的 输入。 使用具有 20个PSG 记录的数据集,进行了 6个模型的比较:线性判别器、支持向量机、人工神经网络、分类树、k-最近邻和朴素贝叶斯。。

        在分类误差和检测脑电图唤醒的能力方面,最好的模型是两种不同的组合方法:第一种方法遵循肖特利夫和布坎南的确定性因子模型,第二种方法遵循线性组合。对26种PSG记录进行实验,第一种方法灵敏度为0.78,特异性为0.89,误差为0.12,第二种方法灵敏度为0.81,特异性为0.88,误差为0.13。这两种方法都提高了单个模型的性能表现。这些结果还与两种著名的集成方法进行了比较:随机森林和k-近邻集成。同样,这些组合的方法显示出了最好的表现。

1. 简介

        美国的  机构 The American Academy of Sleep Medicine (AASM) 定义 脑电图唤醒 为 脑电图频率的突变,包括 alpha  theta, 和 大于16HZ的频率,并且要持续3秒,并且要在之前有 至少 10秒的稳定睡眠,此外,在快速眼动(REM)阶段,需要脑下肌电图(EMG)的同时增加,持续至少1秒,才能对这类事件进行评分。脑电图唤醒改变了正常的睡眠模式,导致睡眠碎片化,这是仅次于疼痛的第二大常见疾病指标。睡眠时大量的脑电图唤醒与白天的嗜睡有关。因此,睡眠研究必须识别这些事件,以确定正确的诊断。

        通常,睡眠研究是通过夜间测试进行的,称为(PSG),这是诊断多种疾病的标准。该程序的目的是记录来自患者的一组生理信号,包括肺炎信号、电生理信号和其他背景信息。医生检查这些信号,并检测出 不同的事件,按照标准程序,要找到一个脑电图唤醒,需要记录至少一个脑电图和肌电图的中心推导。一旦定位了单个事件并与其发生时间相关,临床证据就可以形成。每个模式都提供了来自个体事件和其结构的信息,这允许专家在模式间隔期间决定一个唤醒事件的存在。由于PSG 记录的整晚的信息,数据量太大,检测任务非常耗时,于是自动检测分析的系统 就变得非常有需求了。

        [之前的工作]之前已经有很多工作尝试去解决 自动检测的问题,并取得了不同程度的成功,尽管标准程序 提出 使用至少一个脑电图推导和一个肌电图推导,但是 一些作者已经提出了使用其他信号。例如:

                Pillar等人研究的问题使用外周动脉张压仪(PAT)来获得唤醒指数,使用PAT振幅和脉搏率的变化。

                Telser等人也遵循了类似的想法,使用心率变化来检测脑电图唤醒。

                其他工作,如Gouveia等人或Cho等人仅使用 脑电图 信息,避免了快速眼动阶段的 识别。

                Agarwal 只使用了脑电图推导,但在这种情况下,有两个推导,一个用于研究alpha频带的功率,另一个用于研究 beta 频带的功率。

        使用标准程序是一项更复杂的任务,包括难以分析那些同时发生在不同信号中的事件。在这种情况下,DeCarli等人提出了一种使用小波来研究脑电图的方法,用平均测量来研究肌电图的方法,而Malinowska 等人将模式识别技术应用于脑电图中,研究了快速眼电动阶段肌电信号的偏差。其他工作在信号处理的第一阶段后使用了 机器学习方法。 利用这种技术,Pacheco 和 Vaz 在 分别获取了EEG 和 EMG 的 频率和功率后使用了  K- 近邻分类器, 并且  Alvarez-Estevez and Moret-Bonillo   在 从两个 EEG 衍生图中 根据频率 和 submental 的 EMG 的振幅信息 ,提取了interval 之后,比较了两种不同的分类器。  Shahrbabaki  使用了相同的方法,但是包含了 腿动信息,空气流动信息和 心电图信息,最后  Wallant 的工作 避开使用 了 机器学习的算法,在 搜索 脑电图中的突变频率和肌电图中的 肌肉活动 来对  EEG arousals 进行打分。

        本文描述的方法使用三个信号(加上另一个用于调节)分析其相关参数:在两个脑电图推导中,所选频带的功率,在肌电图信号中的振幅。从这些分析中,我们得到了一组必须相互相关的区间,遵循时间约束。每个组间隔 用来提取 多特征用作机器学习的输入该研究包含 6 个不同的模型:Fisher的线性判别器、支持向量机、人工神经网络、分类树、k-近邻和朴素贝叶斯。最后,将这些模型的输出组合起来,得到最终的决策。我们尝试了两种不同的方法来实现这种组合,一种遵循 Shortliffe  和 Buchanan 的确定性因子模型,另一种遵循线性组合。将这些方法的输出与两种著名的集成方法的输出进行了比较:随机森林和k-最近邻集成。

        通过这项工作,我们提出了从输入信号中选择相关间隔的新算法,使用一组文献中不常见的特征,包括Hjorth的参数和睡眠阶段,最后,在选择最好的个体模型后建立了两种不同的组合方法,表明它们提高了个体模型和集成模型的表现。

2. 提出的方法

        该方法 作用于三通道,分析了 3 个信号,两个EEG的衍生图(C3/A2  and C4/A1)和 EMG 肌电图(submental) , 用 ML 来检测 EEG 唤醒。。 Step 1: 用 第四个信号:EKG (心电图)来去除 EEG derivations 中的伪差。 在进入ML 之前,先使用信号预处理技术,从不同的信号中 选择合适的interval 并进行分组,从中提取特征。下图展示了本本文提出的方法的结构:

 2.1 信号处理

        使用不同的技术来处理这三种信号(两个EEG derivations 和 一个 EMG),去除伪差后,对两个EEG 信号 在频域进行研究,而 EMG 在时域进行研究。在这两种case下,滑动窗口都用来选择 interval,后续研究步骤中会用到。

2.1.1 信号调节(signal conditioning,作用:去伪差)

        EEG信号和其他的 生理信号一样都有伪差,从而误导理解。本实验中用到的数据中 最常见的伪差 是由 EKG(心电)引起的:EEG 图像中的峰值 和 EKG 中的 QRS 混合出现。为了移除这些伪影,QRS 复合物的开始和结束位置都位于 EKG 图上,为了定位这些点,我们研究了EKG的一阶导数,并取一阶导数的最大值。 并不是每个 complex 都能引发伪影,原始的EEG 信号只有在 伪影被检测出来的片段中才能被修正。。为了修正这些片段,我们在 伪影的开始和结束的点之间插入了信号。        下图展示了 EEG和EKG 带伪差的那种

2.1.2 信号窗口(signal windowing,计算每个窗口里的功率)       

         两个EEG信号被调节后,就进入了窗口处理阶段。 通过窗口来研究两个EEG信号 和 EMG。脑电图 derivations 中使用的窗口持续时间为 3S,根据经验选择一个窗口移动的步长,理论上步长应该 趋近于 0 , 但是我们可以通过提高步长来 提高计算性能。根据 AASM的理论,为了 给 EEG arousal 进行评分,必须要在 alpha波,beta 波 和 大于 16 HZ的波上有 波形的突变。利用汉明函数 和 傅里叶变换 将每个窗口转换为 频率域,窗口的功率 按如下公式获得。

         这个 n 是 这个窗口里的采样的点数,X 是经过带通的信号。 对整个信号的整个频率都采用的 带通滤波器。

        之前提到的 每个 频率(alpha、beta、> 16HZ)前10秒的平均值 做了一个基线,当 功率与基线之间的比值大于 某个阈值的时候,就会选择 这个带有突变的 interval, 从这些不同的间隔set中,每个波段都有一组,那些持续时间小于3秒(最小的脑电图唤醒持续时间)被丢弃。此外,来自同一组的两个连续间隔,如果最后t1和t2、t3,t1+t2>t3和t2<t3,被一个更长的间隔取代,持续t1+t2+t3。(理解:t1 和 t2 的相交的比较少? 就换成一个大的区间)。窗口的长度和基线的持续时间是基于AASM 对 EEG arousal 的定义。图3 展示了 窗口技术在  EEG derivation 中的应用。

         EMG 中的信号处理和 EEG derivation 中的处理过程类似。保留了  3s的window,选择了一个经验的 步长。为了研究 EKG 和 EEG arousal 之间的关系,我们研究了 window 里的peak to peak的峰值。创建了 前30 s的 平均值基线,同样,基线上的每个值都反映了一个振幅的变化。当两个值(振幅值和基线)之间的比值都大于经验选择的阈值时,也会进行高活动间隔的选择。持续时间小于3秒的时间间隔将被丢弃。在这个实验中,窗口持续时间和基线长度是根据我们的实验选择的。

2.1.3 interval 分组(按波峰 分 interval,在一个epoch中对好些通道的interval进行分组)

        在以前的研究中,使用了一个基于30秒的分割,称为epoch。我们使用这些划分来将不同信号的间隔进行分组。其目标是从同一时期发生的三个信号中识别出这些间隔。同一个 epoch 中的那些 interval, 使用interval 的中点来判断这个interval属于哪个 epoch,为每个信号中的interval 进行了分组。 如果一个信号中没有interval ,那就不会形成分组; 如果有超过一个 interval ,我们就会在 频带上选择 power 最大的那个,as mentioned in section 2.1.2(选一个)。比如 看 Fig. 4, epoch i 只有一个interval, 直接就形成了一个组,i+1 中没有interval, 也就没有组了,epoch i+2中有两个interval , 就选择 在 alpha、beta、>16HZ的频带内  功率最大的那个 成一组。

 2.2 机器学习模型

         从之前描述的方法中获得了组,提取了一组特征,并在很多分类模型中使用了。在这个问题中,我们有两个分类,arousal 和 non-arousal。 根据经验,最好的模型是 组合多个模型来提升单个模型的表现,。 这些方法 和 集成方法 进行了比较来 评估他们的性能。

2.2.1 特征提取

        经典的模式分类问题可以用关系 <v,d> 来表示,其中v是一个特征的向量,d用标签来表示该分类。应用于我们的问题就是,v={v1、t1、v2、t2、v3、t3、c} , 其中v1={v11、...,v1n}是从第一个 EEG derivation 中 的 interval  中提取的特征向量,t1是 interval 发生的时间;同理 v2是 从第二个 EEG derivation 中的interval 中提取的特征向量,t2是这个 interval 发生的时间。v3={v31,...,v3m}是从EMG 的interval 中 提取的特征向量, t3是interval 发生的时间。(注意: v1和 v2的长度是 n, v3 的长度是 m)c={c1,c2}是上下文特征的向量。如前所述,使用epoch划分简化了问题,因为t1=t2=t3,因此,特征的向量为v={v1,v2,v3,c}。

                 上述表1 描述了 完整的特征集合,v 都是从 interval 的组中提取的。关于 EEG 的interval, 包含不同频率 的功率信息,在section 2.1.2 中也描述了如何获取功率值,这些频带也 增加了delta(δ=0.5−4Hz)和sigma(σ=12-15Hz)频带的功率,最后,包括了Hjorth参数,因为它已经证明它们是一个很好的脑电图表征。这些参数的定义 如下:

         X 是信号,X撇 是一阶导数。

        由于EMG 的 interval, 也包含了信号的振幅信息,获取 如 section 2.1.2 所述。

        左右还加入了两个上下文特性,根据[16] 中描述的方法,自动获取 睡眠阶段,因为,EEG srouosal 的检测应该被整理为一个 睡眠阶段的函数。 例如:REM 期间的 arousal 评分需要同时增加submental 的 EMG);如果它们不重叠c2=0,  两种EEG  interval 同时出现的 ,,否则,c2=min(end EEG1,end EEG2)−max(start EEG1,start EEG2)。

2.2.2 分类模型

        如上所述,脑电图唤醒检测任务考虑了6个分类模型:Fisher线性判别(FLD)、支持向量机(SVM)、人工神经网络(ANN)、分类树(CT)、k-最近邻(k-NN)和NaiveBayes(NB)。

2.2.3 模型组合方法

         将上述分类模型与以两种不同方式结合分类算法的混合方法进行了比较:(1)采用肖特利夫和布坎南确定性因子模型的模型,(2)采用线性组合方法。

        肖特利夫和布坎南 基于 确定性因子(certainty factors)提出了这些模型,基于这个假设,arousal的存在性,CF 能够获取一个(-1,1)之间的一个值,1 表示完全支持这个假设,-1 表示完全拒绝这个假设。对于每个分类器,如果我们都能将模型 i 的输出 翻译为 CFi, 则这两个模型的输出组合为:

         工作中 提出的 第二个方法是 基于 线性组合的,将输出翻译到 CF,我们可以按照下面的来定义两个单独模型的线性组合:

                CFij = wi × CFi wj × CF j

         wi, wj ∈ R 且 wi + wj = 1. 对个 n 个分类模型,这可以被推广为,

         wi是一个权重因子, 和 为 1。

        对于这两种组合方法,必须使用所获得的输出来决定输入是被归类为arousal 还是non-arousal 。从这个意义上说,最简单的解决方案是使用一个阈值,将大于该阈值的值归类为 arousal ,并将低于该阈值的值归类为 non-arousal 。

 2.2.4 集成方法

        一种集成方法(分类器的集成)是一组分类器,它们的个体决策以某种方式组合起来,以对新的例子进行分类。它们通常优于所考虑的模型 所达到 的精度。一个 集成分类器 能比他们的个体分类器 更加准确的 充要条件是 分类器本身是准确和多样化的。一个准确的分类器 是 对于一个新的 X, 他能 能够比 随机猜测有更好的表现,如果两个分类器在新的数据点上出现不同的错误,那么他们就是不同的。  在文献中,集成方法是对 仅使用一个分类模型的 分类器组合的 命名。

        在这项工作中,我们比较了我们的组合方法与两种集成方法:随机森林(RF)和k-最近邻集合(k-NNE)。

2.3 性能指标

        1. 分类误差(正确识别的能力): 计算错误的阳性和阴性的比例

        2. 灵敏度(正确识别阳性的能力):真阳性 占 所有正确识别的比例

        3. 特异性(正确识别阴性的能力):真阴性 占 所有正确识别的比例

        4. AUC(同时比较了 灵敏度和 特异性):在二分类问题中,是两个value的平均值

3. 实验程序        

        使用了不同的数据集,包括真实患者的 PSG 记录,所有记录都取自 SHHS。

        每段记录都包含了不同的event,所有记录都是盲评的,125HZ采集记录,左右眼电图,气流,胸腹部偏移,脉搏血氧仪,身体部位和环境光。

        建立了两个 数据集:

  1.  第一个数据集 包含 20 个记录,包含23972个epoch 中 包含 2981 个arousal event。被切分成两个子数据集,15个记录用于训练集和验证集,包含18094个epoch 2202个arousal event,5个记录用户测试集,包含5878个epoch 779 个 arousal event。 用训练集 训练 单个模型和集成模型,通过测试集来选择最好的单个模型 ,来构建组合方法。
  2. 第二个数据集 包含 26 个记录,包含 31070 个epoch 4860 个EEG arousal event,在这个完全独立的数据集上验证了 先前提出的组合方法,同时,也利用这个数据集比较了  组合模型,单个 和 集成模型。

        为了得到 2.1.2 中提到的经验值,我们计算了我们的方法模型能够达到的  最大的灵敏度和 最小的特异性。。。。如果在一个epoch 里有 EEG arousal event,并且我们在 那两种 EEG derivation 图的 epoch 中发现了相关的 interval, 我们才能对他进行评分。换句话说,只有在那个epoch 中形成了有效的 组, 我们才能多这个 epoch 中的 EEG ariusal 进行评分。。。。我们定义了最大灵敏度(包含EEG arousal 的数量 和 包含了有效的event 组的 epoch 的数量)和 最小特异性(不包含 EEG arousal 的数量 和 不包含有效 组 的epoch 的数量)。。。通过这两个参数,选择了  以下 几个 对 所有研究对象都 一样的一些参数

  •         EEG 分析中,窗口之间的跳过时间为 0.2 秒
  •         选择相关的EEG interval  取 基线功率值的1.5 倍作为阈值
  •         在 EMG 中窗口之间的跳过时间选择0.4 秒
  •         选择相关 EMG  interval 去 基线 振幅值的两倍作为 阈值

        在对分类模型进行进一步的实验之前,对模型做了进一步的配置:

  • SVM:  之所以选择 RBF 内核,是因为它将样本映射到了高维空间中,能够处理 标签和属性是 非线性的情况。。。        
  • ANN:  用 共轭梯度反向传播算法进行训练,选择一个 隐藏层的前馈网络
  • k-NN: 用斯皮尔曼距离计算两个元素之间的距离
  • NB: 假设数据不遵循 正态分布,则选择一个核分布

        用 10-fold 交叉验证,需要注意的是 数据集的高度不平衡,non-arousal epoch 的样本要比其他的样本多的多,这种情况很容易导致 分类偏差。 。。 为了避免这种问题,我们采用了  欠采样  技术,保留了 包含 arousal 的epoch, 而随机挑选相同数量的 不包含arousal 的epoch。测试集的数据也是不平衡的,就像生活中遇到的那样。在验证了以下参数后,采用 10倍 交叉验证的 分类错误是最低的:

  • SVM:对参数进行了指数级增长的序列,在 最佳值之间进行了详细的搜索,最终确定,C=2的11次方,S=2的-3次方。
  • ANN:采用相同的方式将隐藏层的神经网络的神经元的数量,从2 增加到 2的8次,最终选择 H=40
  • CT:不同的修剪水平 1 到 20 都尝试了,最终选择 15
  • k-NN:尝试了 2-15 的 neighbor 数量,最终选择 5

        ensemble model 也用同样的方法,最终选择了 分类错误率最低的

  • RF:尝试了不同数量的CT 来构建集成,最终选择了100
  • k-NN:尝试了组合了不同邻居数量的单个k-NN 和 子集的长度,最好的组合是 4个邻居 和 每个子集中包含 20 个feature。

        此时所有的模型参数都设计完毕了,接下来就用训练集进行疯狂训练吧!!!!

        使用测试进行测试的目的是:能够说明 在输入空间中包含两个特性参数的重要性:睡眠阶段 和 Hjorth 参数。。。虽然sleep stage 通常不包含在EEG arousal 的研究中,但是Hjorth参数也不认为是好的指标。。。。四个特征选择实验 验证先前的目标:包含所有的features,不包括 Hjorth 参数,不包括 sleep stage,不包括 Hjorth 和 sleep stage。。

未完待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值