当前位置:文档之家› 一种基于遗传算法的新型神经网络设计

一种基于遗传算法的新型神经网络设计

 2001年10月系统工程理论与实践第10期 文章编号:1000-6788(2001)10-0042-05

一种基于遗传算法的新型神经网络设计

罗 键,刘军祥

(厦门大学自动化系,福建厦门361005)

摘要: 神经网络的设计主要集中在网络权值的选取和神经网络结构的确定两个方面,与遗传算法

结合是目前研究发展的趋势.本文与一般的基于遗传算法的神经网络设计相比,提出一个新型算子

——BP算子,并对神经网络的权值和结构同时优化.仿真结果表明该算法结果比较理想.

关键词: 遗传算法;神经网络;BP算子

中图分类号: T P183 文献标识码: A

A New M ethod of Desig ning Artificial Neutral Netw ork

Based on Genetic A lg orithm

LUO Jian,LIU Jun-xiang

(A utomat ion Deptar tment,Xiamen U niv ersity,Xiam en361005,China)

Abstract: Cur rently r esearch o n AN N(A rt ificial N eutr al Net wo rk)is mainly fo cused

on the initial w eig ht and str uct ur e.It is a dev eloping tendency to combine AN N w it h

G A(Genetic A lgo rithm).Compar ed w ith gener al A N N desig n,this paper puts for war d

a new operato r,BP oper ator,a nd optimizes t he A N N's initia l w eig ht s and st ructure at

the same time.T he r esult o f the emulation is v ery reaso nable.

Keywords: A NN;GA;BP o perato r

1 引言

近年来,神经网络的自动化设计成为当前的一个研究热点.按照处理方式的不同可将其分为连接主义设计法和演化设计法.连接主义设计法主要包括增补算法(Constr uctive Alg or ithm)和削减算法(Destr uctive A lgo rithm).这两种方法采用爬山策略来设计神经网络结构,一旦某个网络结构被确定为不适,则网络将被更新.爬山策略很容易陷入局部最优,且搜索的解的范围仅仅是网络结构空间中的很小的一部分,所以很难保证设计出的网络结构是最优的.由于设计或训练神经网络需要在很大的空间中进行搜索,而且搜索空间中具有很多局部最优点,这使得传统的算法求解该问题非常困难.而以遗传算法(G enet ic A lg or ithm,简称G A)为代表的演化算法适合大规模并行设计且能以较大的概率找到全局最优解,这就使得G A与人工神经网络(A r tificial N eutr al N etw o rk,简称A NN)的结合成为一种趋势.Y ao X在文献[1]中对此做了很好的综述.

现阶段有关应用G A来设计A N N的研究,主要集中在神经网络的结构和权值设计两个方面.与之相对应,则暴露出了一些不足.一方面,设计独立,即将A N N的结构设计和权值设计孤立开来,单独进行,而且主要集中在G A理论的改进之上,如实数编码、混合优化等.另一方面,算法独立,对于一个给定的问题,有可能在不了解如何用A N N来解决它,那么有可能首先用G A来找出解决问题的最优或次优结构,然后再用一定的算法如BP算法来找到最优或次优权值.本文的主要内容即在部分有关基于GA的A NN设计研究基础之上,提出一种新的算法,即G A-A N N优化设计算法来解决这个问题.

收稿日期:2000-02-12

2 带BP算子的GA-ANN算法设计

2.1 假设条件

对于网络的结构与权值的同时进化算法,首先给出如下假设.

假设1 网络是严格分层全连接的,即当且仅当两相邻层的结点才有可能进行连接,且必须有连接,每一神经元都设成是线性阈值单元且使用sigmo id传递函数.

假设2 输入输出空间向量在实数空间上取值,相连接的两个神经元如果没有影响,则权值为0.

假设3 给定一个训练集,其输入模式为{X1,X2,…,X P},对应的目标输出向量为{T1,T2,…, T P}.对每个输入模式,根据网络的结构、连接权值和神经元的类型及阈值可以确定网络的实际输出.如果输出向量是m-维的,则根据实际输出向量{Y1,Y2,…,Y P}和目标输出向量之间的误差可以定义一个最小二乘误差函数:

E(net)= p k=1 m i=1(t k i-y k i)2

t k i,y k i分别表示向量T K和Y K的第k个分量.

上面定义的最小二乘误差函数可用来描述对给定训练数据集当前网络的性能.因此,设计AN N及训练其权值便可看成是一个优化过程,优化的目的便是设计出网络使得该目标函数达到最小值.如果期望在具有相同性能的条件下网络的结构尽可能地简单,即使网络尽量具有最少的结点数和最少的连接,则可以在函数E(net)的右端加上一个控制项Cn p,这里C是一个控制参数,称为网络复杂性系数,n p是网络参数的个数,通常包括网络的结点数与连接数.

2.2 编码表示

在编码时,对网络结构采取二进制编码,对每个权(包括阈值)采取实数编码来表示,这样编码的优点在于编码长度比全部采用二进制编码时要小得多.例如,对于某个问题,如果有两个隐层,分别有Size1个和Size2个隐含单元,输入层有InN um个单元,输出层有O utN um个单元,且每层的单元数用n位二进制码串表示,则每层的单元数可达2n-1个,采用实数与二进制混合编码时串长为

 n*(I nN um+O ut Num+Size1+Size2)+(InN um+1)*Size1+(Size1+1)*Size2+(Size2+1)*O utN um 精度可达0.0001或更小(根据计算机实数或浮点数的精度而定),如果全部采用n位二进制编码,则串长为

 n*[I nN um+O ut Num+Size1+Size2+(InNum+1)*Size1+(Size1+1)*Size2+(Size2+1)*OutN um]

若初始权值范围为[-0.50.5],则权值精度仅达1

2n

.与此同时,实数编码不用象二进制编码表示时需

要预先定义解的精度,另外在加入一些启发式知识时不需要在译码与编码之间来回切换.为了能同时进化网络的拓扑结构和连接权值,允许在同一群体内的网络具有不同的拓扑结构,即它们可以有不同的结点数和连接权数.

2.3 选择策略

采用赌轮选择策略.使用基于适应值比例的选择策略时,首先要确定适应值的度量方法,设E(net i,t)是第t代进化群体中第i个个体所具有的目标函数E(?)的值,其适应值如果定义为

