📄 bp.m
字号:
%采用动量梯度下降算法训练BP网络。close allclearecho onclc%NEWFF---生成一个新的前向神经网络%TRAIN---对BP神经网络进行训练%SIM---对BP神经网络进行仿真pause %敲任意键开始clc%定义训练样本%P为输入矢量P=[-1,-2,3,1;-1,1,5,-3];%T为目标矢量T=[-1,-1,1,1];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}layerbias=net.b{2}pauseclc%设置训练参数net.trainParam.show=50;net.trainParam.lr=0.05net.trainParam.mc=0.9net.trainParam.epochs=1000;net.trainParam.goal=1e-3;pauseclc% 调用TRAINGDM算法训练BP网络[net,tr]=train(net,P,T);pauseclc%对BP网络进行仿真A=sim(net,P)%计算仿真误差E=T-AMSE=mse(E)pauseclcecho off%下面是本程序某次训练结果。图中给出了相应的误差变化曲线,可见当训练至第568步时,网络性能达标
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -