1 / 18
文档名称:

BP神经网络.doc

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

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

分享

预览

BP神经网络.doc

上传人:rabbitco 2016/1/3 文件大小:0 KB

下载得到文件列表

BP神经网络.doc

相关文档

文档介绍

文档介绍:例1采用动量梯度下降算法训练BP网络。训练样本定义如下:输入矢量为p=[-1-231-115-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('-M优化算法TRAINLM');disp('');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网络时,若训练结果收敛,通常会给出提示信息“MaximumMUreached”。此外,用户还可以根据SSE和SSW的大小变化情况来判断训练是否收敛:当SSE和SSW的值在经过若干步迭代后处于恒值时,则通常说明网络训练收敛,此时可以停止训练。观察trainbr函数训练BP网络的误差变化曲线,可见,当训练迭代至320步时,网络训练收敛,此时SSE和SSW均为恒值,当前有效网络的参数(有效权值和阈值)。例3采用“提前停止”方法提高BP网络的推广能力。对于和例2相同的问题,在本例中我们将采用训练函数traingdx和“提前停止”相结合的方法来训练BP网络,以提高BP网络的推广能