搜档网
当前位置:搜档网 › 全结构遗传优化径向基概率神经网络

全结构遗传优化径向基概率神经网络

全结构遗传优化径向基概率神经网络
全结构遗传优化径向基概率神经网络

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函数库

08第八章___神经网络的参数优化设计方法

1 第8章 神经网络的参数优化设计 在神经网络的泛化方法中,研究最多的是前馈神经网络的结构优化设计方法(剪枝算法、构造算法及进化算法等,我们将在以后各章讨论)。除了结构设计,其余前馈神经网络的泛化方法还有主动学习、最优停止法、在数据中插入噪声、神经网络集成及提示学习方法等,由于这些方法中神经网络的结构是固定的,因此神经网络性能是通过参数优化改善的,我们称这些方法为神经网络的参数优化设计方法。本章介绍最主要的参数优化设计方法,并给出了每种方法的算法实现和仿真例子。 8.1 主动学习 8.1.1 原理 按照学习机器对训练样本的处理方式,可将学习方式分为两类:被动学习方式和主动学习方式。被动学习是常用的学习方式,常被称为“从样本中学习” (Learning from samples ),该方式被动地接受训练样本,并通过学习从这些样本中提取尽可能多的信息。与被动学习相反,主动学习属于更高层次的、具有潜意识的学习。主动学习对训练样本的选择是主动的,通常通过对输入区域加以限制,有目的地在冗余信息较少的输入区域进行采样,并选择最有利于提高学习机器性能的样本来训练分类器,从而提高了整个训练样本集的质量。由上一章的讨论,训练样本质量对神经网络的泛化能力有极大影响,甚至超过网络结构对泛化能力的影响。因此采用主动学习方法,是改进神经网络泛化能力的一个重要方法。 主动学习机制大部分用于分类或概念学习[Baum1991,HwCh1990,SeOp1992]。在单概念学习中,Mitchell[Mitch1982]关于版本空间(Version Space)的论述有着较大的影响。下面,我们先简要介绍一下这一理论。 如果X 为一线性空间,概念c 定义为X 中点的集合。对目标概念t ,训练样本可写为()()x x t ,,其中X ∈x 为样本输入,()x t 为对x 的分类。如果t ∈x ,则()1=x t ,称()()x x t ,为t 的正样本;如果t ?x ,则()0=x t ,此时称()()x x t ,为t 的负样本。显然,对线性空间内的任何两个可分概念1c 和2c ,如果()()x x 1,c 是1c 的正样本(负样本),则()()x x 11,c ?必然是2c 的负样本(正样本),即任意两个可分概念的正负样本之间可以互相转换。如果某概念c 对x 的分类与目标概念对其的分类()x t 相等,即()()x x t c =,

