英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
基于EEG信号和梯度增强检测癫痫发作
- 引言
诊断癫痫发作最常用的方法之一是通过进行无创脑电图(EEG)来测量大脑皮层的电活动,相较于其他技术如MRI或侵入性方法,这是一种相对便宜和简单的方法。因此,大多数自动分析癫痫发作的工作都是通过时间序列处理方法在这些信号上完成的。
基于脑电图的癫痫发作检测已得到广泛研究;然而,它很少达到能够全面地帮助神经学家建立人脑信号模型的效果。主要有以下因素:首先,脑电图信号是非平稳的,随着时间的推移,这些信号的统计特征在患者之间是不同的。第二个因素是用于机器学习的数据集质量有限。
理想的数据集需要能很好地表示癫痫发作期间可能出现的各种脑电图信号。即使使用一些公开可用的数据集获得了高性能,它们通常也有固有的限制。例如,他们可能过于具体,属于特定类型的患者,例如波士顿儿童医院(CHB)麻省理工学院(MIT)的数据集。然而这组数据只适用于青少年和儿童,而学界普遍认为脑电图信号随年龄而异,因此很难将结果推广到成人。数据记录的时长一般足够长,尽管基于这些数据集的研究已经有较好的预测结果,但部分数据集也可能太小或记录不完整,没有癫痫类型和患者特征的指征,进而影响模型质量,如波恩数据集。因此这些研究在各种使用原始数据的深度学习架构中具有非常高的性能,但在其他更复杂的数据集上似乎很难推广。因此,这些实验并不符合临床情况,结果也不能代表目前的临床表现。
这一事实促成了天普大学医院脑电图癫痫发作语料库(TUSZ)的发展。至今,它是此类文献中最大的开源语料库,能够准确描述临床症状。TUSZ是一个复杂的数据集,在病人、癫痫类型以及电极放置布局(montages)等方面提供了很大的多样性。目前已有一些使用了TUSZ的第一个版本,基于深度架构的机器学习模型,但结果不理想:一些架构具有了良好的特异性,但灵敏度仍然较低,尽管具有低误报率,但常常无法正确检测到癫痫发作。但总的来说TUSZ与其他癫痫语料库相比,他们已经为该研究提供了更多的患者和更广泛的癫痫类型,随着版本更新,数据集的全面性进一步提升。
以上观察都指向一个问题:数据的增加是否会带来更好的结果。 我们发现,通用建模的一个常见困难是缺乏数据(无论是数量上还是质量上),无法通过机器学习获得相关结果,也无法建立适用于新患者数据的模型。为了增加训练数据的数量,我们首先开发了TUSZ的最新版本,它提供了一个更大的训练集,使用了经典的机器学习和数据划分方法。之后,我们使用的另一种方法是基于一个带迭代的省略方法,以交叉验证的方式,用测试集的数据扩展训练集。这意味着,在每次迭代中,我们为测试阶段保留一个初始测试集的患者,并对其余的数据执行模型的训练和验证。XGBoost是我们选择的分类器算法。它是梯度增强分类器的快速实现,使我们能够快速执行第二种方法所需的多次迭代。由于它是一种基于决策树的算法,具有可解释性强的优点,该算法返回训练集上特征重要性的度量值。时间和频率特征(按1秒的分段计算)与其他一些特征作为我们算法的输入一起使用,这些特征由一个特定的脑电图信号python库处理,称为pyEEG。这些方法被应用到TUSZ的两个最重要的子集的电极放置布局进行多个实验。
因此,通过快速计算方法,我们成功地呈现了与天普大学医院(TUH)文献中最佳匹配的结果,进而证明了增加数据样本数据量可以提高模型性能。我们分析了癫痫发作类型的表现,我们发现归类为广义的癫痫发作更容易识别。最后,XGBoost算法的可解释性显示了特征和脑电通道,这是区分癫痫发作与背景、发作期与发作间隙活动的最佳方法。因此,我们在讨论部分展示我们与神经学家讨论得到的一些想法。
由于TUSZ的第一次官方发布是在2017年4月,目前关于机器学习技术应用于该数据集的文献尚不丰富。Picone在天普大学的研究小组提出是用深度学习方法研究该数据集。本文广泛地描述了几种体系结构,并在此数据集中首次报告了给出的结果。
在这篇论文中,使用了64位患者的数据用于算法训练和50位患者的数据用于测试。应用了隐马尔可夫模型(HMM),长短期记忆(LSTM),卷积神经网络(CNN)等架构,并结合了最新的有效的癫痫检测方法与多层感知器(MLP)和混合CNN/LSTM模型。样本数据通过(增量)主成分分析[(I)PCA]进行降维。结果是基于任意重叠方法(OVLP)计算的指标;它包括:如果检测到的事件至少触及真实事件的一段时间(段),则考虑完全良好的检测,而不是逐段计算指标。特异性在70% ~ 80%之间,但在混合CNN/LSTM模型中,特异性达到96.86%,误报率非常低,为7 FA/24小时。另一方面,模型灵敏度总是很低,最后一种模型为30%,其他模型高达40%,且错误报警率至少为77 FA/24小时。
类似的工作使用了门控循环单元(GRU)这一特殊类型的循环神经网络(RNN),它比LSTM更快但准确性相对较低。我们将 CNN/GRU 方法与CNN/LSTM 方法进行比较,CNN/GRU显示出相同的灵敏度(30%)和稍低的特异性(91%)。讨论了初始化技术和正则化方法。尽管在本例中使用了TUSZ的1.1.1版本,有196名患者进行训练,50名患者进行测试,但结果与第一篇论文相比仍然是相同的量级。
因此,迄今为止,没有任何一种模型能够达到令人满意的灵敏度,并且除了具有许多层的深层次复杂的CNN / LSTM体系结构之外,特异性和误报率也不是很突出。
梯度助推是一种利用助推原理的集成方法。简而言之,它将一个分类器(通常是一个决策树)与输入中给出的数据相匹配,并计算残差。然后根据这些残差调整新的分类器,重复这个过程的重复,验证错误不断减少。基于决策树的梯度增强模型有很多优点;它们的相关特征具有较好的鲁棒性,不需要对这些特征进行归一化处理,进而可以对特征的重要性进行估计。最后一个特点是可以对特性和分析过程提供重要的参考。
XGBoost库是梯度增强算法的高效分布式实现。XGBoost的主要优势是它的可伸缩性,它允许并行和分布式计算,并使学习和模型探索更快。此外,还添加了其他一些改进,如减少过拟合的技术,使XGBoost的性能比通用增强算法更好。我们通过python包使用XGBoost库来完成这项工作。
尽管众所周知梯度增强在一些任务中达到了很高的性能,而且比深度学习架构更容易参数化,但据我们所知,它并没有在“大数据”癫痫检测语料库(如TUSZ)上使用。然而,梯度增强方法曾在由21名患者数据组成的Freiburg数据集(不再公开可用)上使用。他们的方法是针对特定患者的,因为他们为每个患者建立了定制的模型。在提供模型之前,一个病人的数据实际上被分为一个训练子集和一个测试子集。对所有其他患者重复这一过程,从而产生与患者一样多的模型。但在目前的工作中,我们使用了通用建模等相反的方法。关于我们试图通过XGBoost来开发的可解释属性,我们必须指出,其他一些研究也以类似的方式解决了这个问题。这两项方案都考虑了对多个患者的通用建模,并为此目的使用波恩数据集。第一种方法使用基于决策树的建模,包括随机森林分类器,这一结论强调了随机森林算法的良好性能,它是一种类似于梯度增强的集成方法。第二种是试图从模糊逻辑系统中建立规则,讨论了生成的模糊规则的可解释性。波恩数据集仅提供一条脑电通道,限制了解释范围。
- 样本和方法
3.1 数据集
TUSZ是来自TUH较大脑电图信号数据库的一个子集。TUSZ数据集由于包含大量的患者的数据和构造而引人注目。在2018年4月发布的1.2.1版本中,训练集中有266名患者(其中118人患有癫痫),测试集中有50名患者(其中38人患有癫痫),以及40多种不同的电极配置。
TUSZ数据集是通过识别TUH脑电图语料库中最有可能包含癫痫发作事件的会话而建立的。我们使用了三种注释工具来识别临床感兴趣的事件:自然语言处理(NLP),一种商业软件,和一个三通系统(Natural Language Processing, a commercial software, and a three-pass system)。然后一个注释团队手工注释数据,并表明NLP方法作为第一步是最有效的,这再次表明了在一个大数据集的脑电图中自动检测癫痫发作事件的困难。
该数据集包含了采样率、参考或电极放置布局方面的大量不同配置。然而,两个主要的电极放置布局在数据集中占主导地位:“平均参考”(AR),它的电位是相对于电极子集的平均值测量的,以及“耳部连接电位”(LE),它的参考位于耳朵上,电干扰小。以往的研究更多的是对TUH数据集的统计,更多的是对电极放置布局及其后果的考虑。
而且,所有的记录都包含标准的10/20放置电极。根据以往的研究成果,我们称“通道”为由TCP双极电极放置布局获得的电极的衍生物,也称“双香蕉式(double-bananas)”(如图1所示)。
图 1
数据被分成六个文件夹:三个用于模型训练,其余三个用于测试。每个文件夹都包含一个特定的电极放置布局,可以是AR, LE,也可以是AR的一个轻微变体。这个变体的代表性较低,在本研究中未被考虑。
对于每个患者,他们自己进行一个或几个会话,其中包含与一个或多个记录相关的文件.edf文件包含原始的脑电图信号和一个包含有用信息(频率、持续时间、日期)的头.lbl文件包含基于事件的注释,用于捕获图1所示22个频道上每个事件的开始和结束。事件要么是背景,要么是特定类型的癫痫发作。实际上,这些注释可以指示某个初始阶段在某些通道上是早于还是晚于开始还是结束。除了事件是二进制的(bckg和seiz)之外,lbl_bi与前一个非常相似。tse文件包含基于标签的注释,用于全局捕获所有通道的每个事件的开始和结束。这些是机器学习研究中最常用的,因为它们允许为每个时间步给出一个总体目标。除了事件只是二进制(bckg和seiz)之外,.tse_bi文件与前面的文件非常相似。对于每个会话,还有一个.txt文件,它以非结构化的方式包含关于患者的一般信息,即记录。
癫痫发作通常分为两大类。第一类是广义危机,它从一开始就在两侧大脑半球同步发生。第二类是局部或局灶性危机,开始于大脑的局部区域。它可能伴随着意识的丧失;从大脑关键位置开始的异常电活动可以逐渐延伸到整个大脑;这种危机可能导致抽搐。
然而,TUSZ正在遵循一个更精细的分类。在这组数据中,定义了10种不同类型的癫痫发作,尽管其中一些很少见。有几种类型的癫痫发作属于一般类型或常见类型。在全身性发作中,我们发现导致瞬间意识改变的“缺失”,以肌肉张力强烈变化为特征的“强直性现象”,以抽搐为特征的“阵挛性现象”和以抽搐为特征的全身性“强直性阵挛性”现象,以及弛缓性和肌阵挛性发作。在局部性癫痫发作中,我们可以明确区分复杂和简单的部分性癫痫发作是否分别存在意识丧失。在表1中,我们从数据集中提取了关于分布的所有信息,这些信息以每种类型的发作片段的形式存在于几个文件夹中。在本案例中,这些片段的持续时间为一秒。从这张表中可以看出,非特异性发作占主导地位。
3.2 算法设计
由于我们在TUSZ数据集上工作,我们通过不同的角度解决了癫痫检测的问题。之前的工作是基于脑电信号的特征转换和几种分类模型的比较。在实验过程中,我们注意到随机森林和梯度增强等集成学习方法的良好性能。此外,使用高性能版本的梯度增强,如XGBoost,可以大大减少训练时间,从而实现更关注参数和超参数的快速迭代和优化。我们还注意到,当训练和测试集在整个样本人群中混合非重叠的发作和发作间片段后有最优结果。然而这种方法导致了一种数据泄漏,因为一个记录的一个片段与它的相同状态的直接邻居并没有真正的不同。因此,当我们试图对新患者进行脑电图分类时,结果不佳。 上述过程使用了第一个版本的数据集,限制并使用了59名患者的数据进行模型训练。
一些深度学习算法能够在不进行预处理的情况下直接从复杂的时间序列中提取特征,我们对这些算法的能力和前景很感兴趣,因此我们对该领域进行了研究,但没有取得预期的成功,因为处理原始数据需要更多资源。在深度学习算法(长短期记忆,LSTM)中使用脑电图特征的另一种尝试使用TUH文献相关的方法时因为糟糕性能背景崩溃了。
基于上述方法,我们进行了几次观察。首先,脑电图特征方法仍然与性能问题相关。其次,XGBoost是高效的,并允许它快速迭代。最后,上述对测试集中的新患者特征的提取概括效果不佳。
关于最后一点,有两种解决方案:其一,我们进一步考虑对患者进行特定的建模,其二,我们增加通用建模的训练数据量。第二个方法更合适,据量的增加在多大程度上有助于提高性能是下面的研究内容。脑电图特征和XGBoost将是后面介绍的两种基本方法。第一种方法的目的是在TUSZ版本1.2.1上评估一个经典分割的性能,包括训练、验证和测试集。在第二种方法中,我们通过将经典的分割方法替换为省略方法来增加训练数据集这一在缺乏数据时增加训练集的常用技术。
3.2.1 第一种方法:脑电图特征 标准划分 XGBoost 剩余内容已隐藏,支付完成后下载完整资料
资料编号:[258927],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。