基于GABP算法的胎儿健康诊断模型的研究

2018-03-03 18:40冯玉婷吴薇
物联网技术 2018年2期
关键词:BP神经网络数据挖掘遗传算法

冯玉婷+吴薇

摘 要:为了从海量孕检数据中挖掘出有价值的信息,同时针对BP神经网络收敛速度慢、预测精度低的问题,提出一种利用遗传算法优化BP神经网络的算法(GABP),对胎儿进行健康诊断并建立预测模型。首先利用遗传算法的寻优技术简化特征属性;然后将简化后的属性作为BP神经网络的输入神经元,构建BP神经网络模型,并进行学习训练;最后利用Matlab对算法进行仿真。实验结果表明,GABP算法能够很好地提取孕检数据中的重要信息,缩短BP预测时间,是一种可行的胎儿健康辅助预测模型。

关键词:胎儿体征信息;孕检数据;遗传算法;BP神经网络;数据挖掘

中图分类号:TP301.6 文献标识码:A 文章编号:2095-1302(2018)02-00-03

0 引 言

随着生活水平的不断提高,人们对于母婴健康的关注度与日俱增,与此同时,针对母婴健康监护的研究有了迅猛发展。尤其随着母婴健康监护信息系统在各大医院的投用,收集到的母婴信息不仅包括B超影像、各项生理指标,还有孕妇年龄、身高、体重、既往病史等大量详细的背景资料。但是苦于没有强有力的工具,医护工作者无法从海量孕检数据中获取未发掘的有用信息,并且不能依靠单一的数据或某一检查项目来判断胎儿的健康状况,因此,如何从海量数据中挖掘出胎儿体征信息与母体信息之间的相互关系,成为国内外研究人员的研究热点。

许多数据分析人员利用特征约简方法和分类模型在医学数据领域进行了深入研究,但是对胎儿体征信息的研究却少之又少。本文从胎儿健康情况判断的角度出发,采用遗传算法结合BP神经网络构建胎儿健康诊断检测模型。利用遗传算法的寻优特点对孕妇体检数据进行属性约简,消除不必要和特征不明显的属性,简化BP网络结构,使其具有较快的收敛速度和较强的学习能力。在Matlab仿真软件中实现该算法,并获取云数据库中实际收集的孕检数据,对胎儿检测进行建模和预测分析。

1 BP神经网络

BP(Back Propagation,BP)神经网络是遵循误差δ逆传播的多层前馈神经网络,通过误差逆传播不断调整BP网络的权值和阈值[1],主要由输入信息的正向传输和δ的反向传输两个过程组成。两个过程不断重复,以减小网络实际输出与期望输出之间的差值,使输出层的输出值与期望输出值尽可能一致。BP神经网络结构如图1 所示。

BP神经网络学习算法的基本步骤如下:

(1)权值初始化。根据系统属性的要求,初步确定神经网络结构,依次确定输入层、隐含层、输出层的神经元数,初始化各层权值和阈值[2]。

(2)依次输入P个学习样本。设当前输入为第p个样本。

(3)依次计算各层的输出。根据神经网络结构,依次计算隐含层和输出层的实际输出Oj,Ok[3]。

(4)计算输出层和隐含层的反向传输误差,并且记录下第p个输入样本的隐含层和输出层的实际输出Oj(p),Ok(p)[4]。具體公式为:

其中δk,δj 代表隐含层和输出层的反传误差。

记录已经完成学习的样本个数。若p

(5)权值、阈值修正。根据网络各层的权值修正公式调整权值和阈值。具体公式如下:

其中η为学习步长。

(6)依据新的权值再计算Oj(p),Ok(p)和式(7)。若每个输入样本和相对应的输出神经元都满足dk(p)-Ok(p)|<ε的条件,或者达到或超过最大学习次数,则终止学习;否则跳转到(2)继续进行新一轮学习。

2 遗传算法优化BP神经网络

遗传算法(Genetic Algorithms,GA)是一种基于生物遗传和进化(适者生存、优胜劣汰)的选择机制[5]。GA的工作原理是模仿生物进化中染色体随机发生复制、交叉和变异的现象,生成一群更适应环境的新个体。按照这个过程不断迭代优化,最终只剩下一群最适应该环境的优胜个体,从而得到问题的最适应解[6]。GABP算法流程如图2所示。

遗传算法的主要运算过程如下:

(1)编码。遗传算法不能直接处理特征属性的参数,处理之前需要先对属性参数进行重新编码,使算法能够识别。

(2)初始种群的生成。随机产生N个数据,每个个体为一条数据,N个个体构成了初始种群,设置最大训练次数为T。

(3)适应度值评价检测。以适应度函数的值表示个体对环境的适应性,该值越大,说明个体的适应度越高,被保留下来的可能性越大。

(4)选择交叉变异。遵循适应度函数,随机选择个体进行交叉变异操作,进而选择优良个体[7]。

