急求一份BP神经网络结合遗传算法进行matlab多目标优化化的matlab程序!

&& 查看话题
遗传算法优化BP神经网络
哪位大虾会编写遗传算法优化神经网络的代码啊?俺碰到一难题,怎样都解决不了。
BP网络还按常规的编,遗传算法加进来优化权值、阈值。 : Originally posted by jswoo at
BP网络还按常规的编,遗传算法加进来优化权值、阈值。 谢谢啊,我也找到了这种例子,BP部分我也会编,但是一到遗传算法这部分就会出现错误,您能帮我分析错误原因吗? 把程序注释好,贴上来给大家看看。 : Originally posted by jswoo at
把程序注释好,贴上来给大家看看。 好的,我把程序以及问题写清楚。 BP部分:输入为
输出为T=';
测试样本为P_test=';
再加上threshold=;
inputnum=size(P,1);& && & % 输入层神经元个数
outputnum=size(T,1);& && &% 输出层神经元个数
hiddennum=31;
net=newff(threshold,,{'tansig','logsig'},'trainlm');
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
y=sim(net,P_test);
此即为完整的BP部分编码。
这部分没有问题。
接下来是遗传算法部分:
w1num=inputnum* % 输入层到隐层的权值个数
w2num=outputnum*% 隐层到输出层的权值个数
N=w1num+hiddennum+w2num+ %待优化的变量的个数
%% 定义遗传算法参数
NIND=40;& && &&&%个体数目
MAXGEN=50;& && &%最大遗传代数
PRECI=10;& && & %变量的二进制位数
GGAP=0.95;& && &%代沟
px=0.7;& && && &%交叉概率
pm=0.01;& && &&&%变异概率
trace=zeros(N+1,MAXGEN);& && && && && && && && &%寻优结果的初始值
FieldD=,1,N);repmat(,1,N)];& && && && && && && & %区域描述器
Chrom=crtbp(NIND,PRECI*N);& && && && && && && & %初始种群
gen=0;& && && && && && && && && && && &%代计数器
X=bs2rv(Chrom,FieldD);& && && && && &&&%计算初始种群的十进制转换
ObjV=objfun(X,P,T,hiddennum,P_test,T_test);& && &&&%计算目标函数值
while gen<MAXGEN
& &fprintf('%d\n',gen)
& &FitnV=ranking(ObjV);& && && && && && && && && && &%分配适应度值
& &selch=select('sus',Chrom,FitnV,GGAP);& && && && &&&%选择
& &selch=recombin('xovsp',selch,px);& && && && && && &%重组
& &selch=mut(selch,pm);& && && && && && && && && && & %变异
& &X=bs2rv(SelCh,FieldD);& && && && && &%子代个体的十进制转换
& &ObjVSel=objfun(X,P,T,hiddennum,P_test,T_test);& && && && & %计算子代的目标函数值
& &=reins(Chrom,selch,1,1,ObjV,ObjVSel); %重插入子代到父代,得到新种群
& &X=bs2rv(Chrom,FieldD);
& &gen=gen+1;& && && && && && && && && && && && && && && &%代计数器增加
& &%获取每代的最优解及其序号,Y为最优解,I为个体的序号
& &=min(ObjV);
& &trace(1:N,gen)=X(I,:);& && && && && && && &&&%记下每代的最优值
& &trace(end,gen)=Y;& && && && && && && && && && & %记下每代的最优值
figure(1);
plot(1:MAXGEN,trace(end,:));
xlabel('遗传代数')
ylabel('误差的变化')
title('进化过程')
bestX=trace(1:end-1,end);
bestErr=trace(end,end);
代码到此为止。
运行后会出现:??? Error using ==> objfun
Too many input arguments.
bjfun函数为function Obj=objfun(X,P,T,hiddennum,P_test,T_test)
%% 用来分别求解种群中各个个体的目标值
% X:所有个体的初始权值和阈值
% P:训练样本输入
% T:训练样本输出
% hiddennum:隐含层神经元数
% P_test:测试样本输入
% T_test:测试样本期望输出
% Obj:所有个体的预测样本的预测误差的范数
Obj=zeros(M,1);
& & Obj(i)=Bpfun(X(i,:),P,T,hiddennum,P_test,T_test);
已经拷到sheffield文件夹里,并加载到路径里去了。 准备好给哥 100个金币吧:D:D:D:D:D 你程序中又不少小错误,符号乱得很,看了个把小时。
基本可以用了
T=';&&% 输出
P_test='; % 测试样本
threshold=;
inputnum=size(P,1);& && & % 输入层神经元个数
outputnum=size(T,1);& && &% 输出层神经元个数
hiddennum=31;
net=newff(threshold,,{'tansig','logsig'},'trainlm');
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
y=sim(net,P_test);
w1num=inputnum* % 输入层到隐层的权值个数
w2num=outputnum*% 隐层到输出层的权值个数
N=w1num+hiddennum+w2num+ %待优化的变量的个数
%% 定义遗传算法参数
NIND=40;& && &&&%个体数目
MAXGEN=50;& && &%最大遗传代数
PRECI=10;& && & %变量的二进制位数
GGAP=0.95;& && &%代沟
px=0.7;& && && &%交叉概率
pm=0.01;& && &&&%变异概率
trace=zeros(N+1,MAXGEN);& && && && && && && && &%寻优结果的初始值
FieldD=,1,N);repmat(,1,N)];& && && && && && && & %区域描述器
Chrom=crtbp(NIND,PRECI*N);& &&&
X=bs2rv(Chrom,FieldD);& && && && && &&&%计算初始种群的十进制转换
gen=1;& && && && && && && && && && && &%代计数器
ObjV=objfun(X,P,T,hiddennum,P_test,T_test);& && &&&%计算目标函数值
while gen<MAXGEN
& & fprintf('%d\n',gen)
& & FitnV=ranking(ObjV);& && && && && && && && && && &%分配适应度值
& & selch=select('sus',Chrom,FitnV,GGAP);& && && && &&&%选择
& & selch=recombin('xovsp',selch,px);& && && && && && &%重组
& & selch=mut(selch,pm);& && && && && && && && && && & %变异
& & X=bs2rv(selch,FieldD);& && && && && &%子代个体的十进制转换
& & ObjVSel=objfun(X,P,T,hiddennum,P_test,T_test);& && && && & %计算子代的目标函数值
& & =reins(Chrom,selch,1,1,ObjV,ObjVSel); %重插入子代到父代,得到新种群
& & X=bs2rv(Chrom,FieldD);
& & gen=gen+1;& && && && && && && && && && && && && && && &%代计数器增加
& & %获取每代的最优解及其序号,Y为最优解,I为个体的序号
& & =min(ObjV);
& & trace(1:N,gen)=X(I,:);& && && && && && && &&&%记下每代的最优值
& & trace(end,gen)=Y;& && && && && && && && && && & %记下每代的最优值
figure(1);
plot(1:MAXGEN,trace(end,:));
xlabel('遗传代数')
ylabel('误差的变化')
title('进化过程')
bestX=trace(1:end-1,end);
bestErr=trace(end,end);
%%。。。。。。。。。。。。。。。
%% 把 Bpfun 保存成单独的 M 文件
%%。。。。。。。。。。。。。。。
function err=Bpfun(x,P,T,hiddennum,P_test,T_test)
%% 训练&测试BP网络
inputnum=size(P,1);& && &
outputnum=size(T,1);& && &
net=newff(minmax(P),,{'tansig','logsig'},'trainlm');
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
net.trainParam.show=NaN;
w1num=inputnum*
w2num=outputnum*
w1=x(1:w1num);& &
B1=x(w1num+1:w1num+hiddennum);&&
w2=x(w1num+hiddennum+1:w1num+hiddennum+w2num);
B2=x(w1num+hiddennum+w2num+1:w1num+hiddennum+w2num+outputnum);
net.iw{1,1}=reshape(w1,hiddennum,inputnum);
net.lw{2,1}=reshape(w2,outputnum,hiddennum);
net.b{1}=reshape(B1,hiddennum,1);
net.b{2}=reshape(B2,outputnum,1);
net=train(net,P,T);
Y=sim(net,P_test);
err=norm(Y-T_test); : Originally posted by jswoo at
准备好给哥 100个金币吧:D:D:D:D:D 没问题,给200个都行。攒着这么多金币关键时刻能派上用场就行。 :)这个笑脸论坛有问题应该是“: )”符号 : Originally posted by jswoo at
:)这个笑脸论坛有问题应该是“: )”符号 BPfun这个函数需要通过set path加载到sheffield文件夹里吗? : Originally posted by groove7887 at
BPfun这个函数需要通过set path加载到sheffield文件夹里吗? 把那个函数令存为一个M文件,函数名用BPfun
这都是MATLAB基本的东西。 : Originally posted by jswoo at
把那个函数令存为一个M文件,函数名用BPfun
这都是MATLAB基本的东西。 保存后放在哪呢?放在D盘my documents下吗? 看你MATLAB 运行目录,
比如我的在D:\My Documents\MATLAB
就把 M 文件放里边。
到时候运行主函数就行 : Originally posted by jswoo at
看你MATLAB 运行目录,
比如我的在D:\My Documents\MATLAB
就把 M 文件放里边。
到时候运行主函数就行 兄弟,十分谢谢你花这么多时间帮我解决问题。 客气,你能调试出来用就行了。
用用就熟练了。
祝你写作顺利。 : Originally posted by jswoo at
你程序中又不少小错误,符号乱得很,看了个把小时。
基本可以用了
T=';&&% 输出
P_test='; % 测试样本
threshold=;
inputnum=size(P,1);& && & % 输入层神经元个数
outputnum= ... 为什么我还是运行不出来? 我把Bpfun和Objfun分别存成M文件,然后运行遗传算法主函数,可是运行结果总是出不来,
显示:Error in ==> Objfun at 5
& & Obj(i)=Bpfun(X(i,:),P,T,hiddennum,P_test,T_test);
Error in ==> Untitled at 31
ObjV=Objfun(X,P,T,hiddennum,P_test,T_test);%计算目标函数值 用这个模型能不能进行居住小区人居环境评价呢?本人 是初学者,望相助。 怎么还用保存M文件呢?不是直接运行吗?&&源码搜搜[中文],大家一起找最好的开源代码。
&&请提交您认为需要收录的源码网站。
遗传算法 bp神经网络遗传算法与BP神经网络工具包 收录时间: 资源分类:Matlab 工具:MATLAB 7.6 (R2008a) 遗传算法+BP神经网络工具包,可直接复制到matlab里面使用。 遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,标签:&评论:1条
wnn.rar - 利用遗传算法优化BP神经网络 即用遗传算法代替BP网络中的训练函数-The use of genetic algorithm to optimize BP neural network using genetic algorithms in place of BP network training function标签:matlab, AI-NN-PR&评论:0条
multi-ga.rar - 自己编的遗传算法同BP神经网络结合的代码!并且在神经网络模型上进行多目标寻优,结果有doc文档详细说明!实现BP-GA多目标优化应用实例!-Own genetic algorithm withmulti-ga.rar - 自己编的遗传算法同BP神经网络结合的代码!并且在神经网络模型上进行多目标寻优,结果有doc文档详细说明!实现BP-GA多目标优化应用实例!标签:matlab, AI-NN-PR&评论:0条
GA-bp.rar - 这是用matlab编写的用遗传算法优化神经网络的程序-using Matlab is prepared by using genetic algorithm optimization procedures for neural networks标签:matlab, AI-NN-PR&评论:0条
说明:用遗传算法优化bp神经网络权值系数.matlab 编程实现.标签:matlab&评论:0条
Matlab遗传算法优化的BP网络种群分类程序 收录时间: 资源分类:Matlab 遗传神经网络的Matlab代码。用遗传算法优化的BP网络进行值预测。通过迭代在种群中找最好的染色体并训练。标签:&评论:3条
说明:遗传算法优化BP神经网络的权值和阈值,进行预测标签:matlab&评论:0条
simplegeneticalgorit - 基于Matlab的简单遗传算法和简单bp网络的程序实现-based on Matlab simple genetic algorithms and simple bp Network Program标签:matlab, AI-NN-PR&评论:0条
说明:遗传算法优化bp神经网络 matlab程序标签:matlab&评论:0条
说明:这个是一个用matlab程序编写的,关于遗传算法和BP神经网络结合的程序,比较经典的标签:matlab&评论:0条
work.rar - 基于遗传算法和bp网络的简单人脸识别,只能识别三种表情。图像经过简单的小波变换处理-Bp networks based on genetic algorithm and a simple face recognition,标签:matlab, AI-NN-PR&评论:0条
bpycsf.rar - 关于简单遗传算法和简单bp网络的程序,其中的矩阵相乘速度很快,而且比较容易扩展,即任意多的输入,任意多的隐含层-on simple genetic algorithms and simple bp network procedures, which the matrix multiply very fast,标签:matlab, 其他项目&评论:0条
yichuansuanfa.rar - matlab 遗传算法 和bp网络的程序标签:matlab&评论:0条
Mybp539.rar - bp神经网络,实现bp神经网络的分类,用matlab语言编写-bp neural network, the realization of bp neural network classification, using matlab language标签:matlab, Others&评论:1条
2ndn.zip - 关于bp神经网络的源程序,对研究bp神经网络非常有帮助-bp on neural network source, the study bp neural network has been very helpful标签:matlab&评论:0条
说明:遗传算法程序包,包括用GA直接训练BP网络的权重算法,用GA先求BP网络的权重,再用纯BP直接训练BP的混合GA-BP算法,以及纯BP算法标签:matlab&评论:0条
oev.rar - 人工神经网络bp算法的matlab实现,对bp算法的matlab实现进行了简要的试探-realizing bp arithmetic of neural networks by matlab and exploring it simply标签:matlab, AI-NN-PR&评论:0条
说明:bp神经网络源码, NEWFF---生成一个新的前向神经网络
TRAIN-----对BP神经网络进行训练
SIM----对BP神经网络进行仿真
标签:matlab&评论:0条
说明:标准BP神经网络算法程序:动量BP算法程序:% 调用 TRAINGDX 算法训练 BP 网络
粒子群优化神经网络源程序标签:matlab&评论:0条
BP.rar - bp神经网络的源程序,很实用,很不错的!-bp neural network source code, very practical, very good!标签:matlab&评论:0条
CopyRight (&)
All Rights Reserved&遗传算法是如何与BP神经网络结合起来解决生产中的实际问题的(MATLAB)_百度知道
遗传算法是如何与BP神经网络结合起来解决生产中的实际问题的(MATLAB)
传算法和模拟退火算法分别是如何与BP网络结合起来解决生产实际问题的呀!!??最好有MATLAB源程序例子说明一下?
遗传算法是如何优化BP神经网络权重来解决实际问题???求一个这样的MATLAB程序并与没有用遗传算法优化权重的进行比较
我有更好的答案
//www.smte以前上学的时候用过不错的软件就是太复杂了。 http.net/Get/TECH//
你指的是利用GA来优化网络输出权重还是什么?去Matlab中文论坛看看吧
这个应该不难
先自学一下遗传算法和模拟退火法,然后在考虑如何与BP结合起来的,试一下吧!
其他类似问题
为您推荐:
您可能关注的推广
bp神经网络的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用遗传算法优化BP神经网络的Matlab编程实例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
用遗传算法优化BP神经网络的Matlab编程实例
关&#8203;于&#8203;m&#8203;a&#8203;t&#8203;l&#8203;a&#8203;b&#8203;环&#8203;境&#8203;下&#8203;遗&#8203;传&#8203;算&#8203;法&#8203;的&#8203;实&#8203;现&#8203;的&#8203;资&#8203;料&#8203;。&#8203;很&#8203;多&#8203;东&#8203;西&#8203;不&#8203;好&#8203;找&#8203;,&#8203;我&#8203;机&#8203;器&#8203;里&#8203;面&#8203;正&#8203;好&#8203;有&#8203;,&#8203;就&#8203;给&#8203;传&#8203;上&#8203;来&#8203;了&#8203;。
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于遗传算法的BP神经网络在多目标药物优化分析中的应用.pdf57页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:100 &&
基于遗传算法的BP神经网络在多目标药物优化分析中的应用.pdf
你可能关注的文档:
··········
··········
山西医科大学 硕士学位论文
基于遗传算法的BP神经网络在多目标药物优化分析中的应用 姓名:韩荣荣 申请学位级别:硕士 专业:流行病与卫生统计 指导教师:仇丽霞
山西医科大学硕士学位论文 基于遗传算法的 BP 神经网络在多目标 药物优化分析中的应用 中文摘要 在药学研究领域中存在着许多多因素、多水平的复杂优化问题。例如药物有效成分最
优提取条件确定、药物制备工艺条件的拟定等,由于影响的因素通常不止一个,所以设计
的方案也是多因素的,目前较常用的有正交设计、均匀设计等,然后再用多元回归来拟合
这些实验所得的数据
连续型数据 ,但是药学研究中得到的数据非常复杂并且试验数据有
限,这在多元回归建模过程中常存在一些问题。在优化过程中通常采用的是线性或非线性
规划,目前常用的是将多个目标加权转化为单目标进行优化,这样存在着较大的主观性,
并且加权系数无法确定。往往是在某一个目标上最优,而在另一个目标上可能是差的,不
能保证所有的目标都存在最优解,且只能提供唯一解,这是药学研究中一直备受关注的问
题。 近年来人工神经网络以其独特的模拟、学习、分类能力,在制剂设计、构效关系、体
内外相关研究、药物动力学和临床药学等方面得到了广泛的应用。它具有非线性能力强,
具有自组织、自适应、自学习能力,高度容错性和稳健性等特点,是药学研究中数据建模
的有力工具。在对多目标寻优方法中,遗传算法表现出了极大的优势,尤其是 NSGA 和
NSGA- Ⅱ算法是比较明显的。 本课题在介绍 BP
神经网络和非劣分类遗传算法的基础上,把这两种方法结合起来,
神经网络对药物提取数据
正在加载中,请稍后...

我要回帖

更多关于 多目标遗传算法 的文章

 

随机推荐