python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第1张图片

是新朋友吗?记得先点蓝字关注我哦~

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第2张图片

(图片来自于网络)

1

引言

将机器学习方法应用于脑电信号的自动分析,特别是在基于脑电信号的临床诊断领域,因其巨大的应用前景而引起了广泛的兴趣。例如,它是检测和预测癫痫发作的基础,目的是警告患者即将发生的癫痫发作,或控制脑电刺激以预防或停止癫痫活动。此外,机器学习允许基于EEG的睡眠分期过程的自动化以及特定疾病及其神经诊断,如阿尔茨海默,抑郁症,创伤性脑损伤,中风,以及意识障碍等。脑电自动诊断算法的发展可以支持临床医生筛选EEG。它们不仅可以减轻临床医生的工作量,而且可以及早发现和治疗疾病,从而加强病人的护理。

我们将用于脑电分析的机器学习大致分为两种方法:基于特征的方法和端到端的方法。在L.A.W. Gemein(2020)等人的文章中,利用异常脑电数据库对这两种方法进行了诊断性能上的比较。

1

基于特征的机器学习

基于特征的解码方法在不同的脑电解码任务中有着悠久的成功应用历史。在这种方法中,通常是手动设计并预先选择特征来表示数据。例如,研究人员可以优先决定使用特定频段的频谱功率作为特征,前提是他们假设这些频带对于当前的解码任务是有用的,然后可以手动选择准确的频带,例如在运动解码的共空间模式(CSP)算法中。或者可以通过自动特征选择来确定。选择特征的过程依赖于研究者的领域专长。如果先验特征决策是次优的,它会降低结果分析的质量。相反,由于其明确的性质,分类决策的可解释性常常被认为是基于特征解码的优势。

2

端到端机器学习

端到端解码方法接受原始或最少预处理的数据作为输入。到目前为止,端到端深度学习之所以受到关注,主要是因为它在其他研究领域取得了成功,例如计算机视觉和语音识别。然而,最近通过将人工神经网络的深度学习成功地应用于脑电图分析,它也获得了发展势头。通过设计,网络可以自己学习特征,并允许对特征提取和分类进行联合优化。这个过程可以得到更好的解决方案或发现意想不到的信息特征,并且不需要手动设计特征,至少不需要提取特征。端到端模型在所学特征方面以“黑匣子”著称;理解它们所学的知识是深度学习领域的一个挑战,也是一个持续不断的课题。另一个普遍关注的问题是,机器学习应用的复杂性只会从传统方法中的特征工程领域转移到网络工程领域,因为可能需要根据给定任务的要求手工构建网络。

3

两者的对比

在脑电图分析领域,传统的基于特征的与端到端机器学习分析的比较还缺乏系统性。特别是,目前还没有研究将使用广泛的时间、频率和连通性特征从EEG中进行病理解码的准确性,与基于大EEG数据集的成熟端到端方法进行稳健比较。过去对深度学习结果的比较通常只考虑其他深度学习结果,或者(更确切地说)基于特征的简单基线(使用阈值、线性判别分析或线性回归)和有限的特征集。这会导致方法之间的不公平比较。此外,它还会给人留下一种方法优于另一种方法的印象。在特定的应用中,深度学习并不能产生比基于特征的解码更好的效果。最近,Rajkomar等人(2018)证明了logistic回归可以与deep神经网络竞争,从电子健康记录中预测医疗事件。目前还没有研究将不同的深层神经网络结构与基于特征的方法进行比较,特别是使用多个领域的大量特征来解码EEG。本文认为,基于特征的方法和端到端的方法之间的大规模比较对于EEG的机器学习技术超越现有技术是至关重要的。在这两个重要领域,以相互了解的方式开发方法,对于先进的基于特征的和新颖的端到端脑电图方法学来说,都可能是富有成效的。

本文中,研究者比较了使用深层神经网络的端到端解码和使用大量特征的基于特征的解码。对于基于特征的病理学解码,使用了随机森林(RF)、支持向量机(SVM),黎曼几何学(RG)和auto-sklearn calssifier(ASC)自动化ML工具包。对于端到端的病理学解码,使用了三种类型的卷积神经网络(CNN),分别是已成功应用于运动解码、速度解码和病理学解码的BD-Deep4,为EEG开发和评估的深度学习工具箱Braindecode(BD),以及通过神经结构搜索对脑电解码进行了优化的BD-TCN。

