遗传算法优化BP神经网络的专家自动诊断模型

2015-03-26 06:53李洪进
科技创新导报 2015年1期
关键词:BP神经网络遗传算法

李洪进

摘 要:随着计算机信息化和人工智能的发展迅速,专家自动诊断疾病系统成为各界关注的焦点。卵巢癌是严重威胁妇女健康的恶性肿瘤之一,而且目前无有效的筛选方法和特异的诊断方法。BP人工神经网络因其具有分布式信息存储方式、自适应能力、强大的容错性和非线性处理能力,能有效地对疾病进行筛查和诊断。该文采用遗传算法来优化改进BP算法得到GA-BP算法,通过遗传和变异操作对BP神经网络的初始权值和阈值进行优化,不断更新选择,使得网络的系统总误差趋于最小,构建出卵巢癌诊断模型。采用Matlab2013、VC++编程和统计软件SPSS.18等工具来实现专家自动诊断的人工智能模型,并通过计算机仿真和预测进行检验。

关键词:遗传算法 BP神经网络 自动诊断 人工智能模型

中图分类号:TP3 文献标识码:A 文章编号:1674-098X(2015)01(a)-0005-03

目前,随着计算机信息化和人工智能的迅速发展,人们生活水平在不断提高,人们对健康也越来越重视。专家自动诊断疾病的系统成为各界关注的焦点,人们都希望从疾病知识库中根据专业知识和病案数据,提取相应的规则来不断学习更新,能尽早地发现疾病,提高疾病分类诊断的效率。该文采用遗传算法和神经网络来建立一个卵巢癌自动分级诊断的人工智能模型。

卵巢癌是严重威胁妇女健康的恶性肿瘤之一,由于卵巢位于盆腔深部,早期无任何症状,而且目前没有有效的筛选方法和特异的诊断方法,患有卵巢癌的妇女的存活率较低,在各种卵巢癌中浆液性囊腺癌比例最大,5年存活率只有20%~30%。目前,临床上对癌症的诊断主要有B超、CT、对血清肿瘤标志物的联合检测、血清蛋白质组识别、病理分析等方法。病理学检查是一种非常重要的疾病诊断方法,目前主要靠手工来完成,不但工作量大,且易受检查者水平的限制。数字图像中细胞的自动分割和细胞分类识别模型的建立,分类识别模型是提高分类性能的重要因素。首先对卵巢肿瘤是良性、恶性还是交界性进行准确判断,然后再判断卵巢癌患者临床分期。卵巢癌的临床分期越早,治疗效果越好;期别越晚,效果越差。检查腹水中有无癌细胞是对卵巢临床分期分级的重要步骤。

BP人工神经网络因其具有分布式信息存储方式、并行式信息处理方式、自组织学习、自适应能力、强大的容错性和非线性处理能力,能够有效地对疾病进行筛查和诊断。只需选择好输入和输出变量,其他的工作全部由人工神经网络来完成,使用非常方便。既能避免人脑判断问题时的主观性和思维定势,也可完全消除人脑在决策过程中的易疲劳性。

BP神经网络在疾病的筛查和诊断中发挥重要作用,但是仍然存在一些难以解决的问题,如:局部极小问题、结构设计问题、实时性差问题等。有研究采用BP神经网络来对卵巢癌诊断建模,但是由于改进的BP算法有局限性,不易得到最优解,从实验数据可以看到存在很大的误差。为了改善BP神经网络学习算法易陷入局部极小的缺陷,可以将遗传算法和神经网络结合应用,所以本文采用遗传算法来优化BP神经网络,改进BP算法得到GA-BP算法,得到BP反向传播神经网络的初始权值和阈值,使其网络模型的预测值误差更小。

1 BP神经网络

人工神经网络ANN(Artificial Neural Network)是对生物神经网络BNN的结构和实现机制原理进行模拟,由大量人工神经元以某种方式相互连接而成,对连续的输入做出状态响应的动态信息处理系统,能模拟人脑生物神经网络系统处理信息,在医学中应用包括临床对癌细胞诊断方面,如宫颈癌、胰腺癌等,80%~90%的人工神经网络模型是把误差反传算法 (BP网络)应用于函数逼近、模式识别与分类。

