bp1.m
来自「轧制力拟合程序 基本思想是线性方程加BP补偿」· M 代码 · 共 50 行
M
50 行
clc;
clear;
load xunlianx.txt; % 加载训练样本和检验样本
load xunliany.txt;
PP=xunlianx';
TT=xunliany';
echo on
[pn,minp,maxp,tn,mint,maxt]=premnmx(PP,TT);%prestd把数据归一化为单位方差和零均值
%使得归一化后的输入和目标数据均服从正态分布,以提高训练效率.
%创建一个新的前向神经网络
JJ=18;
net=newff(minmax(pn),[JJ,1],{'tansig','purelin'},'trainlm');
%可用L-M优化算法trainlm代替traingdm函数,收敛速度明显优于动量梯度下降法,且得到更小的误差。
net.performFcn='sse'; % 设置训练函数为sse(平方和误差函数)
net.trainParam.show = 50; %两次显示之间的训练次数
net.trainParam.lr = 0.05; %学习速率
net.trainParam.lr_inc = 1.05; %学习速率增长比例因子
net.trainParam.lr_dec = 0.7; %学习速率下降比例因子
net.trainParam.epochs =400; %训练次数
net.trainParam.goal = 10e-3; %网络训练目标mse=9.5238e-004
net.trainParam.mc = 0.95; %动量常数
net.trainParam.min_grad = 1.0e-4; %性能函数的最小梯度
%调用TRAINGDM算法训练BP神经网络
%[net,tr]=train(net,pn,tn);
net = train(net,pn,tn);
echo off
save netRF net;
load net;
load xunlianx.txt; % 加载训练样本和检验样本
load xunliany.txt;
PP=xunlianx';
TT=xunliany';
[pn,minp,maxp,tn,mint,maxt]=premnmx(PP,TT);%prestd把数据归一化为单位方差和零均值
A1=sim(net,pn);
[a] = postmnmx(A1,mint,maxt);
[m,b,r] = postreg(a,TT);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?