GA-BP神经网络与BP神经网络性能比较*

2013-05-23 08:02刘春艳凌建春寇林元仇丽霞武俊青
中国卫生统计 2013年2期
关键词:权值适应度遗传算法

刘春艳 凌建春,2 寇林元,2 仇丽霞△ 武俊青

人工神经网络(artificial neural network)是近年来应用广泛的一种模拟人脑神经系统的结构和功能的人工智能方法,它采用非线性并行处理方式,具有强大的学习和适应能力,可用于影响因素分析。BP(back propagation)神经网络是非线性不确定性数学模型,是一种具有连续传递函数的多层前馈人工神经网络,训练方式是误差反向传播算法(BP算法),并以均方误差最小化为目标不断修改网络的权值和阈值,最终能高精度地拟合数据〔1〕。BP神经网络对资料的分布没有要求,有多种连接函数,对多重共线性和离群点的影响不敏感,可定性地揭示输入变量对输出变量的影响程度,从而达到分析影响因素的目的〔2〕。

在使用过程中发现BP算法也存在着缺陷〔3〕:(1)BP神经网络建模过程中,为保证逼近样本性质,必须适当地选择隐含层神经元数,降低网络误差,提高精度,但隐含层神经元数的最佳数量没有定论;(2)网络的初始权值和阈值是随机产生的,选择缺乏依据,而BP神经网络连接权值和阈值的整体分布决定着数据拟合的效果。传统的权值和阈值获取方法都是随机给定一组初始权值,然后是采用BP算法,在训练中逐步调整,最终得到一个较好权值分布;(3)BP算法是基于梯度下降方法,存在局部最优问题。因此,不同的初始权值可能会导致网络不收敛或陷入局部极值点。

近年来新发展的遗传算法是模拟生物进化过程的另一种人工智能方法。它遵循“优胜劣汰”的原则,选择进化好的个体作为最优解。该法具有全局最优的特点,能很好地克服BP算法局部最优缺陷,且能优化BP神经网络初始权重和阈值,提高BP神经网络的稳定性,缩短占机时间。

针对BP神经网络存在的“初始权值和阈值的随机性”,本文通过拟合此次调查数据,研究采用遗传算法(genetic algorithms,GA)优化BP神经网络的初始权值和阈值,并通过“试错法”确定隐含层神经元数,比较传统BP神经网络与GA-BP神经网络拟合数据的效果,并计算各输入变量的敏感度。

原理和方法

1.BP神经网络工作原理及过程

BP神经网络的产生归功于BP算法的获得,BP算法属于梯度下降算法,是一种监督式的学习算法。设输入层神经元为 P=[p1,p2,…,pi],隐含层神经元为S=[s1,s2,…,sk],输出层神经元为 A=[a1,a2,…,aj]表示输入层第i个神经元与隐含层第k个神经元之间的连接权值表示隐含层第 k个神经元与输出层第j个神经元之间的连接权值;隐含层的激发函数为f1,输出层的激发函数为表示隐含层各神经元的阈值表示输出层各神经元的阈值。其中,

(1)信息的正向传递

输入层各神经元与隐含层各神经之间以相应的权重连接,隐含层的第一个神经元,从输入层的每一个神经元处得到输出值,加权求和,加上阈值,通过激发函数 f1,得到该神经元的输出值:

输出层第一个神经元a1接收隐含层每一个神经元输出值,并加权求和得,加上阈值,通过激发函数f2,得到输出层该神经元的输出值:

(2)误差的逆向传播

输入具有M维指标向量的N个样本进入输入层,正向经隐含层各神经元处理后,传向输出层,得到实际输出A,在输出层把实际输出A和期望输出T进行比较,并算出期望输出与实际输出的均方误差MSE=∑(A-T)2/N。

