1 / 14
文档名称:

BP神经网络MATLAB编程代码.doc

格式:doc   大小:30KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

BP神经网络MATLAB编程代码.doc

上传人:文库旗舰店 2019/11/8 文件大小:30 KB

下载得到文件列表

BP神经网络MATLAB编程代码.doc

相关文档

文档介绍

文档介绍:BP神经网络的设计MATLAB编程例1采用动量梯度下降算法训练BP网络。训练样本定义如下:输入矢量为p=[-1-23 1-1 15-3]目标矢量为  t=[-1-111]解:本例的MATLAB程序如下:closeallclearechoonclc%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% =newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')% .IW{1,1}.b{1}% .LW{2,1}.b{2}pauseclc% .=.=0..=0..=.=1e-3;pauseclc% ,tr]=,P,T);pauseclc% 对BP网络进行仿真A=,P)% 计算仿真误差E=T-AMSE=mse(E)pauseclcechooff例2采用贝叶斯正则化算法提高BP网络的推广能力。在本例中,我们采用两种训练方法,即L-M优化算法(trainlm)和贝叶斯正则化算法(trainbr),用以训练BP网络,使其能够拟合某一附加有白噪声的正弦样本数据。其中,样本数据可以采用如下MATLAB语句生成:输入矢量:P=[-1::1];目标矢量:randn(’seed’,78341223);T=sin(2*pi*P)+*randn(size(P));解:本例的MATLAB程序如下:closeallclearechoonclc%NEWFF——生成一个新的前向神经网络%TRAIN——对BP神经网络进行训练%SIM——对BP神经网络进行仿真pause% 敲任意键开始clc% 定义训练样本矢量%P为输入矢量P=[-1::1];%T为目标矢量randn('seed',78341223);T=sin(2*pi*P)+*randn(size(P));% 绘制样本数据点plot(P,T,'+');echooffholdon;plot(P,sin(2*pi*P),':');% 绘制不含噪声的正弦曲线echoonclcpauseclc% =newff(minmax(P),[20,1],{'tansig','purelin'});pauseclcechooffclcdisp('1. L-M优化算法TRAINLM');disp('2. 贝叶斯正则化算法TRAINBR');choice=input('请选择训练算法(1,2):');figure(gcf);if(choice==1)echoonclc% 采用L-.='trainlm';pauseclc% .=.=1e-=);% 重新初始化pauseclcelseif(choice==2)echoonclc% .='trainbr';pauseclc% .=500;randn('seed',192736547);net=);% 重新初始化pauseclcend% ,tr]=,P,T);pauseclc% 对BP网络进行仿真A=,P);% 计算仿真误差E=T-A;MSE=mse(E)pauseclc% 绘制匹配结果曲线closeall;plot(P,A,P,T,'+',P,sin(2*pi*P),':');pause;clcechooff通过采用两种不同的训练算法,我们可以得到如图1和图2所示的两种拟合结果。图中的实线表示拟合曲线,虚线代表不含白噪声的正弦曲线,“+”点为含有白噪声的正弦样本数据点。显然,经trainlm函数训练后的神经网络对样本数据点实现了“过度匹配”,而经trainbr函数训练的神经网络对噪声不敏感,具有较好的推广能力。值得指出的是,在利用trainbr函数训练BP网络时,若训练结果收敛,通常会给出提示信息“Maximum MU reached”。此外,用户还可以根据SSE和SSW的大小变化情况来判断训练是否收敛:当SSE和SSW的值在经过若干步迭代后处于恒值时,则通常说明网络训练收敛,此时可以停止训练。观察trainbr函数训练BP网络的误差变化曲线,可见,当训练迭代至320步时,网络训练收敛,此时SSE和SSW均为恒值,当前有效网络的参数(有效权值和阈值)。例3采用“提前停止”方法提高BP网络的推广能力。对