|
在43个案例分析一书中,第3章遗传算法优化BP神经网络的Genetic.m文件中:
种群初始化之前的程序为:
%% 网络结构建立
%读取数据
load data input output
%节点个数
inputnum=2;
hiddennum=5;
outputnum=1;
%训练数据和预测数据
input_train=input(1:1900, ';
input_test=input(1901:2000, ';
output_train=output(1:1900)';
output_test=output(1901:2000)';
%样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%构建网络
net=newff(inputn,outputn,hiddennum);
%% 遗传算法参数初始化
maxgen=20; %进化代数,即迭代次数
sizepop=10; %种群规模
pcross=[0.2]; %交叉概率选择,0和1之间
pmutation=[0.1]; %变异概率选择,0和1之间
%节点总数
numsum=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;
lenchrom=ones(1,numsum);
bound=[-3*ones(numsum,1) 3*ones(numsum,1)]; %数据范围
标红的这两行程序不明白什么意思?我的初步理解是:
lenchrom=ones(1,numsum); %形成一个1行21(numsum值)列的lenchrom矩阵
bound=[-3*ones(numsum,1) 3*ones(numsum,1)]; 这句话不明白,数据范围是指x1和x2的范围吗?
请明白人指点!谢谢!
|
|