f(net i,t)=

1

1+E(net i,t)

于是,由赌轮选择策略可知,网络net i被选择到下一代作为遗传操作的父代的概率为

p(net i,t)=

f(net i,t) n

j=1

f(net j,t)

这里n为群体规模.

2.4 遗传操作2.4.1 个体产生43

第10期一种基于遗传算法的新型神经网络设计

随机生成初代个体,群体规模设置为某一整数.2.4.2 杂交算子

由于编码表示使得在同一种群内的网络可能不同构,这样给杂交算子的设计带来了一定的难度.在此实现两点杂交,即在两个父代中独立地选择相同数目的连接权,交换相应的连接权值以生成杂交后的两个后代,如图1所示.

12↑343↑456 121244567899↑124↑7

78993437

图1 两点杂交算子

2.4.3 变异算子

对网络结构,由于是二进制表示,实现简单的变异方式即可,即0变1,1变0.网络结构的改变,将导致网络权值数量增加或减少,采取随机选择插入点或删除点的方式,当需要增加点时,随机生成其相应的连接权值,这样直到权值的数量与网络结构相符为止.

2.4.4 BP 算子

现阶段,有关结合遗传算法和神经网络的算法都是一个固定的模式,即先用遗传算法一般的操作算子找到一个优化后的神经网络结构或者是神经网络权值,然后再用神经网络BP 算法进一步寻优.这种算法把遗传算法和BP 算法相对孤立开来(如图2所示),找到全局最优解,其实质是一种简单迭加的混合算法.

现在将神经网络的BP 算法应用到遗传算法中,如图3中虚线所示.对比图2,可以看出,图3新增加了一种遗传操作,这种操作对遗传算法中每代适应值满足一定条件的个体进行BP 训练,得到新的个体,称之为BP 算子

.

图2 传统的GA 操作

如图3所示,对每代个体,除了执行传统的G A 操作外,若其适应值或某一随机概率值达到一定大小,就进行BP 操作.为简单操作,仅取那些第一隐层单元数不为0的个体为正确变异个体,而对于那些不符合条件的个体,如第一隐层单元数为0,给这些小个体一个固定的染色体串和适应值.可以看出,BP 算子实质是对群体中某些个体的变异操作,染色体串记录经过了BP 算子的操作结果.2.5 近化规则

对每相连两代中得到的最优个体进行比较,若后代的最优个体不及前代的最优个体,则以前代的最优个体来代替后代的最差个体,这样达到最优繁殖.

44

系统工程理论与实践2001年10月

图3 带有BP 算子的GA-ANN 设计流程图

表1 模式识别任务

输入输出输入输出00001100100111010010011000111011

0000010111111010

01001000000101011010111001111111

0000010111111010

3 算法仿真

以文献[2]中的模式识别学习任务(见表1)为例,用此算法进行仿真.给出的模式识别学习任务中,在输入位中,开头两位是噪声位,与输出模式没有关系;最右边两位与输出之间的关系是二进制整数到它们对应的G ray 码.这个任务的复杂性在于增加了不相关输入的单元和要求再编码有意义的输入.

在学习过程中,为了对每个由遗传算法产生的个体进行评价,首先从8个样本模式中随机选取一个放在一边;利用剩下的七个样本(训练集)对染色体个体所对应的网络结构进行训练;当误差平方和达到预定

的目标值或预先确定的学习迭代时,就停止训练;一旦一个网络已经学习到了判别准则,就用先前挑选出来的训练实例对它进行评价.每个个体的适应值就是其对这个实例的均方误差,它表示在学习阶段中对所获得的知识的一般性的估计.针对该问题,设置如下网络参数进行实验:

群体规模:30;最大迭带代数:15;杂交率:0.95;结构变异率:0.005;权值变异率:0.8

最优A N N 个体训练代数:10000;BP 算子的训练代数:50;BP 算子的下临界适应值:140;

适应值函数:如果译码值大于70,则f =5;否则

f =ex p((70-x -per f )/13-0.002*l chr om )

其中l chro m 为网络权数,0.002为惩罚因子,依具体情况不同而有所改变,两者之积作为一个惩罚项,用以使得最优个体不仅网络权值接近最优,而且结构简单.另x 为译码值,per f 为BP 训练误差.

自适应并行遗传算法仿真得到的最优个体为:

45

第10期一种基于遗传算法的新型神经网络设计

00 1.0000 1.0000000.9536-0.1557

- 1.55740.8943- 1.6028 1.03340.5499 2.0176-0.6425

- 1.7765- 2.4811- 2.61340.11620.8586- 1.3909- 1.0949

-0.4145 1.7207 3.8867 2.1118 1.9203 4.0778 4.3323

可见,权值数为23(包括阈值),适应值为178.6976,其中前6位就是网络结构的二进制编码,后23位是得到的最优个体没经过BP进一步训练的网络权值.更进一步的结果如图4所示,最优A N N个体训练如图5所示.

图4 带BP算子的GA-ANN设计结果图

图5 带BP算子的GA-ANN训练图

4 结论

与文献[2]中的结果进行比较,从图5可以看出,基于带有BP算子的遗传算法的神经网络设计在利用

(下转第70页)

续表3 1998年上海股票市场涨幅前20名股票

代码股票名称97年收盘价98年收盘价调整后涨幅97年总股本98年总股本股本扩张速度利润增幅600601延中实业9.2812.79106.7310368155525010.32 600733前锋股份10.4920.999.241097710977016.48 600711龙舟股份7.2514.2896.976036603600 600747大显股份9.7917.191.812837165352983.03 600651飞乐音响7.511.0691.718112105463015.03 600862ST通机 5.3510.2491.4743574350811.55 600778友好集团 6.6610.2990.0410700171096049.16 600782新华股份1018.285.3410795107950-15.87

 注 以1997年股本为基准数据,总股本的平均值(mean)为25959万股,总股本的中位数(median)为13680万股.

参考文献:

[1] Edwin J Elton,M ar tin J G ruber.M oder n por tfolio theor y and investment analysis[M].N ew Yo rk:

John W iley,1991.

[2] 霍学文,赵军.关于股票定价理论的发展脉络[J].南开经济研究,1998,(1):48-53.

[3] Fama,Eugene F,F rench Kenneth R.Size and bo ok to market fact or s in earning s retur ns[J].

