net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
其中:PR —— R维输入元素的R×2阶最大最小值矩阵; Si —— 第i层神经元的个数,共N1层; TFi——第i层的转移函数,默认‘tansig’; BTF—— BP网络的训练函数,默认‘trainlm’ BLF—— BP权值/偏差学习函数,默认’learngdm’ PF ——性能函数,默认‘mse’;(误差)
e.g.
P = [0 1 2 3 4 5 6 7 8 9 10]T = [0 1 2 3 4 3 2 1 2 3 4]
net = newff([0 10],[5 1],{'tansig' 'purelin'})net.trainparam.show=50 %每次循环50次net.trainParam.epochs = 500 %最大循环500次
net.trainparam.goal=0.01 %期望目标误差最小值
net = train(net,P,T) %对网络进行反复训练
Y = sim(net,P)Figure % 打开另外一个图形窗口
plot(P,T,P,Y,'o')
load data3_1.txt[m,n]=size( data3_1)
tsx = data3_1(1:m-1,1)
tsx=tsx'
ts = data3_1(2:m,1)
ts=ts'
[TSX,TSXps]=mapminmax(tsx,1,2)
[TS,TSps]=mapminmax(ts,1,2)
TSX=TSX'
figure
plot(ts,'LineWidth',2)
title('到杭旅游总人数(1999.01.01-2009.12.31)','FontSize',12)
xlabel('统计年份(1990.12.19-2009.08.19)','FontSize',12)
ylabel('归一化后的总游客数/万人','FontSize',12)
grid on
% 生成BP网络、利用minmax函数求输入样本范围
net_1=newff(minmax(TS),[10,1],{'tansig','purelin'},'traincgf')
% 设置训练参数
net_1.trainParam.show = 50 %显示训练迭代过程(NaN表示不显示,缺省25)
net_1.trainParam.lr = 0.025%学习率(缺省0.01)
net_1.trainParam.mc = 0.9 %动量因子(缺省0.9)
net_1.trainParam.epochs = 10000%最大训练次数
net_1.trainParam.goal = 0.001 %训练要求精度
inputWeights=net_1.IW{1,1} %输入层权值
inputbias=net_1.b{1} %输入层阈值
layerWeights=net_1.LW{2,1} %输出层权值
layerbias=net_1.b{2} %输出层阈值
TS',TSX
% 网络训练
[net_1,tr]=train(net_1,TS,TSX)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)