基于胎心仪数据的胎儿心脏诊断神经网络研究
基于胎心仪数据的胎儿心脏诊断神经网络研究
随着计算机信息技术的飞速发展,人工智能在医学领域的应用日益广泛。本文介绍了一项基于胎心仪数据的胎儿心脏诊断神经网络研究,通过卷积神经网络(CNN)对胎心率(FHR)数据进行分析,以提高胎儿健康状况评估的准确性。
胎心率(FHR)对于评估胎儿的健康状况具有重要意义。然而,基于传统的分类标准并不准确。随着计算机信息技术的飞速发展,计算机技术对于胎儿电子监护(EFM)中的胎心率分析至关重要。胎心率分为正常、可疑和异常三类。通过与医院的合作,我们共获取了4473条记录,其中正常记录 3012条,可疑记录1024条,异常记录437条。为了提高胎儿状态评估的准确性,将一维FHR记录分为10个d窗段,然后使用卷积神经网络(CNN)并行处理数据。最后,我们采用投票的方式来确定胎心率记录的类别。我们还做了对比实验,采用基于基础统计的特征提取方法来提取胎心率的特征。然后将这些特征作为输入支持向量机(SVM)和多层感知器(MLP)进行分类。实验结果显示,SVM、MLP和CNN的分类准确率分别为79.66%、85.98%和93.24%。
目前,胎心率是临床上应用最广泛的胎心监护方法。医生通过一些指导标准分析胎心率记录,从而发现胎儿窘迫的情况。胎儿状况评估可以让医生及时了解胎儿的健康状况,以便及时发现潜在的健康问题并做出正确的处理。胎心率已成为监测宫内胎儿健康的主要方法,对于降低分娩发生率和死亡率也非常重要。图1为胎心率记录。新生儿神经系统后遗症多由产程诱发因素引起,包括胎儿缺氧、酸中毒和随后的窒息。当胎儿缺氧时,可以采取安全有效的方法进行胎儿监测。
因此,不断完善胎儿监护方法无疑具有重要的临床意义。传统的胎儿监护方法主要包括胎动计数、胎心听诊计数、羊水形态观察等。这些方法可以判断胎儿是否处于缺氧状态。由于FHR所包含信息的复杂性,国际医学组织希望通过合作提出指南,以避免不同国家有不同的标准。这种方法可以帮助我们减少观察者之间的差异。从而可以减少假阳性率和剖宫产率。
随着人工智能的发展,在医学领域,许多与机器学习相关的算法可以比医生更准确地识别医学图像。因此,将机器学习算法应用在胎儿电子监护系统中,可以帮助胎儿电子监护实现真正的精准分析自动化。同时孕妇可以在家进行胎儿电子监护,并及时获得结果。如果有异常数据,EFM系统可以向孕妇发送消息并通知医生。该系统为用户提供了极大的便利,节省了医疗资源。因此,人工智能算法极大地促进了胎儿电子监护的发展。通过数据分析技术和一些算法来分析胎心率变得越来越重要。
数据收集通过与医院合作,我们开发了胎儿电子监护系统,如图2所示。该系统包括Web、Android和IOS APP。服务器程序语言为Java,数据库为MySQL。系统硬件包括三台CentOS服务器、八核MySQL数据库,主要系统架构如图2所示。在医院,孕妇志愿者使用多普勒设备检测胎儿状态以及胎儿电子监护,我们收集了4473名胎儿胎儿心率记录
预处理数据处理的目的是为了获得更准确的数据进行分析和训练。首先,由于一些孕妇的操作不准确,我们需要删除明显错误的数据。例如,孕妇将胎心放置在不准确的位置,导致大量数据为0。胎心率也存在一些噪声,这些噪声会导致信号不稳定和错误,因此需要清除这些噪声。另外,胎动、母体胎动以及测量设备都会对胎心率数据产生影响。孕妇完成胎儿监测后,医生会对数据进行标记。所以标签是由医生给出的。
利用基本统计方法进行特征提取胎心率有二十多个相关特征。但重要的特征是基线胎心率、加速度、减速度、变异性和胎动。主要特征如表1所示。我们可以使用基本的统计方法来提取这些特征。基本统计方法的特征提取是提取数据波形的均值、方差、极值、频带、功率谱、过零等统计数据来表示原始序列数据作为特征向量。时间序列数据有平均值、方差、极值、过零、边界点、带峰长度等。频域的基本统计方法包括功率谱、功率密度比、中频、平均功率频率等。我们通过国家标准生产的医院胎儿监护系统提取了7个特征,包括加速度、减速度、基线、基线变异性、周期变异性、胎动和子宫收缩。医生主要通过这7个特征来判断胎心率是否正常。所以这7个特征就是最终的特征向量。
分类器本文使用了三种分类算法。第一个和第二个是基于基本统计方法的特征提取,然后通过多层感知器(MLP)和支持向量机(SVM)进行分类。 MLP具有学习非线性模型的能力,并通过应用Softmax作为输出函数支持多类分类。SVM在高维空间中有效,实现了多类分类的方法。 SVM中的决策函数可以指定不同的核函数。第三种是使用CNN对d窗段进行分类,然后通过投票的方法计算分类的频率。图3所示。
神经网络的主要优点是它们可以处理复杂的非线性函数,并且可以找到不同输入之间的依赖关系。胎心率数据的分类标准是固定的,而医生在评估胎心率时会考虑特征和比例的组合。因此,为了准确判断胎心率数据的分类,需要神经网络训练相关的权重关系。在神经网络中,可以输入任意数字,网络可以产生数字输出。该功能也特别适合胎儿心率数据。神经网络还可以增量训练,并且通常不需要大量空间来保存训练模型,因为它们只需要保存一组代表突触权重的数字,并且不需要保存训练后的原始数据,这意味着神经网络可以用于有连续训练数据的应用中。因此,随着我们不断获得更多的胎心率数据,我们就可以不断地进行训练以获得更好的模型。神经网络的缺点是需要花费大量的时间和精力来调整模型,并且优化模型需要经验。SVC(支持向量分类)是一个非线性核,称为径向基函数(RBF)。内核生成的划分器试图将数据集的数据点划分为沿径向分布的不同区域。实验中,将获取的多个特征放入SVC和MLP中,分类精度计算如下:
卷积神经网络是人工神经网络之一。 卷积神经网络算法已成功应用于图像识别领域。 CNN的主要目的是基于权重共享和子采样来识别图像。其网络结构对于平移、缩放、倾斜或其他形式的变形具有高度不失真性。由于卷积神经网络的这些特点,它可以很好地处理受设备或母亲心跳影响的高一维数据。在临床实践中,医生一般会分析20分钟的胎心率数据。心率记录为20分钟胎儿心率(共4473个数据),是一个1×4800的一维信号,然后分为多个d窗段。最后,我们通过投票并计算相关频率来确定胎心率数据的类别。本文尝试了多种经典的CNN模型,然后结合胎心率数据的特点提出了我们自己的胎心数据处理架构。通常CNN是用来处理二维数据的。然而,我们的CNN架构设计处理一维胎儿心率数据。该架构如图 4 所示。我们提出的架构包含三个卷积层和一个全连接层。 ReLU 是我们模型中的激活函数。而fc就是全连接层。本文使用85%的数据进行训练,5%进行验证,10%进行测试。在该架构中,使用最小二乘误差来评估模型的性能。在CNN的每次训练中,由于初始化权重和偏差值的不同,会产生不同的结果。因此,CNN必须反复训练才能获得稳定的精度。速率记录被分为1到16段,以减少对记录长度的依赖。使用卷积神经网络对每个片段进行分类,然后计算每个记录的相关标签的频率。最后,我们选择每条记录出现频率最大的类别。我们的步骤如图 5 所示。
首先,我们使用SVC(支持向量分类)分类算法对胎心率数据进行分类。在SVC中,C用于设置正则化参数。 C越大意味着实验对松弛变量进行惩罚,期望松弛变量接近0。换句话说,对错误分类的惩罚增加,这往往会获得正确的分类结果。这样,训练集的准确率较高,但泛化能力较弱。C值越小,误分类的惩罚就越小,可以容错,将其视为噪声点,获得更好的泛化能力。实验中,经过多次调整C值,当C值为1时,实验结果最好。实验中使用的SVC核是径向基函数(RBF)。我们对数据进行随机划分,90%的数据使用训练,10%的数据用于测试。实验结果如图6所示。
我们使用MLP算法。隐藏层从1层增加到200层,分类精度明显提高,但训练时间和测试时间也明显增加。另外,隐藏层超过200层,分类精度没有明显提升。考虑到训练时间和测试时间,我们将隐藏层设置为150层,以获得更高的效率并保证准确性。每个实验过程的重复称为"迭代"。实验训练的迭代次数设置为200,那么提高迭代次数对于分类的准确率并没有太大的影响。考虑到实验数据集较大,本文采用的权重优化算法是Kingma Diederik提出的基于随机梯度的优化器,它比拟牛顿法族中的优化器获得了更好的准确率。初始学习率设置为0.0001。实验结果如图7所示
CNN 分类结果,根据胎心率数据的特点,我们设置步长的大小为1。我们需要给予权重来制造一些随机噪声来打破完全对称的,例如截断正态分布。标准差设置为0.1。因为我们使用 ReLU,所以我们还在偏差中添加了一些小的正值 (0.1) 以避免死节点。在训练过程中,我们随机丢弃部分节点的数据以减少过拟合,并保留整个数据在预测中以追求最终的预测性能,因此dropout率等于1。最后,我们将 Dropout层的输出连接到Softmax层以获得最终的频率输出。我们选择AdamOptimizer,它可以获得更好的结果。并且学习率设置为0.00015,这也获得了最好的结果。首先,我们将每个胎心记录分为多个分段以提高准确性。实验结果如图10所示。