在用bp神经网络时。我的数据一共有140组每组数据三个属性值。共有两类。请问在下面程序里哪些参数需要设置一下呢。
close all
clear
echo on
clc
% NEWFF——生成一个新的前向神经网络
% TRAIN——对 BP 神经网络进行训练
% SIM——对 BP 神经网络进行仿真
pause
% 敲任意键开始
clc
% 定义训练样本
% P 为输入矢量
P=[1250 1250 1250 1250 1250 1250 1250 1250 1255 1260 1050 1050 1050 1050 1050 1050 1050 900 700 500 375 250 220 152 120 100 100 95 95 100 102.5 105 107.5 110 112.5 115 117.5 120 110 100 60 40 40 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2060 2070 2080 2090 2100 2110 2120 2130 2140 2150 2160 2170 2180 2190 2200 2210 2220 2230 2240 2250 2255 2265 2275 2225 2160 2193 2212 2231 2250 2250 2240 2230 2220 2210 2200 2190 2180 2170 2160 2150 2100 2060 2030 2010 2000 2000 2030 2060 2090 2100 2110 2120 2140 2150 2160 2180 2192 2205 2217 2230 2230 2230 2230 2237 2242 2245 2248 2251 2255 2260
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 55 80 98 97 95.9 94.8 93.7 92.6 91.5 90.4 89.3 88.2 87.1 86 84.9 83.8 82.7 81.6 80.5 79.4 78.3 77.2 76.1 75 74 73 72 71 70 70 70 70 70 70 70 70 70 70 70 70 60 50 40 35 34.3 33.6 32.9 32.2 31.5 30.8 30.1 29.4 28.7 28 27.2 26.4 25.6 24.8 24 23.2 22.4 21.6 20.8 20 19 18 20 19 18 17 19 18.5 17.5 18 21 23 26 28 30 32 34 36 39 40 42 44 46 48 50 52 54 56 58 60 63 65 67 69 70 71 72 72.5 73 74 75 76 77 78 79 79.5 80 81.5 81
170 160 150 140 130 120 110 100 90 80 70 63 56 49 42 35 28 21 14 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 117 115.8 114.6 113.4 112.2 111 109.8 108.6 107.4 106.2 105 103.6 102.2 100.8 99.4 98 96.6 95.2 93.8 92.4 91 89.6 88.2 86.8 85.4 84 82.6 81.2 79.8 78.4 77 73.625 70.25 66.875 63.5 60.125 56.75 53.375 50 45 43.75 42.5 41.25 40 38.75 37.5 36.25 35 33.75 32.5 32.5 32.25 32 31.75 31.5 31.25 31 30.75 30.5 30.25 30 30.3 30.6 30.9 31.2 31.5 31.8 32.1 32.6 33];
% T 为目标矢量
T=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2];
pause;
clc
% 创建一个新的前向神经网络
net=newff(minmax(P),[140,1],{'tansig','purelin'},'traingdm')
% 当前输入层权值和阈值 : inputWeights:该属性定义了神经网络每组输入权值的属性,其属性值为 N×Ni 维的单元数组,其中 N
% 为网络的层数,Ni 为网络的输入个数。
inputWeights=net.IW{1,1}
inputbias=net.b{1}
% 当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
pause
clc
% 设置训练参数
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
pause
clc
% 调用 TRAINGDM 算法训练 BP 网络
[net,tr]=train(net,P,T);
pause
clc
% 对 BP 网络进行仿真
A = sim(net,P)
% 计算仿真误差
E = T - A
MSE=mse(E)
pause
clc
echo off