Jour nal o f Finance,1995,50:131-155.

(上接第46页)

BP算法搜索全局最优解时,在第0代就已逼近全局最优.利用BP算子,G A算法个体能记忆其运作结果,使各个个体能迅速地逼近最优结构或最优权值,仿真结果表明,算法理想.

参考文献:

[1] Y ao X.A rev iew o f evo lutionar y artificial neural netw o rks[J].Int ernational Jour nal o f I nt ellig ent

Sy stems.1993,8(4):539-567.

[2] 刘勇.康立山,等.非数值并行算法——遗传算法[M].北京:科学出版社,1995.

[3] 潘正君,康立山,陈毓屏.演化计算[M].北京:清华大学出版社;南宁:广西科学技术出版社,1998.

[4] Chen D,G iles C,Sun G,Chen H,L ess Y,G oudreau M.Co nst ructiv e learning o f r ecur rent neutr al

netw or ks[J].IEEE International Conference on N eutral N etw or ks'93,1993,3:1196-1201.

[5] 陈荣,徐用懋,等.多层前向网络的研究——遗传BP算法和结构优化策略[J].自动化学报,1997,

23(1):43-49.

[6] 王保中,康立山,何巍.基于实数编码遗传算法的多层神经网络BP算法[J].武汉大学学报(自然科

学版),1998,44(3):289-291.

[7] 孙亚军,等.一种并行的遗传/神经网络混合学习算法[J].电子科技大学学报,1996,25(4):373-

376.

matlab遗传算法优化神经网络权值教程

matlab遗传算法优化神经网络权值教程第4章nnToolKit神经网络工具包 4.1 nnToolKit简介 神经网络工具包是基于MATLAB神经网络工具箱自行开发的一组神经网络算法函数库 可在MATLAB环境下均独立运行,也可打包成DLL组件,直接被VB、VC、 C++ 、C#、JAVA或其他支持COM的语言所调用 本工具包中增加了一些MATLAB中没有的神经网络算法,如模糊神经网络、小波神经网络、遗传神经网络算法等 4.2nnToolKit函数库 4.2nnToolKit 函数库 4.2nnToolKit函数库 例4-1 对ch4\nnToolKit工具箱\lmnet文件夹中文件(input_para1.txt和output_para1.txt)提供的专家样本数据进行网络训练。%此为BP网络训练程序

function retstr = LmTrain(ModelNo,NetPara,TrainPara,InputFun,OutputFun,DataDir)NNTWARN OFF retstr=-1; ModelNo=‘1’;NetPara(1)=7;Ne tPara(2)=1; NetPara(3)=6;NetPara(4)=10; 4.2nnToolKit函数库 4.2nnToolKit函数库 例4-2 输入一组测试样本数据,对例4-1训练的网络模型进行仿真 %此为一仿真程序%首先读入权域值参数 function retdouble = LmSimu(ModelNo,NetPara,SimulatePara,InputFun,OutputFun,DataDir)NNTWA RN OFF %%%% 输入参数赋值开始 %%%%%%%%%%%%%%%%%%%%%%%% 这 部分代码主要是方便用户调试用ModelNo=‘1’; NetPara(1)=7; 4.2nnToolKit函数库

基于遗传算法的一种新的约束处理方法