遗传算法在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以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数 (权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。

基于神经网络的优化计算实验报告

人工智能实验报告 实验六基于神经网络的优化计算实验 一、实验目的: 掌握连续Hopfield神经网络的结构和运行机制,理解连续Hopfield神经网络用于优化计算的基本原理,掌握连续Hopfield神经网络用于优化计算的一般步骤。 二、实验原理 连续Hopfield神经网络的能量函数的极小化过程表示了该神经网络从初始状态到稳定状态的一个演化过程。如果将约束优化问题的目标函数与连续Hopfield神经网络的能量函数对应起来,并把约束优化问题的解映射到连续Hopfield神经网络的一个稳定状态,那么当连续Hopfield神经网络的能量函数经演化达到最小值时,此时的连续Hopfield神经网络的稳定状态就对应于约束优化问题的最优解。 三、实验条件: VC++6.0。 四、实验内容: 1、参考求解TSP问题的连续Hopfield神经网络源代码,给出15个城市和20个城市的求解结果(包括最短路径和最佳路线),分析连续Hopfield神经网络求解不同规模TSP问题的算法性能。 2、对于同一个TSP问题(例如15个城市的TSP问题),设置不同的网络参数,分析不同参数对算法结果的影响。 3、上交源代码。

五、实验报告要求: 1、画出连续Hopfield神经网络求解TSP问题的流程图。 2、根据实验内容,给出相应结果及分析。 (1)15个城市(测试文件TSP15.TXT)

tsp15.txt 最短路程371 最佳路线 →→→→→→→→→→→→→→→1914861351534712210111 (2)20个城市(测试文件TSP20.TXT) tsp20.txt 最短路程349 最佳路线 →→→→→→→→→→→→→→→→→→→→→141618971315111735124289191610201 3、总结连续Hopfield神经网络和遗传算法用于TSP问题求解时的优缺点。 遗传算法易出现早熟收敛和收敛性差的缺点。 Hopfield算法对高速计算特别有效,但网络不稳定。 用Hopfield解TSP问题效果并不理想。相对前面的遗传算法解TSP 性能有相当大差距。

基于遗传算法的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;%遗传代数

实验八:基于神经网络的优化计算实验

实验八:基于神经网络的优化计算实验 一、实验目的 掌握连续Hopfield神经网络的结构和运行机制,理解连续Hopfield神经网络用于优化计算的基本原理,掌握连续Hopfield神经网络用于优化计算的一般步骤。 二、实验原理 连续Hopfield神经网络的能量函数的极小化过程表示了该神经网络从初始状态到稳定状态的一个演化过程。如果将约束优化问题的目标函数与连续Hopfield神经网络的能量函数对应起来,并把约束优化问题的解映射到连续Hopfield神经网络的一个稳定状态,那么当连续Hopfield神经网络的能量函数经演化达到最小值时,此时的连续Hopfield神经网络的稳定状态就对应于约束优化问题的最优解。 三、实验条件 VC++6.0。 四、实验内容

1、参考求解TSP问题的连续Hopfield神经网络源代码,给出15个城市和20个城市的求解结果(包括最短路径和最佳路线),分析连续Hopfield神经网络求解不同规模TSP问题的算法性能。 2、对于同一个TSP问题(例如15个城市的TSP问题),设置不同的网络参数,分析不同参数对算法结果的影响。 3、上交源代码。 五、实验报告 1、画出连续Hopfield神经网络求解TSP问题的流程图。

2、根据实验内容,给出相应结果及分析。 (1)15个城市(测试文件TSP15.TXT)

tsp15.txt 最短路程 371 最佳路线 1914861351534712210111 →→→→→→→→→→→→→→→ (2)20个城市(测试文件TSP20.TXT) tsp20.txt 最短路程349 最佳路线 →→→→→→→→→→→→→→→→→→→→→141618971315111735124289191610201 3、总结连续Hopfield神经网络和遗传算法用于TSP问题求解时的优缺点。

遗传算法优化的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

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

系统工程理论与实践 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神经网络优化算法

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

基于神经网络的优化计算实验

实验六基于神经网络的优化计算实验 一、实验目的 掌握连续Hopfield神经网络的结构和运行机制,理解连续Hopfield神经网络用于优化计算的基本原理,掌握连续Hopfield神经网络用于优化计算的一般步骤。 二、实验原理 连续Hopfield神经网络的能量函数的极小化过程表示了该神经网络从初始状态到稳定状态的一个演化过程。如果将约束优化问题的目标函数与连续Hopfield神经网络的能量函数对应起来,并把约束优化问题的解映射到连续Hopfield神经网络的一个稳定状态,那么当连续Hopfield神经网络的能量函数经演化达到最小值时,此时的连续Hopfield神经网络的稳定状态就对应于约束优化问题的最优解。 实验报告 1、画出连续Hopfield神经网络求解TSP问题的流程图。

2、根据实验内容,给出相应结果及分析。 (1)、参考求解TSP问题的连续Hopfield神经网络源代码(设置参数A=15,B=15,D=0.015, u0=0.02,h=0.5,r= cityNumber*10),给出15个城市和20个城市的求解结果(包括最短路径和最佳路线),分析连续Hopfield神经网络求解不同规模TSP问题的算法性能。 1)int main(int argc,char *argv[]):修改路径计算的代码 2)最后要求输出:

TSP4 (2)、对于同一个TSP问题(例如15个城市的TSP问题),设置不同的网络参数(A=50,B=50,D=0.01,C=50,u0=0.02, h=0.5,r=cityNumber*100; A=0.5, B=0.5, D=0.5, C=0.2,u0=0.02,h=0.5,r=cityNumber*100; A=500,B=500,D=500,C=200,u0=0.02,h=0.5, r=cityNumber*100; A=5, B=5, D=0.01, C=5,u0=0.02,h=0.5, r=cityNumber*100),分析不同参数对算法结果的影响。 1)int main(int argc,char *argv[]):增加全局约束的参数C,网络动态方程也需增加全局约束项。 2)bool is_a_road():在是否是一条可行路径中,需要增加满足全局约束的判断 3)最后要求输出: 情况一 情况二

介绍遗传算法神经网络

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

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

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

https://www.sodocs.net/doc/0e17946456.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.sodocs.net/doc/0e17946456.html,/thread-52587-1-1.html### [本帖最后由 yuthreestone 于 2009-10-15 10:52 编辑] 搜索更多相关主题的帖子: 调试例子算法Matlab神经网络 https://www.sodocs.net/doc/0e17946456.html,/thread-52587-1-1.html 遗传算法优化BP神经网络权值和阈值(完整版) 会员renjia前一段时间分享的程序,地址如下: https://www.sodocs.net/doc/0e17946456.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保存即可。

基于遗传算法的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

用遗传算法优化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);