BP神经网络(Back Propagation Neural Network)是一种单向传播的多层前向神经网络,至少有三层或三层以上的神经网络,即:输入层、中间层、输出层,上下层之间实现全连接,而每层神经元之间无连接,BP神经网络模型如图1。学习样本提供给网络后,神经元的激活值从输入层经各中间层向输出层传播,误差反传是将输出误差以某种形式通过隐含层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号。在输出层经过各中间层逐层根据误差信号调整连接权值,最后回到输入层,这种算法称为误差逆传播算法,它包括模式顺传播-误差逆传播-记忆训练-学习收敛四个过程。随着这种误差反向传播权值的不断修正,网络对输入模式响应的正确率也不断上升。如果网络的输入节点数为M、输出节点数为L,则此神经网络可看成是从M维欧氏空间到L维欧氏空间的映射,这种高度非线性的映射,适合该文的研究对象,所以选择误差反向传播以BP神经网络模型作为系统预测模型。

BP神经网络模型特点如下:

(1)非线性能力很强,由许多神经元按拓扑结构构成大规模的复杂系统。

(2)具有自组织、自适应、自学习的能力。

(3)高度容错性和稳健性,当预测单元中的部分信息不足或由于观测失误而产生错误信息时,仍可给出较正确的预测结果。

BP算法属于δ算法,是监督式的学习算法,基本步骤:

(1)初始化:置所有的加权系数为最小的随机数。

(2)提供训练集:给出顺序赋值的输入向量x(t),x(2),…,和期望的输出向量(训练集)t(1),t(2),…,tN。

(3)计算实际输出。

(4)计算期望值与实际输出的误差。

(5)调整输出层的加权系数ωki。

(6)调整隐含层的加权系数ωij。

(7)返回步骤(3),使网络输出层的误差平方和达到最小。

BP标准梯度下降算法存在着学习收敛速度慢、容易陷入局部极小而不能得到全局最优解等缺点,所以BP神经网络建立的是黑箱模型,不能用数学方法求最优解,而遗传算法寻优无需目标函数,具备明确的数学表达式,可以用来进行优化计算。本文采用遗传算法来优化神经网络建模,使训练后的网络模型预测值与实验值误差尽可能的小。

2 遗传算法

遗传算法GA(Genetic Algorithm)是基于进化论和遗传变异理论,是新发展起来基于优胜劣汰、自然选择和适者生存的优化算法,特点是直接对结构对象进行操作,不存在求导和函数连续性的限定,具有内在的隐并行性和更好的全局寻优能力,采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。基本遗传算法其本操作包括选择、交叉和变异操作。遗传算法通过对多个体的迭代搜索来逐步找出问题的最优解,在迭代过程中,实质是处理了一些具有相似编码结构的个体,把个体作为某些相似模板的具体表示,则对个体的搜索过程就是对这些相似模板的搜索过程,即对模式的处理。遗传算法的核心内容是参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素。作为一种新的全局优化搜索算法,遗传算法有简单通用、鲁棒性强、适于并行处理以及高效、实用等特点。最大的优点是容易和其他的算法结合,具有可扩展性。

遗传算法在人工神经网络的应用中有三种结合方式,即网络权值的进化、网络结构的进化、学习规则的进化,该文选择的是对网络权值和阈值的进化。基于遗传算法的BP算法选择最佳的染色体作为网络权值,搜索能力强,训练速度快,可以有效避免局部最小的问题。采用GA-BP算法,先用遗传GA算法在全局空间上搜索权值和阈值的最优点,然后用BP算法在最优点附近寻优达到最优值,能够克服BP算法的缺陷。GA-BP算法具有全局搜索能力,增强在搜索过程中自动获得和积累知识,使得搜索结果误差很小。

3 GA-BP算法

由于BP算法存在着学习收敛速度慢、容易陷入局部极小而不能得到全局最优解等缺点,本课题采用遗传算法来优化BP神经网络建模,GA-BP算法先用遗传GA算法在全局空间上搜索权值和阈值的最优点,然后用BP算法在最优点附近寻优达到最优值,克服BP算法的缺陷。GA-BP算法的基本步骤如下。

(1)编码,随机产生一个初始种群。

(2)对染色体解码解码,将编码后的个体转换成问题空间的决策变量,确定隐含层节点数和权值,形成BP神经网络。

(3)按照个体适应值的大小,计算适应度函数,评价染色体优劣。

(4)由交叉和变异这两个遗传算子对交配池中的个体进行操作,形成下一代种群。

(5)返回步骤(2)直到满足收敛判据,得到解。

将得到的隐含层节点数和权值赋值给BP神经网络,进行后续训练。

本算法把神经网络中神经元的连接权值编码成二进制码串,随机生成这些码串的初始群体,用遗传GA算法优化计算,进行一代计算后将码串解码成权值和阈值构成新的神经网络,对所有训练样本计算得到神经网络输出的均方误差来确定每个个体的适应度,反复计算使得神经网络的系统总误差SSE (sum square error)趋于全局最小值,从而构建了卵巢癌诊断模型。具体算法实现需要用到Matlab的神经网络工具箱NNET和遗传算法工具箱GADS,提供了图像用户界面GUI,采用命令行方式,功能强大。

