• 大小: 2KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-30
  • 语言: Matlab
  • 标签: 遗传算法  matlab  

资源简介

基于遗传算法的BP神经网络优化算法,MATLAB智能算法30个案例分析的例程,正确完整

资源截图

代码片段和文件信息

function err=Bpfun(xPThiddennumP_testT_test)
%% 训练&测试BP网络
%% 输入
% x:一个个体的初始权值和阈值
% P:训练样本输入
% T:训练样本输出
% hiddennum:隐含层神经元数
% P_test:测试样本输入
% T_test:测试样本期望输出
%% 输出
% err:预测样本的预测误差的范数

inputnum=size(P1);       % 输入层神经元个数
outputnum=size(T1);      % 输出层神经元个数
%% 新建BP网络
net=newff(minmax(P)[hiddennumoutputnum]{‘tansig‘‘logsig‘}‘trainlm‘);
%% 设置网络参数:训练次数为1000,训练目标为0.01,学习速率为0.1
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
net.trainParam.show=NaN;
% net.trainParam.showwindow=false;  %高版MATLAB
%% BP神经网络初始权值和阈值
w1num=inputnum*hiddennum; % 输入层到隐层的权值个数
w2num=outputnum*hiddennum;% 隐层到输出层的权值个数
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{11}=reshape(w1hiddennuminputnum);
net.lw{21}=reshape(w2outputnumhiddennum);
net.b{1}=reshape(B1hiddennum1);
net.b{2}=reshape(B2outputnum1);
%% 训练网络以
net=train(netPT);
%% 测试网络
Y=sim(netP_test);
err=norm(Y-T_test);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1282  2010-11-14 00:48  chapter3 基于遗传算法的BP神经网络优化算法\BPfun.m

     文件       1864  2011-03-31 19:30  chapter3 基于遗传算法的BP神经网络优化算法\callbackfun.m

     目录          0  2018-01-19 12:20  chapter3 基于遗传算法的BP神经网络优化算法

----------- ---------  ---------- -----  ----

                 3146                    3


评论

共有 条评论