如果MSE没有达到预定要求ε,则进入反向传播过程,把输出误差信号MSE以梯度形式,按原来正向传播的通路逐层反向传回,并将误差信号MSE分摊给各层的所有神经元,从而获得各层神经元的误差信号MSEj(j=1,2,3),将此误差信号 MSEj作为修正各连接权值和阈值的依据,并对其修改,并反复运行信息的正向传播和误差逆向传播两过程,直至误差信号MSE收敛于ε。BP神经网络算法基本步骤归纳如图1。

图1 BP神经网络算法流程图

2.遗传算法优化BP神经网络训练的权值和阈值的过程〔4〕

(1)编码,生成初始种群。用遗传算法训练神经网络可以采用二进制编码或实数编码。当神经网络规模较大,可用实数编码,即将一个实数直接作为一个染色体的一个基因位,使染色体的长度大大缩短,免去了编码解码的繁琐,使得遗传操作简化。编码串由四部分组成:隐含层与输入层连接权值、输出层与隐含层连接权值、隐含层阈值、输出层阈值。具体方法为:将网络的权值和阈值按一定的顺序级联起来,形成一个实数数组,作为遗传算法的一个染色体。遗传操作在这样的染色体群中进行。本文采用的是三层BP神经网络,设输入层神经元数为i,输出层神经元数为j,隐含层神经元数为k,网络隐含层和输出层对应的权值及阈值分别为 W1,W2,B1,B2,编码的长度为 i× k+k × j+k+j。在这个初始染色体中,前i×k个基因对应输入层i个神经元与隐含层k个神经元的连接权值W1,之后的k×j个基因对应隐含层k个神经元与输出层j个神经元的连接权值W2,其后的k个、j个基因分别对应隐含层和输出层的B1和B2。这样连接在一起形成一个长串(串上每个位置对应着网络的一个权值和阈值),即构成一个完整的染色体。在连接权值和阈值范围内,产生种群M个这种染色体体,就构成初始群体。

(2)评价函数。遗传算法在进化搜索以适应度函数为依据,利用种群中每个染色体的适应度值搜索。适应度较高的个体遗传到下一代的概率就较大,而适应度较低的个体遗传到下一代的概率就相对小一些。BP神经网络的评估标准就是MSE越小越好。本文采用将均方误差MSE的倒数作为适应度函数,该适应度函数最大值时BP网络的权重和阈值得到了优化,其计算公式如下:

式中f(i)即为第i条染色体的适应度值;MSEi代表第i条染色体所确定的网络权值和阈值时,实际A与期望输出值T之间的均方误差。

(3)执行遗传操作。选择操作采用排序选择方法。根据每个个体适应度值的大小,由小到大排列,最小适应度值的个体对应的序号为1,最大适应度值的个体对应的序号为M。然后根据每个个体的相对适应度值的大小,按照适应度比例选择(轮盘赌)法计算个体的选择概率。交叉操作采用单点交叉,变异操作采用均匀变异。然后计算当前群体中每个染色体的适应度值,找出当前最优适应度值的个体,反复迭代,直到满足条件为止。若达不到条件,则以指定的最大遗传代数为终止计算准则。

(4)获得BP神经网络的初始权值和阈值。经过遗传运算,就得到了BP神经网络误差最小的一组完整初始权值和阈值。

(5)执行BP神经网络过程

图2 GA-BP神经网络图

材料与对象

本研究采用横断面现场流行病学研究方法。采用选题访谈形式对60名计生、卫生管理和技术人员小组访谈,了解社区基层人员对HIV/AIDS/VCT认知及态度,分析总结计生、卫生部门联合开展VCT服务的有利因素、可能遇到的障碍及对策;对计生、卫生服务人员采用自行设计的结构式问卷进行面对面询问,收集资料,分析技术人员对艾滋病、VCT服务的知晓情况及联合开展VCT服务可行性的影响因素。采用整群抽样,对3个社区的437名计生、卫生服务人员采用结构式问卷面对面询问,收集资料。对符合条件的计生、卫生技术人员进行问卷调查收集资料。

结果与分析

