bp.m

来自「一段用bp训练网络并拟合的源代码。 可以直接编译运行」· M 代码 · 共 43 行

M
43
字号
close all
clear
echo on
clc
pause
clc
P=[-1,-2,3,1;-1,1,5,-3];%P为输入矢量
T=[-1,-1,1,1];   %T为目标矢量
pause;
clc
%创建一个新的前向神经网络
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm');
%当前输入层权值和阈值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerWeihts=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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?