技术文章和通讯

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

加雷思·琼斯,伦敦大学学院


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

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

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

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

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

我用MATLAB开发的算法®在个人参赛者中得分最高,在比赛中得分第三。

脑电图数据的访问与预处理

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

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

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

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

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

图2。MAT文件中的脑电图数据被划分为顺序的时期。

图2。MAT文件中的脑电图数据被划分为顺序的时期。

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

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

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

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

提高预测精度

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

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

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

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

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

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

更好地管理癫痫的早期步骤

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

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

关于作者

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

发布于2017 - 93132v00

查看相关功能的文章

查看相关行业文章

Baidu
map