437名技术人员有256名赞同计生、卫生联合开展VCT服务,占58.6%。仅有15.8%的技术人员持不赞同意见。经χ2检验可知:性别、文化程度、收入、VCT知识得分组间态度有统计学差异,女性、文化程度高、收入高、VCT知识得分高的社区人员更易赞同计、卫联合开展VCT。多项分类logistic回归模型的伪决定系数 Cox and Snell=0.059,Nagelkerke=0.069,McFadden=0.032,R2均不到 0.1,说明模型能解释的部分不到10%,拟合效果不理想,故本文采用基于遗传算法的BP神经网络拟合数据。

1989年Robert Hecht Niels证明了对于闭区间内的任一个连续函数都可以用一个隐含层的BP神经网络来逼近,因而一个三层的BP神经网络可以完成任意的从n维到m维的映射〔5〕。设计BP神经网络的基本原则,即一个三层的BP神经网络在解决问题时基本可以满足要求。误差精度可以通过增加隐含层的神经元数目来得到,其训练效果也比增加层数更容易调整,本文GA-BP神经网络结构为三层。

1.数据归一化处理

根据本次调查所得数据特点及BP神经网络非线性激发函数特性,需要对数据进行归一化处理。输入变量是分类变量年龄、性别、文化程度、工作单位、工作时间、单位级别、职称、专业、平均月收入、艾滋病知识得分、VCT知识得分;输出变量为调查对象对计卫联合开展VCT服务的态度。采用公式(xi-min(x))/(max(x)-min(x))将所有变量数据归一化后,变量的取值最大值为1,最小值为0。

2.隐含层神经元数选择

由于输入层神经元为11个,输出层神经元为1个,根据隐含层神经元经验公式h=0.5(m+n)+a(a=1,2,…,10),隐含层神经元数取值范围为 h=5,6,…,20〔6〕。综合以上情况,本文采用试错法选取隐含层神经元数分别为5、10、15、20研究BP神经网络和GA-BP神经网络拟合情况。由于BP神经网络的初始权值和阈值是根据MATLAB随机产生的,每次训练初始值不同,网络的性能也会有差异,因此针对隐含层分别为5,10,15,20时,BP神经网络和 GA-BP 神经网络均随机运行50次,并选取是否达到误差性能指标MSE、迭代步数Epoch、决定系数R2、调整R2作为网络性能评价指标。

表1 归一化后各输入变量的值

3.GA-BP神经网络和BP神经网络性能比较

当隐含层神经元数为5、10时,BP神经网络拟合数据,达到预设目标0.01均为0次,而GA-BP神经网络拟合数据达到预设目标0.01分别为37次、41次;当隐含层神经元数为15时,BP神经网络拟合数据达到预设目标4次,而GA-BP神经网络均达到预设目标;当隐含层神经元数为20时,BP神经网络与GA-BP神经网络达到预设目标率分别为80%、94%,见表2。当隐含层神经元数为5、10时,BP神经网络迭代步数在1000次以内,并收敛于预设目标0.01的次数均为0次,而GA-BP神经网络迭代步数在1000次以内,达到预设目标次数分别为35次、42次;当隐含层神经元数为15时,BP神经网络迭代步数在1000次以内,并收敛于预设目标0.01次数为4次,而GA-BP神经网络迭代步数在1000次以内,达到预设目标次数为48次;当隐含层神经元数为20时,BP神经网络与GA-BP神经网络迭代步数在1000次以内达到预设目标率分别为76%、94%,见表3。

表2 BP与GA-BP神经网络均方误差MSE比较

趋势卡方检验结果显示:随着隐含层神经元数增加,BP神经网络拟合数据达到预定目标的次数增加(χ2=93.160,P <0.001);GA-BP 神经网络拟合数据在1000步内达到预定目标的次数也增加(χ2=13.837,P<0.001)。以上结果提示:GA-BP神经网络相对于BP神经网络拟合数据迭代步数更少、能更快地达到预设目标;随着隐含层神经元数增加,BP神经网络和GA-BP神经网络拟合数据达到预设目标的次数也增加,迭代在1000次内达到预设目标的次数也增加。