神经网络与遗传算法

5.4 神经网络与遗传算法简介 在本节中,我们将着重讲述一些在网络设计、优化、性能分析、通信路由优化、选择、神经网络控制优化中有重要应用的常用的算法,包括神经网络算法、遗传算法、模拟退火算法等方法。用这些算法可以较容易地解决一些很复杂的,常规算法很难解决的问题。这些算法都有着很深的理论背景,本节不准备详细地讨论这些算法的理论,只对算法的原理和方法作简要的讨论。 5.4.1 神经网络 1. 神经网络的简单原理 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connectionist Model),是对人脑或自然神经网络(Natural Neural Network)若干基本特性的抽象和模拟。人工神经网络以对大脑的生理研究成果为基础的,其目的在于模拟大脑的某些机理与机制,实现某个方面的功能。所以说, 人工神经网络是由人工建立的以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作出状态相应而进行信息处理。它是根据人的认识过程而开发出的一种算法。假如我们现在只有一些输入和相应的输出,而对如何由输入得到输出的机理并不清楚,那么我们可以把输入与输出之间的未知过程看成是一个“网络”,通过不断地给这个网络输入和相应的输出来“训练”这个网络,网络根据输入和输出不断地调节自己的各节点之间的权值来满足输入和输出。这样,当训练结束后,我们给定一个输入,网络便会根据自己已调节好的权值计算出一个输出。这就是神经网络的简单原理。 2. 神经元和神经网络的结构 如上所述,神经网络的基本结构如图5.35所示: 隐层隐层2 1 图5.35 神经网络一般都有多层,分为输入层,输出层和隐含层,层数越多,计算结果越精确,但所需的时间也就越长,所以实际应用中要根据要求设计网络层数。神经网络中每一个节点叫做一个人工神经元,他对应于人脑中的神经元。人脑神经元由细胞体、树突和轴突三部分组成,是一种根须状蔓延物。神经元的中心有一闭点,称为细胞体,它能对接受到的信息进行处理,细胞体周围的纤维有两类,轴突是较长的神经纤维,是发出信息的。树突的神经纤维较短,而分支众多,是接收信息的。一个神经元的轴突末端与另一神经元的树突之间密

基于神经网络参数优化的迭代学习控制算法

第29卷第6期 2008年 12月河南科技大学学报:自然科学版Journal of Henan University of Science and Technol ogy:Natural Science Vol .29No .6Dec .2008 基金项目:辽宁省教育厅科学研究计划项目(2002D031) 作者简介:王丹凤(1983-),女,辽宁辽阳人,硕士生;李书臣(1960-),男,辽宁桓仁人,教授,主要研究领域为预测控制、智能控制、 迭代学习控制算法及应用. 收稿日期:2008-05-15 文章编号:1672-6871(2008)06-0042-03 基于神经网络参数优化的迭代学习控制算法 王丹凤,李书臣,翟春艳,邢宜春 (辽宁石油化工大学信息与控制工程学院,辽宁抚顺113001) 摘要:针对迭代学习控制用于轨迹跟踪时存在收敛速度慢的问题,提出用RBF 网络优化迭代控制器参数的算法。在每一次迭代学习过程之后利用RBF 网络对当次输出的数据进行优化计算,拟合出最优的学习增益,使迭代学习算法具有较快的收敛速度,在单关节机器人中进行仿真验证了方法的有效性。 关键词:迭代学习控制;RBF 网络;单关节机器人 中图分类号:TP389.1文献标识码:A 0 前言 机器人是一类高度非线性、强耦合和时变性的动力学系统,设计其控制器存在的一个严重问题是我们并不知道准确的数学模型,如果忽略各种不确定因素,设计出的控制器可能会导致系统性能变坏甚至 引起不稳定[1]。迭代学习控制(I L C )[2-3]是一种新型控制算法,它能以非常简单的方式处理不确定度 相当高的动态系统,且仅需要较少的先验知识和计算量,适应性强,易于实现;更主要的是它不依赖于动态系统的精确数学模型。从“迭代”二字可以看出,这是要求动态过程是可以重复的一种行为,它的研究对诸如机器人等对运动控制有着高速、高精度要求的对象有着重要的意义。但现有的迭代学习控制只能用于某种特定的轨迹跟踪问题,且学习速度慢,迭代的次数多,本文将离线的神经网络与在线的迭代学习相结合的控制方案,在控制器中加入神经网络的优化作用,把在线的学习,在线的控制与控制系 统性能改善的功能有效的综合在一个算法里[3]。此方法原理简单,实现的P D 型迭代学习控制器结构 简单,保证了系统的实际输出在最少的迭代次数,以最快的收敛速度逼近期望输出。 1 迭代学习神经网络控制结构 基于神经网络的迭代学习控制系统结构图主要分为两大部分:迭代学习控制器和神经网络,结构图如图1所示 。 图1 基于神经网络的迭代学习控制结构图本文采用P D 型学习律[4]的迭代学习控制器直接对 被控对象进行控制,控制器中的可调参数k p ,k d 通过离线 的神经网络进行调整。P D 型学习律公式为 u k +1(t )=u k (t )+k p e k (t )+k d d e k (t )d t (1)e k =y d (t )-y k (t ) (2)其中 k 表示迭代的次数;u k (t )为第k 次控制输入;k p ,k d 分别为迭代学习控制器的学习增益。 随着神经网络的发展尤其是在出现多层前馈网络和 反馈性网络后获得了突破性进展[5]。多层神经网络逼近 任意非线性映射能力,以及固有的学习特点,已得到各个 领域的极端重视,将极具潜力的神经网络模型运用到学习控制系统的研究,已陆续得到某些结果。