(5)终止条件判断。若实际训练次数t=T,则以训练过程中出现的最大适应度值的个体作为最终解输出,同时终止学习[8]。

运用以上提到的两种运算模型,对某医院妇产科所收集到的孕妇各项体检数据进行胎儿健康诊断检测,并将检测结果与医生的判断结果进行比较。

该实验包括76位孕妇的150条孕检数据,根据孕周的不同将数据分类,采集的数据主要集中在孕周为30~38周的孕妇,150条数据中有102条数据的医院检测结果为正常胎儿,有48条数据显示胎儿存在异常情况。每个数据样本包括孕妇的孕周、身高、体重、宫高、血压、孕妇的心率以及胎儿的胎心监护、羊膜镜检查结果、血常规中24项生理指标、尿常规中13项指标、B超中12项指标、肝功能肾功能等指标,以此来判断胎儿的实际情况。在本项实验中,随机抽取150个样本中的100个数据作为神经网络训练集(包括胎儿正常的样本68个,胎儿异常的样本32个),取剩下的50个样本作为神经网络的测试集(胎儿正常的样本34个,胎儿异常的样本16个)。具体步骤如下:

(1)首先运用BP神经网络进行学习计算,初始BP网络模型;然后根据样本的特征属性个数以及输出结果的个数设置为65-33-1的三层结构,隐含层个数的设置利用综合比较法或者对输入层个数取对数后再加1进行设置;最后将隐含层设置为33个神经元,采用Matlab工具箱中的神经网络函数,设置网络的学习训练目标为0.000 1,取T=1 000、η=0.1,隐含层和输出层的传输函数采用tansig函数和purekin函数,利用trainlm作为训练函数,其他参数都设置为默认值。

(2)将优化前的65项特征属性利用GA算法进行约简计算,优化后的特征属性重新作为BP神经网络的输入进行学习。优化后的特征属性为30项,决策属性为1项,并将最终训练目标调整为1E-10,其他参数保持不变。

GABP模型的分类结果如图3所示,其中○表示实际检测结果,*表示预测结果,1表示胎儿检测为正常,0表示胎儿检测异常,最终结果见表1所列。

优化过程中适应度函数的变化曲线如图4所示,当迭代至15次左右时达到最优,输出最优解。训练过程中误差随迭代次数的变化曲线如图5所示,当迭代至20次左右时与最佳变化曲线结果一致。

两种检测模型的对比结果见表2所列。简单BP神经网络的训练时间为4.118 4 s;經过遗传算法优化减少输入层的输入之后,GABP神经网络的训练时间缩短到2.854 8 s。同时,检测模型的预测结果也有明显的提高,其中胎儿健康的确诊率由之前的71.85%提高到优化后的81.54%,检查胎儿异常情况的确诊率由之前的62.5%提高到68.75%。实验结果表明,优化神经网络算法能够提高训练精度、缩短训练时间,为医生对胎儿的健康检测提供一定的事实依据。

3 结 语

本文提出了一种基于GABP算法的胎儿健康诊断预测模型,将其应用于某医院产科孕检系统中进行胎儿健康情况诊断的初步预测,并将GABP的预测结果与BP神经网络的预测结果进行比较。实际预测结果显示,GABP预测模型能够减少胎儿健康诊断预测模型的训练时间,提高健康诊断的预测精度。但由于本次实验时间有限以及收集到的孕妇体检数据样本有限,加之难预约到产科医生提供专业知识等局限条件,导致此次诊断预测准确率较低。今后将通过采集更多的样本量或改善胎儿检测模型来提高模型预测的准确率。

参考文献

[1] 兰胜坤.遗传算法优化BP神经网络的说话人识别系统[J].重庆理工大学学报(自然科学版),2013, 27(10):91-95.

[2] 刘杰,杨鹏,吕文生,等.城市空气质量的BP和RBF人工神经网络建模及分类评价[J].安全与环境工程,2014,21(6):129-134.

[3] 孙宇.基于神经网络的软岩巷道位移时序预测方法研究[D].阜新:辽宁工程技术大学,2012.

[4] 王震宇.基于BP神经网络的沥青老化预测系统研究[D].重庆:重庆交通大学,2014.

[5] 宋英杰.遗传算法在计算机网络中的应用分析[J].计算机与软件,2014(5):68.

[6] Pan Y, Xue W, Zhang Q, et al. A forecasting model of RBF neural network based on genetic algorithms optimization.[J].Applied Mechanics & Materials,2011,65:605-612.

[7] 杨梅.GA-BP算法优化及其在污水参数软测量中的应用研究[D].重庆:重庆大学,2008:42-45.

[8] 朱珏钰,李峰.Matlab神经网络优化的遗传算法[J].赤峰学院学报(自然科学版),2011, 27(3):35-36.endprint

猜你喜欢
BP神经网络数据挖掘遗传算法
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于并行计算的大数据挖掘在电网中的应用
基于遗传算法和LS-SVM的财务危机预测
基于改进的遗传算法的模糊聚类算法
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究