表3 BP与GA-BP神经网络迭代1000步内达到预设目标比较

隐含层神经元数为5、10、15、20时,BP神经网络和GA-BP神经网络对应的调整R2中位数分别为0.3465、0.7289、0.8389、0.8295 和 0.9169、0.9005、0.8767、0.8288;对应的 R2中位数分别为 0.4454、0.6436、0.9498、0.9316 和 0.9294、0.7239、0.9724、0.9313。隐含层神经元为 5、10、15、20,Wilcoxon 秩和检验显示:GA-BP神经网络的调整R2、R2均大于BP神经网络,说明GA-BP神经网络拟合性能更好。特别是隐含层神经元为5时,GA-BP神经网络的调整R2和R2均达到了90%以上,而BP神经网络的调整R2和R2均不到45%,在隐含层神经元数较小时,GA-BP神经网络拟合数据更稳定。Kruskal-Wallis检验结果显示:在隐含层神经元数为15时,BP神经网络和GABP神经网络决定系数R2均达到了最大值,但与隐含层神经元数为20时并无统计学差异,见表4。

表4 BP与GA-BP神经网络R2和调整R2比较

综合以上结果,在R2和调整R2无统计学意义的前提下,当隐含层神经元为15时,BP神经网络和GABP神经网络均比较稳定,GA-BP拟合效果更好,因此本文数据采用GA-BP神经网络拟合。

讨 论

1.GA-BP神经网络与BP神经网络比较

(1)GA-BP神经网络建模稳定性高:在相同网络结构及训练参数前提下,BP神经网络拟合数据R2变异较大,这是由于每次训练时MATLAB均会随机给出网络的初始权值和阈值,而不同的初始权值和阈值会产生不同的训练结果,有的训练结果较好,而有的则较差。遗传算法优化神经网络初始权值和阈值,R2更加稳定。

(2)GA-BP神经网络能达到预设目标的次数更多,能达到全局最优:本次数据拟合结果显示:GA-BP神经网络相对于BP神经网络拟合数据迭代步数更少、能更快地达到预设目标;随着隐含层神经元数增加,BP神经网络和GA-BP神经网络拟合数据达到预设目标的次数也增加,迭代1000次达到预设目标的次数也增加。

2.遗传算法优化BP神经网络具有可行性

选用R2、调整R2、达到预设目标次数、迭代1000次达到预设目标次数为神经网络拟合数据效果的评价指标,并通过不同隐含层神经元数的多次尝试建模,对神经网络的拟合能力进行分析。结果表明遗传算法优化BP神经网络的初始权值和阈值可以更好的拟合数据,克服BP神经网络收敛速度慢、陷入局部最优的问题。

1.程向军,神经网络原理及其应用,北京,国防工业出版社,1995:1-300.

2.张文彤,竺立明,王见义,等.基于BP神经网络的中医医院住院费用影响因素分析,中华医院管理杂志,2005,3(21):161-165.

3.陈祥光,裴旭东.人工神经网络技术及应用.北京:中国电力出版社,2003.

4.雷英杰,等.MATLAB遗传算法工具箱及应用.西安:西安电子科技大学出版社,2005.

5.阎平凡,张长水.人工神经网络与模拟退化计算.北京:清华大学出版社,2005:9.6.Neural Network Toolbox.Math Work,2004.

猜你喜欢
权值适应度遗传算法
改进的自适应复制、交叉和突变遗传算法
一种融合时间权值和用户行为序列的电影推荐模型
基于遗传算法的高精度事故重建与损伤分析
基于遗传算法的智能交通灯控制研究
强规划的最小期望权值求解算法∗
一种基于改进适应度的多机器人协作策略
程序属性的检测与程序属性的分类
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于权值动量的RBM加速学习算法研究
基于改进多岛遗传算法的动力总成悬置系统优化设计