神经网络拟合.docVIP

  • 3
  • 0
  • 约2.22千字
  • 约 3页
  • 2018-02-21 发布于河南
  • 举报
神经网络拟合

% BP 神经网络用于函数拟合 % 使用平台 - Matlab6.5 clc clear close all %--------------------------------------------------- % 产生训练样本与测试样本 P1 = 1:2:200; % 训练样本,每一列为一个样本 T1 = sin(P1*0.1); % 训练目标 P2 = 2:2:200; % 测试样本,每一列为一个样本 T2 = sin(P2*0.1); % 测试目标 %--------------------------------------------------- % 归一化 [PN1,minp,maxp,TN1,mint,maxt] = premnmx(P1,T1); PN2 = tramnmx(P2,minp,maxp); TN2 = tramnmx(T2,mint,maxt); %--------------------------------------------------- % 设置网络参数 NodeNum = 20; % 隐层节点数 TypeNum = 1; % 输出维数 TF1 = tansig;TF2 = purelin; % 判别函数(缺省值) %TF1 = tansig;TF2 = logsig; %TF1 = logsig;TF2 = purelin; %TF1 = tansig;TF2 = tansig; %TF1 = logsig;TF2 = logsig; %TF1 = purelin;TF2 = purelin; net = newff(minmax(PN1),[NodeNum TypeNum],{TF1 TF2}); %--------------------------------------------------- % 指定训练参数 % net.trainFcn = traingd; % 梯度下降算法 % net.trainFcn = traingdm; % 动量梯度下降算法 % % net.trainFcn = traingda; % 变学习率梯度下降算法 % net.trainFcn = traingdx; % 变学习率动量梯度下降算法 % % (大型网络的首选算法) % net.trainFcn = trainrp; % RPROP(弹性BP)算法,内存需求最小 % % 共轭梯度算法 % net.trainFcn = traincgf; % Fletcher-Reeves修正算法 % net.trainFcn = traincgp; % Polak-Ribiere修正算法,内存需求比Fletcher-Reeves修正算法略大 % net.trainFcn = traincgb; % Powell-Beal复位算法,内存需求比Polak-Ribiere修正算法略大 % (大型网络的首选算法) %net.trainFcn = trainscg; % Scaled Conjugate Gradient算法,内存需求与Fletcher-Reeves修正算法相同,计算量比上面三种算法都小很多 % % net.trainFcn = trainbfg; % Quasi-Newton Algorithms - BFGS Algorithm,计算量和内存需求均比共轭梯度算法大,但收敛比较快 % net.trainFcn = trainoss; % One Step Secant Algorithm,计算量和内存需求均比BFGS算法小,比共轭梯度算法略大 % % (中型网络的首选算法) net.trainFcn = trainlm; % Levenberg-Marquardt算法,内存需求最大,收敛速度最快 % % net.trainFcn = trainbr; % 贝叶斯正则化算法 % % 有代表性的五种算法为:traingdx,trainrp,trainscg,trainoss, trainlm %---------------------% net.trainParam.show = 20; % 训练显示间隔 net.trainParam.lr = 0.3; % 学习步长 - traingd,traingdm net.trainParam.mc = 0.95; % 动量项系数 - traingdm,traingdx net.trainParam.mem_reduc = 1; % 分块计算Hessian矩阵(仅对Levenberg-Marquardt算法有效) net.trainParam.epochs = 1000; % 最大训练次数 net.trainParam.goal =

文档评论(0)

1亿VIP精品文档

相关文档