% 采用贝叶斯正则化算法提高 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 all clc % P 为输入矢量 P = [-1:0
05:1]; % T 为目标矢量 T = sin(2*pi*P)+0
1*randn(size(P)); % 创建一个新的前向神经网络 net=newff(minmax(P),[20,1],{'tansig','purelin'}); disp('1
L-M 优化算法 TRAINLM'); disp('2
贝叶斯正则化算法 TRAINBR'); choice=input('请选择训练算法(1,2):'); if(choice==1) % 采用 L-M 优化算法 TRAINLM net
trainFcn='trainlm'; % 设置训练参数 net
trainParam
epochs = 500; net
trainParam
goal = 1e-6; % 重新初始化 net=init(net); pause; elseif(choice==2) % 采用贝叶斯正则化算法 TRAINBR net
trainFcn='trainbr'; % 设置训