4 专家自动诊断卵巢癌的人工智能模型

首先要确定BP神经网络的特征向量,对从卵巢肿瘤患者的腹水涂片中获得的卵巢细胞图像进行识别与特征值提取。特征向量是神经网络的输入,提取特征向量的目标,就是要把待分类信息转化到更加能体现其类别的新特征空间中。因此,特征向量提取是否合适,将极大地影响分类结果。初始权值一般取(—1,1)之间的随机数,学习速率决定每一次循环训练中所产生的权值变化量,选取范围在0.01~0.8之间。需要做以下工作:

对从卵巢肿瘤患者的腹水涂片中获得的卵巢细胞图像,用Matlab7.0中的Image Processing Toolbox工具箱进行处理分析。训练与测试样本来源于遵义医学院病理科的存档资料。

处理得到需要的细胞样本图像后,提取细胞图像形态学的特征参数。

用Matlab中的Neural Network Toolbox工具箱对卵巢癌细胞图像识别与特征值提取进行深入研究的基础上,用BP神经网络对细胞图像进行诊断分类。

用Matlab的神经网络工具箱nnToolKit来创建和训练神经网络,BP网络创建函数为newff,网络训练函数为 train,具体的训练过程:首先按照特征向量提取方法获得包含80个特征向量的训练样本集,样本数据的定义与预处理,利用load函数可以在工作空间中自动载入网络训练所需的输入数据p;然后按照样本集计算目标输出集t;最后调用train函数即可完成网络训练。网络仿真使用函数sim,调用sim函数后返回一个形式与目标输出集相同的输出。最后通过比较仿真输出集与仿真样本目标输出集评价神经网络的自动诊断效果。

因为细胞识别的关键是细胞特征参数的选择和计算,对细胞及细胞核共设立了灰度值、面积、周长、等效圆直径、形状因子、核与浆之比6个特征参数值,将提取的特征向量作为输入神经元对神经网络进行权值训练,产生BP神经网络,输出变量包括正常卵巢上皮细胞、良性和恶性两种不同的浆液性卵巢癌肿瘤细胞。

然后采用遗传算法来优化改进BP算法得到GA-BP算法,并实现算法。通过遗传和变异操作对BP神经网络的初始权值和阈值进行优化,不断更新选择,使得网络的系统总误差趋于最小,构建出卵巢癌诊断模型。最后应用Matlab、VC++和统计软件SPSS.18工具来实现人工智能模型,得出实验数据和计算机仿真图像,并验证网络模型预测值与实验值之间的误差。

5 结语

采用改进BP算法的方法有以下几种:加入动量项;使用顺序方式训练网络;归一化输入信号;自适应学习速率法。采用L-M (Levenberg-Marquart)算法让误差平方和最小,加快学习收敛速度,通过对比实验数据和临床数据,其误差还是很大,改进后的效果不好,而遗传算法寻优无需目标函数,具备明确的数学表达式,可以用来进行优化计算。该文采用遗传算法来优化BP神经网络建模(GA-BP算法),使得训练后神经网络模型预测值与实验值的系统总误差SSE(sum square error)趋于全局最小值,建立了一个卵巢癌自动分级诊断的人工智能模型。这个专家自动诊断系统能有效地诊断卵巢癌患者临床分期,有利于开展疾病防治工作。

参考文献

[1] 韩立群.人工神经网络理论、设计用应用一人工神经细胞、人工神经网络和人工神经系统[M].北京:化学工业出版社,2002:51-52.

[2] Husseini G A,Abdel-Jabbar N M,Mjalli F S,et al.Modeling and sensitivity analysis of acoustic release of doxorubiein from unstabilized pInie P105 using an artificial neural network model[J].Technol Cancer Res Treat,2007,6(l):49-56.

[3] 管颂东.神经网络技术在卵巢肿瘤诊断中的应用[D].无锡:江南大学,2008.

[4] 师黎.基于遗传算法优化BP神经网络在心电图身份识别中的应用[J].中国组织工程研究与临床康复,2010(43):8069-8072.

[5] 任小洪,徐卫东,刘立新,等.基于遗传算法优化BP神经网络的数控机床热误差补偿[J].制造业和自动化,2011(9):41-43.

猜你喜欢
BP神经网络遗传算法
遗传算法对CMAC与PID并行励磁控制的优化
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
就bp神经网络银行选址模型的相关研究
协同进化在遗传算法中的应用研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
BP神经网络算法在数值预报产品释用中的应用