21

研究方法

1

数据集

研究采用了TUH异常脑电语料库。语料库包括从2329名独特的病人身上获得的2993段至少15分钟的记录,包括一个发展和单独的最终评价集。包含年龄范围广泛(7天-96岁)的男性和女性患者的记录,因此包括婴儿、儿童、青少年、成人和老年患者。在数据集中诊断的患者的病理学包括(但不限于)癫痫、中风、抑郁症和阿尔茨海默病,然而,仅提供二元标签。数据集包括医生报告,这些报告提供了有关每个脑电图记录的附加信息,如主要脑电图检查结果、患者正在服用的药物和病史。在数据集的描述中,TUH报告了97–100%的评分者间一致性。

分析统一选取21个电极(图1)。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第3张图片

图1 国际10-20位置的21个脑电图通道子集

2

基于深度神经网络的端到端解码

2.1

神经网络体系结构

研究使用不同的神经网络结构,包括ConvNets和TCNs来解码脑电记录中的病理现象。首先使用了一个名为BD-Deep4的四层ConvNet架构(图2),其具有初始分离卷积(首先是时间卷积,然后是空间卷积)。随后,它具有由卷积和最大池组成的几个块,并使用指数线性单位作为激活函数。这是一个相当普遍的架构,已被证明可以很好地推广到几个脑电解码任务,如运动(图像)解码,  速率和速度解码,以及病理学解码。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第4张图片

图2 BD-Deep4架构

接下来使用了一个TCN架构(图3)。TCN最初由Bai等人提出(2018),作为递归神经网络(RNN)的替代品。在他们的工作中,Bai等人(2018)证明TCN在不同数据集的序列建模任务中始终优于RNN,这些数据集通常用于基准RNN。它是本研究中最复杂、最深入的架构。Chrabąszcz(2018)的优化产生了五个级别的块,每个级别包含55个通道的时间卷积以及最大池。研究者称这种优化架构为Braindecode TCN(BD-TCN)。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第5张图片

图3 TCN的总体架构

此外,研究者使用了Schirrmeister等人(2017b)引入的另一种ConvNet架构,被称为Braindeocde Shallow ConvNet(BD Shallow)(图4)。与BD-Deep4网络一样,其具有初始分离的卷积;然而,它是整个体系结构中唯一的卷积。著名的FBCSP算法启发了BD-Shallow架构,尤其是平方和对数非线性。它专门用来提取脑电信号频带功率的对数。本文应用BD-Shallow作为BD-Deep,没有对其架构进行任何进一步的调整。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第6张图片

图4 BD-Shallow架构

另外,本文使用了另一个ConvNet架构的重新实现,称为EEGNet,最初由Lawhern等人(2018)引入。研究者称这种重新实现为Braindecode EEGNet(BD EEGNet)。同样,该架构有一个分离的初始卷积。此外,该体系结构具有参数数量少的特点。

2.2

 神经网络训练

训练采用了同样大小、最大程度重叠的方式对网络进行了裁剪训练。网络的感受域自动决定裁剪的大小。所有网络一次暴露在大约600个信号样本中,除了TCN,它的接收场大约为900个样本。并使用优化器AdamW来最小化分类交叉熵损失函数。AdamW将权重衰减更新和损失函数的优化解耦,从而实现更好的泛化。研究使用了余弦退火来安排梯度和权重衰减更新的学习率,并且没有执行学习率的重新启动。

3

 基于特征的解码

3.1

特征提取

研究计算了50个特征类型和6个领域的8633个特征(表1)。这些描述脑电信号时间、频率和连接性结构的特征都被用来描述EEGs。这些特征的提取基于离散傅立叶变换(FT)、连续和离散小波变换(CWT和DWT)以及基于Hilbert变换。特征向量的维数F=8631,包括域CWT、DWT、FT、连通性和时间的所有特征值。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第7张图片

表1

3.2

基于特征的分类器

