技术文章及通讯

利用机器学习从脑电图数据预测癫痫发作

作者:加雷斯·琼斯,伦敦大学学院


大约20-40%的癫痫发作对抗惊厥药物没有反应。因此,癫痫患者无法知道当他们开车、游泳或从事其他会使癫痫发作特别危险的活动时是否会发生癫痫。

最近的一次Kaggle比赛通过挑战参与者开发算法来解决这一问题,该算法可以从人类颅内脑电图(EEG)记录中预测癫痫发作(图1)。

图1。颅内脑电图数据由Kaggle提供。

图1。颅内脑电图数据由Kaggle提供。

该比赛由MathWorks、美国国立卫生研究院(NINDS)、美国癫痫学会和墨尔本大学赞助,吸引了来自世界各地的478支团队和646名参赛者。

我用MATLAB开发的算法®个人得分最高,整体得分第三。

脑电图数据的存取与预处理

脑电图数据来自墨尔本大学进行的一项长期研究。

在这项研究中,通过16个外科植入的400 Hz采样电极,收集了15名癫痫患者的颅内脑电图记录,持续数月。在最初的研究中,研究人员无法可靠地预测大约50%的测试对象的癫痫发作。

Kaggle比赛的参与者从三个测试对象那里收到了近100g的脑电图数据。每个10分钟的片段都包含其中之一preictal癫痫发作前记录的数据,或者发作数据,在很长一段时间内没有发生癫痫。我们的工作是开发一种算法,可以将以前未见过的片段分为前段或间段。

Kaggle的参赛者可以免费使用MATLAB,但不需要使用MATLAB。我很早就决定使用MATLAB。比赛数据以MAT文件形式提供,便于在MATLAB中获取。此外,我在所有的研究工作中都使用MATLAB进行数据收集和分析。

我首先连接任何连续的10分钟长的片段(图2)。然后我将所有数据划分为epoch或窗口,长度从50秒到400秒不等。尝试不同的时代长度是很重要的,因为从数据来看,在什么时间尺度上预测特征可能会出现在数据中,或者它们随时间变化的速度有多快并不明显。

图2。MAT文件中的EEG数据被分割成连续的epoch。

图2。MAT文件中的EEG数据被分割成连续的epoch。

提取特征和识别最佳机器学习模型

与许多数据分析比赛不同,癫痫发作预测比赛提供了一个使用原始数据而不是现成表格的机会。除了重新引用之外,所提供的数据没有经过任何额外的预处理。数据的非结构化性质使我能够通过执行自己的预处理和特征提取来充分利用这些数据。

我使用MATLAB从数据中提取可以用于训练机器学习模型的特征。具体来说,我开发了一种算法,用于计算每个历元的频带幂,每个信道的汇总统计信息(包括均值、标准差、均方根、偏度和峰度),以及时域和频域信道对之间的相关性。通过使用并行计算工具箱™在不同的核心上同时处理训练和测试数据,我几乎将处理时间缩短了一半。

因为我是在业余时间为比赛开发算法,而不是作为主要的研究活动,所以我想尽快开发出一个解决方案。我在其他环境中有监督机器学习的经验,但选择使用统计和机器学习工具箱™中的分类学习者应用程序来快速搜索我提取的特征的最佳分类模型类型。在短短几分钟内,该应用程序就自动训练和评估了基于决策树、判别分析、支持向量机、逻辑回归、最近邻和使用增强树的集成方法的模型。万博1manbetx在Python或R中构建和测试所有这些机器学习模型需要花费我几天甚至几周的开发时间。

提高预测精度

接下来,我着手提高Classification Learner应用程序确定的两个最有前途的机器学习模型的性能:二次支持向量机和随机欠采样(RUS)增强树。万博1manbetx我测试了各种特征和epoch长度,最终确定80秒、160秒和240秒的epoch长度是分类中最重要的(图3)。因为我使用多个训练集和测试集,所以我必须管理和命名表示各种特征和epoch长度组合的大量表。我使用MATLAB中的新String类以编程方式为表生成标签。String类消除了我以前用于生成标签的复杂代码块。

图3。显示特征和历元长度相对重要性的图。

图3。显示特征和历元长度相对重要性的图。

在对本地数据进行了机器学习算法测试后,我将它们提交给了Kaggle竞赛网站,该网站将它们与一组未公开的测试数据进行了对比。算法是通过计算接受者工作特征曲线(AUC)下的面积来评分的,AUC是评估二元分类器和竞赛官方评分指标的常用衡量标准。评分结果会发布在一个经常更新的公开排行榜上,这样参赛者就可以看到他们的算法在比赛中相对于其他算法的表现如何。

为了进一步提高算法的准确性,我尝试了其他几种技术,包括超参数优化。我使用的最有效的技术之一是通过结合SVM和RUS增强树模型来实现集成分类器。平均两个模型的预测结果导致了准确性的显著提高,使得集成分类器的得分高于其任何一个单独的组件模型。结果如下:

单独支持向量机:~0.65 AUC
单独RUS: ~0.72 AUC
支持向量机和RUS集成:~0.80 AUC C

迈向更好的癫痫管理的早期步骤

大多数参赛者训练了三个独立的机器学习模型,每个癫痫患者一个。我创建了一个适用于所有三个患者的通用模型,因为我觉得在临床实践中,这种解决方案比需要从每个患者收集脑电图数据的解决方案更有效。在临床上,一个关键的目标(和困难)是创建模型,可以在患者之间进行概括,并对看不见的个体进行预测,而不是为每个患者训练单独的分类器。竞赛中产生的模型在预测新患者方面的效果如何还有待观察。作为将竞赛算法纳入临床研究的第一步,墨尔本大学的研究人员正在使用竞赛中未提供的数据对提交的算法进行进一步评估。

除了比赛对癫痫研究的潜在好处之外,我个人也从参与的机会中受益。对我来说,这场比赛是一种非常吸引人的学习新技能的方式,同时有可能推动这一领域的研究,使全球数百万癫痫患者受益。

作者简介

加雷思·琼斯博士是伦敦大学学院脑科学学院的助理研究员。他的研究重点是利用心理物理学、电生理学和计算建模来探索哺乳动物整合感官信息能力的皮层机制。

发布于2017年- 93132v00

查看相关功能的文章

查看相关行业的文章