基于径向基函数神经网络的函数逼近

基于径向基函数神经网络的函数逼近 刘君尧1,邱 岚2 (1.深圳信息职业技术学院,广东深圳 518029;2.中国移动广西公司,广西南宁 530022) 【摘 要】在介绍了径向基函数神经网络原理的基础上,应用该网络进行函数逼近的实现,并探讨散步常数的选取对逼近效果的影响。 【关键词】径向基函数;神经网络;散布常数;函数逼近 【中图分类号】TP183 【文献标识码】A 【文章编号】1008-1151(2009)09-0039-01 (一)引言 径向基函数(Radial Basis Function)神经网络是由 J.Moody和C.Darken于20世纪 80年代末提出的一种神经网 络,径向基函数方法在某种程度上利用了多维空间中传统的 严格插值法的研究成果。在神经网络的背景下,隐藏单元提 供一个“函数”集,该函数集在输入模式向量扩展至隐层空 间时为其构建一个任意的“基”,这个函数集中的函数就被称 为径向基函数。目前,径向基函数多用于函数逼近和分类问 题的研究。 (二)RBF神经网络模型 最基本的径向基函数神经网络包含三层,由一些感知单 元组成的输入层、包含一个具有径向基函数神经元的隐层和 一个具有线性神经原的输出层。 1.RBF径向基神经元模型 径向基函数神经元的传递函数有多种形式,最常用的形 式是高斯函数(radbas)。采用高斯基函数,具备如下优点: ①表示形式简单,即使对于多变量输入也不增加太多的复杂 性;②径向对称;③光滑性好,任意阶导数存在;④由于该 基函数表示简单且解析性好,因而便于进行理论分析。 输入向量p 图1径向基传递函数 径向基网络的神经元模型结构如图2所示。由该图可见, radbas的输入为输入矢量p和权值向量W之间的距离乘以阈 值b。 图2 径向基函数神经元模型 2.RBF神经网络的结构 径向基函数网络包括输入层、隐层和输出层,如图3所 示。输入信号传递到隐层,隐层有S1个神经元,节点函数为 高斯函数;输出层有S2个神经元,节点函数一般采用简单的 线性函数。 图3 径向基函数网络基本结构图 (三)RBF神经网络应用于函数逼近 RBF神经网络在进行函数逼近的实现时,往往在网络设计 之初并不指定隐层神经元的个数,而是在每一次针对样本集 的训练中产生一个径向基神经元,并尽可能最大程度地降低 误差,如果未达到精度要求,则继续增加神经元,直到满足 精度要求或者达到最大神经元数目。这样避免了设计之初存 在隐层神经元过少或者过多的问题。训练过程中,散布常数 的选取非常重要。 1.函数逼近的RBF神经网络 已知输入向量P和输出向量T,通过构建径向基函数神经 网络来进行曲线拟合,从而找到一个函数能够满足这21个数 据点的输入/输出关系,绘制训练样本如图所示。 输入向量P:-1:0.1:1; 输出向量T:0.9500 0.5700 0.0300 -0.2800 -0.5800 -0.6200 -0.4800 -0.1400 0.2100 0.4700 0.5000 0.3800 0.1700 -0.1200 -0.3200 -0.4200 0.3500 -0.1300 0.2120 0.4200 0.5100; 应用MATLAB神经网络工具箱中的newrb()函数快速构建 一个径向基函数网络,并且网络根据输入向量和期望值自动 进行调整,从而实现函数逼近,预先设定均方差精度为0.0001, 散布常数为1。实验结果如图4所示。可见,应用径向基函数 进行函数逼近非常有效。 图4网络输出与目标值比较(下转第19页)【收稿日期】2009-06-02 【作者简介】刘君尧(1979-),女,湖南汨罗人,深圳信息职业技术学院讲师,硕士研究生,研究方向为神经网络。

相关主题