在特征生成之后,将特征矩阵作为输入,输入到多个基于特征的ML模型中。研究使用径向基函数(RBF)核的支持向量机,此外还使用了一个RF分类器,根据设计,它对过拟合是鲁棒的,因此是一个可靠的基线模型。另外还应用了自动化ML工具包ASC,因为它具有自动选择集成和超参数优化的潜力,可以产生更好的结果。最后使用带有RBF核的SVM评估了Python包pyRiemann中实现的基于黎曼几何的解码。所有模型都依赖于scikit-learn中的实现。

4

性能评估

研究对开发集的记录进行了5倍交叉验证(CV)。通过在完整的开发集上训练模型,并在最终的评估集中预测示例,并重复了五次最终评估,以管理某些模型初始化引起的统计差异。报告的准确度得分为开发和最终评估集的正确预测的ACC。此外,比较了基于最终评估预测的bootstrap精度分布的模型性能。最后使用符号检验来验证模型性能优越性(H1)的最终评估中的预测标签。为了提供一个保守的估计,发生的联系被平均地分为两类。当p值<0.05时,拒绝原假设。

5

分析方法

5.1

手动设计(Handcrafted)特征

RF通过内部计算由特征获得的数据分割的“纯度”来估计特征的重要性。原则上,数据分割越纯,在森林树中考虑到的特征越早,其重要性就越高。研究为前面所有计算特征分配了文本标签,并使用RF将它们映射到CV中的平均特征重要性。根据特征的文本标签和频带和电极位置选择特征子集。然后创建特定频率范围内平均特征重要性的拓扑图。此外还计算了开发集上特征的Spearman相关性并可视化相关图。

5.2

学习特征

通过进行输入信号扰动,以确定EEG的频率范围和电极位置,并识别EEG中的病变。研究计算了原始和随机扰动输入信号的网络预测值,并将振幅变化与预测值的变化相关联。给出例子的标签,就可以确定在给定的频率范围内通过扰动增加(或减少)信号幅度是否有助于更具病理性(或非病理性)的预测。此外还制作了拓扑图,以显示与病理类别最相关的频率范围和电极位置。

5.3

融合

在信号融合中,将多个模型预测相结合,以提高单个模型的性能。在假设模型存在不相关错误的情况下,组合会导致错误的单个模型决策被否决。研究计算了所有模型对CV预测的Spearman相关性,并可视化了得到的相关图。此外,计算并可视化成对模型的不重叠标签错误比率,以探讨集合的可能性。对于感知,预测是加权的。个别模型预测的权重为“1”是一种特殊情况,相当于多数表决。研究首先建立了一个基于不重叠标签错误率最高的三个模型的集合。然后根据单个模型预测计算出的大多数标签投票,计算出一个集合标签。此外,作为一种自动化的选择,本文研究了一种基于Caruana等人(2004)提出的auto-sklearn的集成选择技术。自动选择模型进行集结,并根据验证集计算最优权重。根据单个模型的CV和最终评估预测评估两个集成的性能。

3

研究结果

1

基于聚合特征的解码

图5的右半部分展示了基于聚合特征的解码结果。基于黎曼几何学(RG)的解码精度接近86%。解码的准确率从CV的81%提高到最后评估的86%,这可能表明CV中的训练数据不适合。使用传统的和自动化的基于特征的方法获得了超过84%的准确率。

此外观察到,所有基于特征的模型的假阴性率高于假阳性率;也就是说,它们将病理性示例归类为非病理性,而不是相反(图6下一行)。由于模型显示出较低的灵敏度(图6),因此它们无法识别某些患者的脑电图病理学特征。特别是对于医学筛查方法,这是不可取的,因此需要进行性能改进。

基于黎曼几何的分类方法优于其他基于特征的分类模型,准确率达85.87%。本文观察到,用适当的原生空间度量(几何而不是欧几里德平均值)来处理协方差矩阵会产生更好的性能。考虑到21个电极的协方差矩阵只有231个非冗余项,基于黎曼几何的解码性能非常显著。协方差矩阵以及聚合的高维特征向量不包含详细的时间过程信息,并且,在这两种情况下,平均了从中提取特征的组块数量。然而,结果表明,协方差矩阵中包含了足够的信息,甚至超过了使用手动设计特征的所有其他测试模型。