基于遗传算法的一种新的约束处理方法 苏勇彦1,王攀1,范衠2 (1武汉理工大学 自动化学院, 湖北 武汉 430070) (2丹麦理工大学 机械系 哥本哈根) 摘 要:本文针对目前的约束处理方法中存在的问题,提出一种新的约束处理方法。该方法通过可行解和不可行解混合交叉的方法对问题的解空间进行搜索,对可行种群和不可行种群分别进行选择操作。避免了惩罚策略中选取惩罚因子的困难,使得约束处理问题简单化。实例测试结果表明,该约束处理方法的有效性。 关键词:遗传算法、约束处理、可行解、不可行解、两种群混合交叉 1引言 科学研究和工程应用中许多问题都可以转化为求解一个带约束条件的函数优化问题[1]。遗传算法(Genetic Algorithm )与许多基于梯度的算法比较,具有不需要目标函数和约束条件可微,且能收敛到全局最优解的优点 [2],因此,它成为一种约束优化问题求解的有力工具。目前,基于GA 的约束处理方法有拒绝策略,修复策略,改进遗传算子策略以及惩罚函数策略等。但是这些方法都存在一些问题[3]:修复策略对问题本身的依赖性,对于每个问题必须设计专门的修复程序。改进遗传算子策略则需要设计针对问题的表达方式以及专门的遗传算子来维持解的可行性。惩罚策略解的质量严重依赖于惩罚因子的选取,当惩罚因子不适当时,算法可能收敛于不可行解。 本文针对目前的约束处理方法中存在的问题,提出一种新的约束处理方法。该方法通过可行解和不可行解混合交叉的方法对问题的解空间进行搜索,对可行种群和不可行种群分别进行选择操作。避免了惩罚策略中选取惩罚因子的困难,使得约束处理问题简单化。实例测试结果表明,该约束处理方法的有效性。 2约束处理方法描述 2.1单目标有约束优化问题一般形式 )(max x f ..t s ;0)(≤x g i 1,,2,1m i L L =;0)(=x h i )(,,1211m m m m i +=+=L X x ∈ 这里都是定义在m m m m h h h g g g f ,,,;,,;2121111L L ++n E 上的实值函数。X 是n E 上的 子集,x 是维实向量,其分量为。上述问题要求在变量满足约 束的同时极大化函数。函数通常为目标函数。约束n n x x x ,,,21L n x x x ,,,21L f f ;0)(≤x g i 称为不等式约束;约束称为等式约束。集合;0)(=x h i X 通常为变量的上下界限定的区域。向量且满足所有约束,则称之为问题的可行解。所有可行解构成可行域。否则,为问题的不可行解,所有不可行解构成不可行域。问题的目标是找到一个可行解X x ∈x 使得)()(x f x f ≤对于所有可行解x 成立。那么,x 为最优解[4]。 2.2算法描述 目前,最常采用的约束处理方法为惩罚函数法。但优化搜索的效率对惩罚因子的选择有

遗传算法在BP神经网络优化中的应用.

遗传算法在 BP 神经网络优化中的应用 2O世纪80年代后期,多机器人协作成为一种新的机器人应用形式日益引起国内外学术界的兴趣与关注。一方面,由于任务的复杂性,在单机器人难以完成任务时,人们希望通过多机器人之间的协调与合作来完成。另一方面,人们也希望通过多机器人间的协调与合作,来提高机器人系统在作业过程中的效率。1943年,Maeullocu和 Pitts融合了生物物理学和数学提出了第一个神经元模型。从这以后,人工神经网络经历了发展、停滞、再发展的过程,时至今日正走向成熟,在广泛领域里得到了应用,其中将人工神经网络技术应用到多机器人协作成为新的研究领域。本文研究通过人工神经网络控制多机器人完成协作搬运的任务-3 J,并应用遗传算法来对神经网络进行优化。仿真结果表明,经过遗传算法优化后的搬运工作效率显著提高,误差降低。 1 人工神经网络 ANN)的基本原理和结构 人工神经网络(Artiifcial Neural Network,ANN)) 是抽象、简化与模拟大脑神经结构的计算模型,又称并行分布处理模型 J。ANN 由大量功能简单且具有自适应能力的信息处理单元——人工神经元按照大规模并行的方式通过一定的拓扑结构连接而成。ANN拓扑结构很多,其中采用反向传播(Back-Propa- gation,BP)算法的前馈型神经网络(如下图1所示),即BP人工神经网络,是人工神经网络中最常用、最成熟的神经网络之一。 BP网络模型处理信息的基本原理是:输入信号x;通过中间节点(隐层点 )作用于出节点,经过非线形变换,产生输出信Yk,网络训练的每个样本包括输入向量 x和期望输出量 T,网络输出值Y与期望输出值T之间的偏差,通过调整输入节点与隐层节点的联接强度取值w;;和隐层节点与输出节点之间的联接强度Y以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数 (权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。

一种基于遗传算法的Kmeans聚类算法

一种基于遗传算法的K-means聚类算法 一种基于遗传算法的K-means聚类算法 摘要:传统K-means算法对初始聚类中心的选取和样本的输入顺序非常敏感,容易陷入局部最优。针对上述问题,提出了一种基于遗传算法的K-means聚类算法GKA,将K-means算法的局部寻优能力与遗传算法的全局寻优能力相结合,通过多次选择、交叉、变异的遗传操作,最终得到最优的聚类数和初始质心集,克服了传统K-means 算法的局部性和对初始聚类中心的敏感性。关键词:遗传算法;K-means;聚类 聚类分析是一个无监督的学习过程,是指按照事物的某些属性将其聚集成类,使得簇间相似性尽量小,簇内相似性尽量大,实现对数据的分类[1]。聚类分析是数据挖掘 技术的重要组成部分,它既可以作为独立的数据挖掘工具来获取数据库中数据的分布情况,也可以作为其他数据挖掘算法的预处理步骤。聚类分析已成为数据挖掘主要的研究领域,目前已被广泛应用于模式识别、图像处理、数据分析和客户关系管理等领域中。K-means算法是聚类分析中一种基本的划分方法,因其算法简单、理论可靠、收敛速 度快、能有效处理较大数据而被广泛应用,但传统的K-means算法对初始聚类中心敏 感,容易受初始选定的聚类中心的影响而过早地收敛于局部最优解,因此亟需一种能克服上述缺点的全局优化算法。遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化搜索算法。在进化过程中进行的遗传操作包括编码、选择、交叉、变异和适者生存选择。它以适应度函数为依据,通过对种群个体不断进行遗传操作实现种群个体一代代地优化并逐渐逼近最优解。鉴于遗传算法的全局优化性,本文针 对应用最为广泛的K-means方法的缺点,提出了一种基于遗传算法的K-means聚类算法GKA(Genetic K-means Algorithm),以克服传统K-means算法的局部性和对初始聚类中心的敏感性。用遗传算法求解聚类问题,首先要解决三个问题:(1)如何将聚类问题的解编码到个体中;(2)如何构造适应度函数来度量每个个体对聚 类问题的适应程度,即如果某个个体的编码代表良好的聚类结果,则其适应度就高;反之,其适应度就低。适应度函数类似于有机体进化过程中环境的作用,适应度高的个体 在一代又一代的繁殖过程中产生出较多的后代,而适应度低的个体则逐渐消亡;(3) 如何选择各个遗传操作以及如何确定各控制参数的取值。解决了这些问题就可以利

基于遗传算法的BP神经网络MATLAB代码

用遗传算法优化BP神经网络的Matlab编程实例(转) 由于BP网络的权值优化是一个无约束优化问题,而且权值要采用实数编码,所以直接利用Matlab遗传算法工具箱。以下贴出的代码是为一个19输入变量,1个输出变量情况下的非线性回归而设计的,如果要应用于其它情况,只需改动编解码函数即可。 程序一:GA训练BP权值的主函数 function net=GABPNET(XX,YY) %-------------------------------------------------------------------------- % GABPNET.m % 使用遗传算法对BP网络权值阈值进行优化,再用BP算法训练网络 %-------------------------------------------------------------------------- %数据归一化预处理 nntwarn off XX=[1:19;2:20;3:21;4:22]'; YY=[1:4]; XX=premnmx(XX); YY=premnmx(YY); YY %创建网络 net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'tra inlm'); %下面使用遗传算法对网络进行优化 P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隐含层节点数 S=R*S1+S1*S2+S1+S2;%遗传算法编码长度 aa=ones(S,1)*[-1,1]; popu=50;%种群规模 save data2 XX YY % 是将 xx,yy 二个变数的数值存入 data2 这个MAT-file,initPpp=initializega(popu,aa,'gabpEval');%初始化种群 gen=100;%遗传代数

遗传算法优化的BP神经网络建模[精选.]

遗传算法优化的BP神经网络建模 十一月匆匆过去,每天依然在忙碌着与文档相关的东西,在寒假前一个多月里,努力做好手头上的事的前提下多学习专业知识,依然是坚持学习与素质提高并重,依然是坚持锻炼身体,为明年找工作打下基础。 遗传算法优化的BP神经网络建模借鉴别人的程序做出的仿真,最近才有时间整理。 目标: 对y=x1^2+x2^2非线性系统进行建模,用1500组数据对网络进行构建网络,500组数据测试网络。由于BP神经网络初始神经元之间的权值和阈值一般随机选择,因此容易陷入局部最小值。本方法使用遗传算法优化初始神经元之间的权值和阈值,并对比使用遗传算法前后的效果。 步骤: 未经遗传算法优化的BP神经网络建模 1、随机生成2000组两维随机数(x1,x2),并计算对应的输出y=x1^2+x2^2,前1500组数据作为训练数据input_train,后500组数据作为测试数据input_test。并将数据存储在data中待遗传算法中使用相同的数据。 2、数据预处理:归一化处理。 3、构建BP神经网络的隐层数,次数,步长,目标。 4、使用训练数据input_train训练BP神经网络net。 5、用测试数据input_test测试神经网络,并将预测的数据反归一化处理。 6、分析预测数据与期望数据之间的误差。 遗传算法优化的BP神经网络建模 1、读取前面步骤中保存的数据data; 2、对数据进行归一化处理; 3、设置隐层数目; 4、初始化进化次数,种群规模,交叉概率,变异概率 5、对种群进行实数编码,并将预测数据与期望数据之间的误差作为适应度函数; 6、循环进行选择、交叉、变异、计算适应度操作,直到达到进化次数,得到最优的初始权值和阈值; 7、将得到最佳初始权值和阈值来构建BP神经网络; 8、使用训练数据input_train训练BP神经网络net; 9、用测试数据input_test测试神经网络,并将预测的数据反归一化处理; 10、分析预测数据与期望数据之间的误差。 算法流程图如下:

遗传算法优化BP神经网络的实现代码-共6页

%读取数据 data=xlsread('data.xls'); %训练预测数据 data_train=data(1:113,:); data_test=data(118:123,:); input_train=data_train(:,1:9)'; output_train=data_train(:,10)'; input_test=data_test(:,1:9)'; output_test=data_test(:,10)'; %数据归一化 [inputn,mininput,maxinput,outputn,minoutput,maxoutput]=premnmx(input_tr ain,output_train); %对p和t进行字标准化预处理 net=newff(minmax(inputn),[10,1],{'tansig','purelin'},'trainlm'); net.trainParam.epochs=100; net.trainParam.lr=0.1; net.trainParam.goal=0.00001; %net.trainParam.show=NaN %网络训练 net=train(net,inputn,outputn); %数据归一化 inputn_test = tramnmx(input_test,mininput,maxinput); an=sim(net,inputn); test_simu=postmnmx(an,minoutput,maxoutput); error=test_simu-output_train; plot(error) k=error./output_train

基于遗传算法的BP神经网络优化算法

案例3:基于遗传算法的BP神经网络优化算法 ******************************************************************************* **** 论坛申明: 1 案例为原创案例,论坛拥有帖子的版权,转载请注明出处(MATLABSKY论坛,《MATLAB 智能算法30个案例分析》 2 案例内容为书籍原创内容,内容为案例的提纲和主要内容。 3 作者长期驻扎在板块,对读者和会员问题有问必答。 4 案例配套有教学视频和完整的MATLAB程序,MATLAB程序在购买书籍后可以自由下载,教学视频需要另外购买。 MATLAB书籍预定方法和优惠服务:https://www.doczj.com/doc/0e4001339.html,/thread-9258-1-1.html 点击这里,预览该案例程序:https://www.doczj.com/doc/0e4001339.html,/znsf/view/s3/GABPMain.html 已经预定的朋友点此下载程序源代码:https://www.doczj.com/doc/0e4001339.html,/thread-11921-1-1.html * ******************************************************************************* ** 1、案例背景 BP网络是一类多层的前馈神经网络。它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法。BP算法是Rumelhart等人在1986年提出来的。由于它的结构简单,可调整的参数多,训练算法也多,而且可操作性好,BP 神经网络获得了非常广泛的应用。据统计,有80%~90%的神经网络模型都是采用了BP网络或者是它的变形。BP网络是前向网络的核心部分,是神经网络中最精华、最完美的部分。BP神经网络虽然是人工神经网络中应用最广泛的算法,但是也存在着一些缺陷,例如: ①、学习收敛速度太慢; ②、不能保证收敛到全局最小点; ③、网络结构不易确定。 另外,网络结构、初始连接权值和阈值的选择对网络训练的影响很大,但是又无法准确获得,针对这些特点可以采用遗传算法对神经网络进行优化。 本节以某型号拖拉机的齿轮箱为工程背景,介绍使用基于遗传算法的BP神经网络进行齿轮箱故障的诊断。

遗传算法与神经网络的结合.

系统工程理论与实践 Systems Engineering——Theory & Practice 1999年第2期第19卷 vol.19 No.2 1999 遗传算法与神经网络的结合 李敏强徐博艺寇纪淞 摘要阐明了遗传算法和神经网络结合的必要性和可行性,提出用多层前馈神经网络作为遗传搜索的问题表示方式的思想。用遗传算法和神经网络结合的方法求解了短期地震预报问题,设计了用遗传算法训练神经网络权重的新方法,实验结果显示了遗传算法快速学习网络权重的能力,并且能够摆脱局部极点的困扰。 关键词遗传算法进化计算神经网络 On the Combination of Genetic Algorithms and Neural Networks Li Minqiang Xu Boyi Kou Jisong (Institute of Systems Engineering, Tianjin University, Tianjin 300072 Abstract In this paper, we demonstrate the necessity and possibility of combining neural network (NN with GAs. The notion of using multilayered feed forward NN as the representation method of genetic and the searching technique is introduced. We combine GA and NN for solving short term earthquake forecasting problem, design a novel method of using GAs to train connection weights of NN.The empirical test indicates the capability of the new method in fast learning of NN and escaping local optima. Keywords genetic algorithms; evolutionary computation; neural networks

遗传算法优化BP神经网络权值和阈值(完整版)

https://www.doczj.com/doc/0e4001339.html,/viewthread.php?tid= 50653&extra=&highlight=%E9%81%97%E4%BC%A0%E7% AE%97%E6%B3%95&page=1 Matlab遗传算法优化神经网络的例子(已调试成功)最近论坛里问到用遗传算法优化神经网络问题的人很多,而且论坛里有很多这方面的代码。但可惜的是所有代码都或多或少有些错误!最郁闷的莫过于只有发帖寻求问题答案的探索者,却很少有对问题进行解答的victor。本人在论坛里看到不少会员对能运行成功的遗传算法优化神经网络例子的需求是多么急切,我也深有感触!现把调试成功的一个例子贴出来,供大家参考!(本例子是基于一篇硕士论文里的代码为蓝本改 编的,此处就不再注明作者了。)遗传算法优化bp.rar (3.34 KB) 注:该代码是由会员“书童”耗费了一整天的时间调试成功的,在此再次对我们的“书童”同学乐于助人的高尚品德致敬,并对其深表感谢!PS:参考会员“ilovexyq”意见,先对其做以补充。该网络为遗传算法 优化bp的一个典型例子,输入为7,输出为7,隐层为25。该网络输入输出数据就是为了说明问题而随便加的,没有实际意义。如用于自己的实际问题,把数据替换并根据需要改一下网络结构就行了。

PS:如有问题,请先阅读此贴: https://www.doczj.com/doc/0e4001339.html,/thread-52587-1-1.html### [本帖最后由 yuthreestone 于 2009-10-15 10:52 编辑] 搜索更多相关主题的帖子: 调试例子算法Matlab神经网络 https://www.doczj.com/doc/0e4001339.html,/thread-52587-1-1.html 遗传算法优化BP神经网络权值和阈值(完整版) 会员renjia前一段时间分享的程序,地址如下: https://www.doczj.com/doc/0e4001339.html,/viewthread.php?tid=50653&extra=&highlight=% E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95&page=1: (1)renjia提供的程序存在一些小错误,主要是设计的bp网络是两个隐含层,但编码的时候只有一个隐含层。修改后的程序将bp改成了单隐层以确保一致;(2)很多会员不知道该如何运行程序,各个m文件之间的关系弄不清楚。修改后的程序共包含三个m文件: 其中,主程序为ga_bp.m,适应度函数为gabpEval.m,编解码子函数为gadecod.m 注意:使用前需安装gaot工具箱(见附件),上述三个文件需放在同一文件夹中且将该文件夹设置为当前工作路径。 运行程序时只需运行主程序ga_bp.m即可。 (3)此程序仅为示例,针对其他的问题,只需将数据修改即可,但需注意变量名保持一致,尤其是全局变量修改时(在gadecod.m和gabpEval.m中也要修改)(4)gaot工具箱如何安装? 点击file选择set path,在弹出的对话框中选择add folder,将gaot文件夹添加进去,然后点击save保存即可。

遗传算法求解y=x2 - 副本

初始遗传算法及一个简单的例子 遗传算法(Genetic Algorithms, GA)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。它模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。 下面我以一个实例来详细表述遗传算法的过程 例:求下述二元函数的最大值: 2 =] y x x∈ ,0[ 31 1、编码: 用遗传算法求解问题时,不是对所求解问题的实际决策变量直接进行操作,而是对表示可行解的个体编码的操作,不断搜索出适应度较高的个体,并在群体中增加其数量,最终寻找到问题的最优解或近似最优解。因此,必须建立问题的可行解的实际表示和遗传算法的染色体位串结构之间的联系。在遗传算法中,把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法称之为编码。反之,个体从搜索空间的基因型变换到解空间的表现型的方法称之为解码方法。 编码是应用遗传算法是需要解决的首要问题,也是一个关键步骤。迄今为止人们已经设计出了许多种不同的编码方法。基本遗传算法使用的是二进制符号0和1所组成的二进制符号集{0,1},也就是说,把问题空间的参数表示为基于字符集{0,1}构成的染色体位串。每个个体的染色体中所包含的数字的个数L 称为染色体的长度或称为符号串的长度。一般染色体的长度L为一固定的数,如本例的编码为 s1 = 1 0 0 1 0 (17) s2 = 1 1 1 1 0 (30) s3 = 1 0 1 0 1 (21) s4 = 0 0 1 0 0 (4) 表示四个个体,该个体的染色体长度L=5。 2、个体适应度函数 在遗传算法中,根据个体适应度的大小来确定该个体在选择操作中被选定的概率。个体的适应度越大,该个体被遗传到下一代的概率也越大;反之,个体的适应度越小,该个体被遗传到下一代的概率也越小。基本遗传算法使用比例选择操作方法来确定群体中各个个体是否有可能遗传到下一代群体中。为了正确计算不同情况下各个个体的选择概率,要求所有个体的适应度必须为正数或为零,不能是负数。这样,根据不同种类的问题,必须预先确定好由目标函数值到个体适应度之间的转换规则,特别是要预先确定好目标函数值为负数时的处理方法。

基于数据挖掘的遗传算法

基于数据挖掘的遗传算法 xxx 摘要:本文定义了遗传算法概念和理论的来源,介绍遗传算法的研究方向和应用领域,解释了遗传算法的相关概念、编码规则、三个主要算子和适应度函数,描述遗传算法计算过程和参数的选择的准则,并且在给出的遗传算法的基础上结合实际应用加以说明。 关键词:数据挖掘遗传算法 Genetic Algorithm Based on Data Mining xxx Abstract:This paper defines the concepts and theories of genetic algorithm source, Introducing genetic algorithm research directions and application areas, explaining the concepts of genetic algorithms, coding rules, the three main operator and fitness function,describing genetic algorithm parameter selection process and criteria,in addition in the given combination of genetic algorithm based on the practical application. Key words: Data Mining genetic algorithm 前言 遗传算法(genetic algorithm,GAs)试图计算模仿自然选择的过程,并将它们运用于解决商业和研究问题。遗传算法于20世界六七十年代由John Holland[1]发展而成。它提供了一个用于研究一些生物因素相互作用的框架,如配偶的选择、繁殖、物种突变和遗传信息的交叉。在自然界中,特定环境限制和压力迫使不同物种竞争以产生最适应于生存的后代。在遗传算法的世界里,会比较各种候选解的适合度,最适合的解被进一步改进以产生更加优化的解。 遗传算法借助了大量的基因术语。遗传算法的基本思想基于达尔文的进化论和孟德尔的遗传学说,是一类借鉴生物界自然选择和自然遗传机制的随机搜索算法。生物在自然界的生存繁殖,显示对其自然环境的优异自适应能力。受其启发,人们致力于对生物各种生存特性的机制研究和行为模拟。通过仿效生物的进化与遗传,根据“生存竞争”和“优胜劣汰”的原则,借助选择、交叉、变异等操作,使所要解决的问题从随机初始解一步步逼近最优解。现在已经广泛的应用于计算机科学、人工智能、信息技术及工程实践。[2]在工业、经济管理、交通运输、工业设计等不同领域,成功解决了许多问题。例如,可靠性优化、流水车间调度、作业车间调度、机器调度、设备布局设计、图像处理以及数据挖掘等。遗传算法作为一类自组织于自适应的人工智能技术,尤其适用于处理传统搜索方法难以解决的复杂的和非线性的问题。 1.遗传算法的应用领域和研 究方向 1.1遗传算法的特点 遗传算法作为一种新型、模拟生物进化过程的随机化搜索方法,在各类结 构对象的优化过程中显示出比传统优 化方法更为独特的优势和良好的性能。 它利用其生物进化和遗传的思想,所以 它有许多传统算法不具有的特点[3]: ※搜索过程不直接作用在变量上,而是 作用于由参数集进行了编码的个体 上。此编码操作使遗传算法可以直接 对结构对象进行操作。 ※搜索过程是从一组解迭代到另一组 解,采用同时处理群体中多个个体的 方法,降低了陷入局部最优解的可能 性,易于并行化。

介绍遗传算法神经网络

课程设计作业——翻译 课题:介绍遗传算法神经网络 穆姣姣 0808490233 物流08-班

介绍遗传算法神经网络 理查德·坎普 1. 介绍 一旦一个神经网络模型被创造出来,它常常是可取的。利用这个模型的时候,识别套输入变量导致一个期望输出值。大量的变量和非线性性质的许多材料模型可以使找到一个最优组输入变量变得困难。 在这里,我们可以用遗传算法并试图解决这个问题。 遗传算法是什么?遗传算法是基于搜索algo-rithms力学的自然选择和遗传观察到生物的世界。他们使用两个方向(\适者生存”),在这种条件下,探索一个强劲的功能。重要的是,采用遗传算法,这不是必需要知道功能的形式,就其输出给定的输入(图1)。 健壮性我们这么说是什么意思呢?健壮性是效率和效能之间的平衡所使用的技术在许多不同的环境中。帮助解释这个问题,我们可以比其他搜索和优化技术,如calculus-based,列举,与随机的求索。 方法Calculus-based假设一个光滑,无约束函数和要么找到点在衍生为零(知易行难)或者接受一个方向梯度与当地日当地一所高中点(爬山)。研究了这些技术已经被重点研究、扩展、修改,但展现自己缺乏的鲁棒性是很简单的。 考虑如图2所示的功能。利用Calculus-based在这里发现极值是很容易的(假定派生的函数可以发现…!)。然而,一个更复杂的功能(图3)显示该方法是当地——如果搜索算法,在该地区的一个开始,它就会错过低高峰目标,最高的山峰。 图1 使用网络神经算法没必要知道它的每一项具体功能。 一旦一个局部极大时,进一步改进需要一个随机的重启或类似的东西。同时,假设一个函数光滑,可导,并明确知道很少尊重现实。许多真实世界充满了间断模型和设置在嘈杂的多通道搜索空间(图4)。 虽然calculus-based方法在某些环境中至非常有效的,但内在的假

用遗传算法优化BP神经网络的Matlab编程实例

用遗传算法优化BP神经网络的 Matlab编程实例 由于BP网络的权值优化是一个无约束优化问题,而且权值要采用实数编码,所以直接利用Matlab遗传算法工具箱。以下贴出的代码是为一个19输入变量,1个输出变量情况下的非线性回归而设计的,如果要应用于其它情况,只需改动编解码函数即可。 程序一:GA训练BP权值的主函数 function net=GABPNET(XX,YY) %-------------------------------------------------------------------------- % GABPNET.m % 使用遗传算法对BP网络权值阈值进行优化,再用BP 算法训练网络 %-------------------------------------------------------------------------- %数据归一化预处理 nntwarn off XX=premnmx(XX); YY=premnmx(YY); %创建网络 net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},' trainlm'); %下面使用遗传算法对网络进行优化 P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隐含层节点数 S=R*S1+S1*S2+S1+S2;%遗传算法编码长度 aa=ones(S,1)*[-1,1]; popu=50;%种群规模 initPpp=initializega(popu,aa,'gabpEval');%初始化种群 gen=100;%遗传代数 %下面调用gaot工具箱,其中目标函数定义为gabpEval [x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,... 'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutatio n',[2 gen 3]); %绘收敛曲线图 figure(1) plot(trace(:,1),1./trace(:,3),'r-'); hold on plot(trace(:,1),1./trace(:,2),'b-'); xlabel('Generation'); ylabel('Sum-Squared Error'); figure(2) plot(trace(:,1),trace(:,3),'r-'); hold on plot(trace(:,1),trace(:,2),'b-'); xlabel('Generation'); ylabel('Fittness'); %下面将初步得到的权值矩阵赋给尚未开始训练的BP网络 [W1,B1,W2,B2,P,T,A1,A2,SE,val]=gadecod(x); net.LW{2,1}=W1; net.LW{3,2}=W2; net.b{2,1}=B1; net.b{3,1}=B2; XX=P; YY=T; %设置训练参数 net.trainParam.show=1; net.trainParam.lr=1; net.trainParam.epochs=50; net.trainParam.goal=0.001; %训练网络 net=train(net,XX,YY); 程序二:适应值函数 function [sol, val] = gabpEval(sol,options) % val - the fittness of this individual % sol - the individual, returned to allow for Lamarckian evolution % options - [current_generation] load data2 nntwarn off XX=premnmx(XX); YY=premnmx(YY); P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隐含层节点数 S=R*S1+S1*S2+S1+S2;%遗传算法编码长度 for i=1:S, x(i)=sol(i); end; [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x);

基于遗传算法的TSP问题解决

基于遗传算法的TSP问题解决 —余小欢B07330230 概述:TSP问题是一个经典的运筹学的组合优化问题,针对此问题,研究人员提出了个中各样的算法,主要有贪婪算法,遗传算法,混沌搜索算法等。在本文中分别用贪婪算法和遗传算法去解决30个城市的最短路径问题,并把两者得到了最优解进行比较,发现用遗传算法解决TSP问题非常具有优越性,同时在文章的最后提出了对此遗传算法进行改进的方向。 1.贪婪算法 x=[18 87 74 71 25 58 4 13 18 24 71 64 68 83 58 54 51 37 41 2 7 22 25 62 87 91 83 41 45 44]; y=[54 76 78 71 38 35 50 40 40 40 42 44 60 58 69 69 62 67 84 94 99 64 60 62 32 7 38 46 26 21 35]; a=zeros(30,30); for i=1:30 for j=1:30 a(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2); %求取距离矩阵的值end a(i,i)=1000; %主对角线上的元素置为1000作为惩罚 end b=0; c=zeros(30); for j=1:30 [m,n]=min(a(:,j)); b=b+m; %得到的b值即为贪婪最佳路径的总距离 a(n,:)=1000; %已经选择的最小值对应的行的所有值置为1000作为惩罚 c(j)=n; end x1=zeros(30); y1=zeros(30); for t=1:30

x1(t)=x(c(t)); y1(t)=y(c(t)); end plot(x1,y1,'-or'); xlabel('X axis'), ylabel('Y axis'), title('ì°à·?·??'); axis([0,1,0,1]); axis([0,100,0,100]); axis on 用贪婪算法得出的最佳路径走遍30个城市所走的路程为449.3845km 其具体的路径图如下: 2.遗传算法 1主函数部分 clc; clear all;

基于遗传算法的智能组卷策略的研究综述Word版

《基于遗传算法的智能组卷策略的研究》综述 姓名刘春晓 学号 2015216104 专业计算机技术 班级 3班 天津大学计算机科学与技术学院 2016年 6 月

基于遗传算法的智能组卷策略的研究综述 摘要随着计算机技术的日益发展和成熟,手工组卷已经不能满足现代的教学要求,组卷智能化在提高教学质量方面发挥着很重要的作用。文章对组卷策略进行了梳理,对比和总结,主要介绍了遗传算法的优点,从遗传算法的基本流程、编码方式、适应度函数和遗传算子方面进行了归纳。接着分析了目前智能组卷策略研究的不足和挑战,最后总结了未来的研究设想。 关键词智能组卷;遗传算法;适应度函数;遗传算子 1引言 在计算机技术发展飞速的今天,计算机应用已经慢慢的渗透到人类生活的方方面面,计算机的辅助教学功能也逐渐得到大家的重视。传统的手工组卷受到人为因素的干扰,导致考试的效率低下,组卷智能化已经成为不可或缺的一项研究。 近几年,智能优化算法倍受人们关注,如人工神经网络、遗传算法,为解决复杂问题提供了新的方法,并在诸多领域取得了成功。组卷问题是一个在一定约束条件下的多目标参数优化问题,针对传统的组卷算法具有组卷速度慢、成功率较低、试卷质量不高等缺点。 智能组卷算法在计算机辅导教学过程中之所以受到重视,是因为它把人工智能技术运用到了组卷中,能够智能的设计试卷的结构和内容,包括试卷的难易度,知识点,题型和题量等,使生成的试卷质量比较高。 遗传算法(Genetic Algorithm ,GA)基于达尔文的进化论和孟德尔的自然遗传学说,是通过模拟遗传选择和自然淘汰的生活进化的随机搜索和全局优化算法(张建国 2009:1)。由于该算法有智能的搜索技术和收敛性质,可以较好的满足智能组卷的要求。所以本系统选用遗传算法作为组卷算法,以试题章节、试题数量、试题知识点、试题题型、试题难度分布、试题曝光度、覆盖度、试题分数分配等约束为组卷条件,使试卷有更好的区分度。 基于遗传算法的智能组卷系统实现了组卷智能化,优化了其他组卷算法的不足,使教学更加自动化和公平化,提高了组卷效率。 2研究现状分析 在系统开发之前,应该首先选择适合本系统的组卷算法,组卷算法的选取对试卷的质量影响颇大。只有相对好的算法才能提高组卷的效率和成功率。组卷实质上就是在复杂的约束条件下的多目标求最优解的问题,保证试卷能够满足教学要求。随着计算机技术和人工智能理论的飞速发展,各种组卷策略层出不穷,选择适合的算法对系统运行有极其重要的作用。分析各种组卷算法的优缺点,找到最优的组卷算法是该系统开发的任务之一。这里我们就现阶段组卷算法进行分析和总结。 现阶段比较成熟的组卷算法有随机选取法、回溯试探法和遗传算法。随机选取法生成的试题重复率较高,难以达到预期效果。回溯试探法是一种有条件的深度优化法,对于状态类型和题量较小的题库系统而言,组卷成功率高,但占用内

基于遗传算法的BP神经网络的应用

基于遗传算法的BP神经网络的应用 ----非线性函数拟合 摘要人工神经网络在诸多领域得到应用如信息工程、自动控制、电子技术、目标识别、数学建模、图像处理等领域,并且随着神经网络算啊发的不断改进以及其他新算法的结合,使其应用的领域越来越广。BP神经网络是目前神经网络领域研究最多应用最广的网络,但BP神经网络学习算法易陷入局部极小的缺陷,本文采用遗传算法来优化BP神经网络的性能。首先采用遗传算法来优化BP神经网络的权值和阈值,然后将这些优化值赋给网络得到优化的BP神经网络,最后用MATLAB仿真平台,对非线性函数的逼近拟合和极值寻优问题进行实验。数值仿真结果表明:经遗传算法优化的BP神经网络能有效地避免原始BP神经网络容易出现的局部极小的缺陷,且具有收敛速度快和精度高等优点。 关键词:BP神经网络遗传算法 MATLAB 结构优化 Abstract— In recent years, artificial neural network gradually attention has been paid into the hot area of research in many fields have been involved in electronic applications such as other fields have a wide range of applications, and also continued to expand its applications. To alleviate the shortcoming of easily sinking into the local minimum existing in the BP neural network, the paper exploits the genetic algorithm to optimize the BP neural network. First of all, the genetic algorithm is utilized to optimize the weight values as well as the threshold values of the BP neural network. Subsequently, by using the optimized weight values and threshold values, we are able to get the improved BP neural network. Furthermore, we employ the simulation data to measure the performance of the improved BP neural network. The numerical results indicate that the optimized BP neural network can effectively overcome the local minimum of the original BP neural network and outperform the original BP neural network in the aspects of convergence speed and

相关主题
文本预览
相关文档 最新文档