MATLAB 程序代码-—bp 神经网络应用举例1 BP 神经网络的设计实例 例 1 采纳动量梯度下降算法训练 BP 网络. 训练样本定义如下: 输入矢量为 p =[—1 —2 3 1 —1 1 5 -3] 目标矢量为 t = [—1 —1 1 1] 解:本例的 MATLAB 程序如下: close all clear echo on clc % 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} pause clc % 设置训练参数 net。trainParam.show = 50; %两次显示之间的训练次数,缺省值为 25 net.trainParam.lr = 0.05;%学习速率 net.trainParam。mc = 0.9; %动量常数设置,缺省就是 0。9 net。trainParam。epochs = 1000; %训练次数,缺省值为 100 net。trainParam。goal = 1e—3; %网络性能目标,缺省值为 0 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 例 2 采纳贝叶斯正则化算法提高 BP 网络的推广能力.在本例中,我们采纳两种训练方法,即 L-M 优化算法(trainlm)和贝叶斯正则化算法(trainbr),用以训练 BP 网络,使其能够拟合某一附加有白噪声的正弦样本数据。其中,样本数据可以采纳如下 MATLAB 语句生成: 输入矢量:P = [-1:0。05:1]; 目标矢量:randn(’seed’,78341223); T = sin(2*pi*P)+0。1*randn(size(P)); 解:本例的 MATLAB 程序如下: close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN-—对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 pause % 敲任意键开始 clc % 定义训练样本矢量 % P 为输入矢量 P = [—1:0。05:1]; % T ...