ASC的应用有效地减少了建立和优化运行模型所需的时间和专家知识,并且其最终目标是使ML适用于非专家。可以确认,ASC在分类脑电图病理学方面取得了竞争性结果,而无需用户交互。由ASC自动选择的集合由AdaBoost组成,集合强度为78%(66%,8%和4%),梯度增强为18%,线性判别分析为4%。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第8张图片

图5 在CV和最终评估期间,所有模型的解码精度

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第9张图片

图6 所有模型在独立最终评估运行中的平均混淆矩阵

2

端到端解码性能

图5的左半部分是用深度神经网络端到端解码的结果。整体最佳解码结果由BD-TCN获得,达到86.16%的准确率。其次是BD-Deep4和BD-Shallow,准确率分别为84.57%和84.13%。BD-EEGNet的解码准确率为83.41%。总体而言,深度神经网络在CV和最终评估中没有表现出比基于特征解码那么多的性能差异。深度神经网络的差异范围在-0.6%~+0.4%,而基于特征解码的差异范围在-1.21%~+4.61%。同样,与基于特征的方法一样观察到了更多的假阴性(图6第一行)。因此,结果表明,将CV与最终评估结果进行比较时,本研究使用的端到端方法可能更稳定。

研究还跟踪了所有应用网络的学习曲线(图7)。BD-deep4和BD-Shallow的损失和误分类曲线在开始时是不规则的,但是在第20段之后,它们变得更加平滑。BD-EEGNet曲线总体平滑,但损失率和误分类率最高。BD-TCN曲线表明训练与测试损失的最大差异。

结果表明,对于给定的任务,BD-TCN模型与ChronoNet(ConvNet/RNN的组合)相比在译码精度上具有竞争性。其优化结果可能优于其他神经网络结构。所有其他模型最初都是为其他解码任务而开发和优化的。它们在本研究中的表现突出了它们的普遍适用性。

这里所提出的学习曲线显示了惊人的差异,本文假设它们是所研究的网络体系结构的特征。第20段附近曲线的平滑,特别是BD-Deep4和BD-Shallow的平滑,可能是学习速率的余弦退火更新的影响。在所有模型中,除了BD-EEGNet,可以观察到训练损失和测试损失之间的明显区别。本文假设BD-EEGNet无法更好地拟合训练数据,因为它的参数数量相对较少;它的学习曲线确实显示出不拟合的迹象。相反,不能观察到过度拟合。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第10张图片

图7 不同深度神经网络的学习曲线

3

基于特征和端到端解码性能的比较

可以观察到不同模型和方法的准确率都在同样的范围内,ChronoNet (86.57%), BD-TCN (86.16%), BD-Deep4 (84.57%), ASC (84.71%), RF (84.06%), 和RG (85.87%)。图8中显示了Bootstrap精度分布,除了支持向量机,它们几乎是一致的。没有统计证据表明其中一个模型的性能优于其他模型。

图9中提供了基于年龄和性别信息创建的子集的精确度。除了一些小的例外,例如30岁以下男性患者的支持向量机,模型在所有子集上表现出非常相似的表现。总的来说,年轻女性患者的记录可以被解码的准确率最高,而老年女性患者似乎是最难解码的亚组。中年组最为一致。

总的来说,本研究确定了基于特征和神经网络方法的相似解码精度。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第11张图片

图8 所有模型的Bootstrap精度分布

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第12张图片

图9 不同子集的平均最终评估准确度

4

学习和手动设计特征的重要性

通过使用BD-Deep4的扰动分析,本文确定了当振幅增加时,与电极T3和T4的病理类别预测的相关性(图10)。这种影响在delta和theta频率范围内尤为显著。相反,在α频率范围内,枕电极O1和O2的相关性降低是最显著的影响。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第13张图片

图10 BD-Deep4网络的输入信号扰动

为了与扰动分析进行比较,使用随机森林(RF)对特征重要性进行分析,在相同的频率范围内提取了重要的手动设计特征(图11)。电极T4在delta和theta频率范围内提取的特征信息量最大,这与扰动结果一致。然而,在T3电极处提取的特征不被视为具有有效信息。然而,在电极T3处提取的特征并没有提供有效信息。在α频率范围内,大多数信息特征是在枕骨电极O1和O2处提取的。同样,这与扰动结果是一致的。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第14张图片

图11 RF特征重要性分析

为了将扰动和特征重要性分析进行比较,这里展示了在基于黎曼变换的解码流程中使用的类协方差矩阵的差分矩阵中的值的可视化(图12)。可以观察到,在T3和T4处提取的方差最能反映病理。这与扰动分析是一致的。此外,正如扰动分析中所述,O1和O2电极(以及Fp1和Fp2)上的差异表明大脑活动正常。特征重要性分析强调了这两种观察结果。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第15张图片

图12 平均类协方差矩阵的差异(病理性-非病理性)

为了进一步分析特征重要性和扰动结果的不同模式,这里计算了从delta、theta和alpha范围提取的特征的相关性(图13)。图中显示了很强的相关性,特别是在θ和α波段。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第16张图片

图13 特征相关分析

5

患者特定信息对解码精度的影响

研究还调查了年龄和性别对解码精度的影响,因为这些可能对分类有用。将患者的年龄和性别添加到特征向量中,并作为BD-TCN的附加网络通道。分类准确率在CV期间仅略有提高,例如,通过添加年龄和性别,RF-CV准确率提高了0.15%(从83.1%提高到83.25%)。

6

集成解码性能

表2中给出了两种集成方法的结果。BD-Deep4、RF和RG模型的非重叠CV标签错误率最高(336个错误,比率为44.56%),这就是为什么选择它们进行多数投票聚集。auto-sklearn选择除SVM外的所有模型,并根据CV预测计算最优权重(图4)。

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第17张图片

表2

然而,在最终评估中,auto-sklearn集成的结果是总体最佳CV准确率(86.23%),基于多数投票的集成(85.51%)和自动集成选择(85.14%)都没有导致比最佳单模型性能(BD-TCN:86.16%)的改善。

4

总结

本研究首先开发了一个全面的基于特征的框架,然后将该框架与最先进的端到端方法进行比较。基于TUH异常脑电图语料库的分析结果表明,所提出的基于特征的解码框架可以达到与现有深度神经网络相同的精度,并且这两种方法使用了相似的数据特征,例如,在电极位置的δ和θ波段功率。

由于临床标签的评分者间不完全一致,目前的二元脑电病理解码器的准确率可能达到接近90%的饱和,而且这种解码器已经在临床上有用,比如在临床脑电图专家很少的领域。本文提出的基于特征的学习框架是开源的,为脑电机器学习研究提供了一个新的工具。

基于目前的研究,我们看到了脑电自动诊断的前景。一个工作良好的流程,实施上述改进方案,可能有助于解释脑电图记录。它不仅可以使不能到专门中心就诊的病人获得脑电图诊断,而且还可以在与人类专家聚集在一起的水平上更早地发现疾病,从而在一定程度上减轻全球神经疾病和紊乱的负担。

参考文献

Gemein, L. A., Schirrmeister, R. T., Chrabąszcz, P., Wilson, D., Boedecker, J., Schulze-Bonhage, A., ... & Ball, T. (2020). Machine-Learning-Based Diagnostics of EEG Pathology. NeuroImage, 117021.

关注我们,并在后台回复关键词“机器学习”,即可获得相关文献的英语全文与完整解读!

———— / END / ————

每周一我们都将分享并解读一篇脑科学或行为科学相关文献,您的转发是对我们最大的支持,如果有哪个领域的文章是你特别想看到的(包括眼动、脑电、经颅磁、fNIRS),欢迎在后台给我们留言噢!

-往期精彩-

为什么眼动仪都是黑色的呢?

干货分享系列——

统计分析软件资源推荐

Nature Communications | 

穷人的孩子早当家?

微信版本已更新

将我们设为星标获取最新更新!

python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第18张图片 python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断_第19张图片

喜欢本篇内容,请点亮在看

41c680bc6d5ab4da29303a4b399e961b.png

你可能感兴趣的:(python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断)