• 2021-04-20 05:13:22

bp神经网络matlab实例(bp神经网络matlab实例).doc

bp神经网络matlab实例(bp神经网络matlab实例)Case 1 training BP network by momentum gradient descent algorithm.

Training samples are defined as follows:

Input vector as

P =[-1 -2 31

-1 15 -3]

The target vector is t = [-1 -1 1 1]

Solution: the MATLAB program of this example is as follows:

Close all

Clear

Echo on

CLC

% NEWFF - generating a new feedforward neural network

% TRAIN -- training BP neural network

% SIM -- Simulation of BP neural network

Pause

Start by hitting any key

CLC

Percent defines training samples

% P as input vector

P=[-1, -2, 3, 1; -1, 1, 5, -3];

% T is the target vector

T=[-1, -1, 1, 1];

Pause;

CLC

% create a new feedforward neural network

Net=newff (minmax (P), [3,1], {'tansig','purelin'},'traingdm')

The current input layer weights and thresholds

InputWeights=net.IW{1,1}

Inputbias=net.b{1}

The current network layer weights and thresholds

LayerWeights=net.LW{2,1}

Layerbias=net.b{2}

Pause

CLC

% set training parameters

Net.trainParam.show = 50;

Net.trainParam.lr = 0.05;

Net.trainParam.mc = 0.9;

Net.trainParam.epochs = 1000;

Net.trainParam.goal = 1e-3;

Pause

CLC

% call TRAINGDM algorithm to train BP network

[net, tr]=train (net, P, T);

Pause

CLC

Simulation of BP network by%

A = sim (net, P)

Calculate the simulation error

E = T - A

MSE=mse (E)

Pause

CLC

Echo off

Example 2 adopts Bayesian regularization algorithm to improve the generalization ability of BP network. In this case, we used two kinds of training methods, namely L-M algorithm (trainlm) and the Bias regularization algorithm (trainbr), is used to train the BP network, so that it can fit attached to a white noise sine sample data. Among them, the sample data can be generated as follows MATLAB statements:

Input vector: P = [-1:0.05:1];

Target vector: randn ('seed',;

T = sin (2*pi*P) +0.1*randn (size (P));

Solution: the MATLAB program of this example is as follows:

Close all

Clear

Echo on

CLC

% NEWFF - generating a new feedforward neural network

% TRAIN -- training BP neural network

% SIM -- Simulati

更多相关内容
• matlab变形的BP神经网络实例，代码简单易懂，不用积分。方便下载。我花了几天时间写的，注释详细。
• BP神经网络matlab实例(简单而经典).pdf
• BP神经网络matlab实例(简单而经典).rar
• 基于matlabBP神经网络讲解！实例，简单而经典！！！！！
• BP神经网络Matlab实例.doc
• BP神经网络matlab实例(简单而经典).zip
• bp神经网络matlab实例 采用 Matlab 工具箱函数建立神经网络，对一些基本的神经网络参数进行了说明，深入了解参考 Matlab 帮助文档。实例一% 例 1 采用动量梯度下降算法训练 BP 网络。 % 训练样本定义如下： % 输入...

bp神经网络matlab实例

采用 Matlab 工具箱函数建立神经网络，对一些基本的神经网络参数进行了说明，深入了解参考 Matlab 帮助文档。实例一% 例 1 采用动量梯度下降算法训练 BP 网络。 % 训练样本定义如下： % 输入矢量为 % p =[-1 -2 3 1; -1 1 5 -3] % 目标矢量为 t = [-1 -1 1 1] close all clear clc % ---------------------------------------------------------------% NEWFF——生成一个新的前向神经网络,函数格式：% net = newff(PR,[S1 S2.SNl],{TF1 TF2.TFNl},BTF,BLF,PF) ,% PR -- R x 2 matrix of min and max values for R elements% (对于 R 维输入，PR 是一个 R x 2 的矩阵，每一行是相应输入的边界值)% Si -- 第 i 层的维数% TFi -- 第 i 层的传递函数, default = tansig % BTF -- 反向传播网络的训练函数, default = traingdx % BLF -- 反向传播网络的权值/阈值学习函数, default = learngdm % PF -- 性能函数, default = mse % ---------------------------------------------------------------% TRAIN——对 BP 神经网络进行训练，函数格式：% [net,tr,Y]=train(NET,P,T,Pi,Ai,VV,TV)，输入参数：% net -- 所建立的网络% P -- 网络的输入% T -- 网络的目标值, default = zeros% Pi -- 初始输入延迟, default = zeros% Ai -- 初始网络层延迟, default = zeros% VV -- 验证向量的结构, default = []% TV -- 测试向量的结构, default = []% 返回值：% net -- 训练之后的网络% TR -- 训练记录(训练次数及每次训练的误差)% Y -- 网络输出% E -- 网络误差% Pf -- 最终输入延迟% Af -- 最终网络层延迟% ---------------------------------------------------------------% SIM——对 BP 神经网络进行仿真，函数格式：% [Y,Pf,Af,E,perf] = sim(net,P,PiAi,T)% 参数与前同。% ---------------------------------------------------------------% % 定义训练样本 % P 为输入矢量 echo onP=[-1, -2, 3, 1;-1, 1, 5, -3]; % T 为目标矢量 T=[-1, -1, 1, 1]; % 创建一个新的前向神经网络 net=newff(minmax(P),[3,1],{ tansig , purelin }, traingdm ) % ---------------------------------------------------------------% 训练函数：traingdm，功能：以动量 BP 算法修正神经网络的权值和阈值。% 它的相关特性包括：% epochs：训练的次数，默认：100% goal：误差性能目标值，默认：0% lr：学习率，默认：0.01% max_fail：确认样本进行仿真时，最大的失败次数，默认：5% mc：动量因子，默认：0.9% min_grad：最小梯度值，默认：1e-10% show：显示的间隔次数，默认：25% time：训练的最长时间，默认：inf% ---------------------------------------------------------------% 当前输入层权值和阈值 Weights=net.IW{1,1} bias=net.b{1} % 当前网络层权值和阈值 layerWeights=net.LW{2,1} layerbias=net.b{2} % 设置网络的训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 1000; net.trainParam.goal = 1e-3; % 调用 TRAINGDM 算法训练 BP 网络 [net,tr]=train(net,P,T); % 对 BP 网络进行仿真 A = sim(net,P) % 计算仿真误差 E = T - A MSE=mse(E) echo offfigure;plot((1:4),T, -* ,(1:4),A, -o )实例 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 all clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本矢量 % P 为输入矢量 P = [-1:0.05:1]; % T 为目标矢量 randn( seed ,78341223); 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=( 请选择训练算法(1,2): ); if(choice==1)% 采用 L-M 优化算法 TRAINLM net.trainFcn= trainlm ; % 设置训练参数 net.trainParam.epochs = 500; net.trainParam.

展开全文
• BP神经网络Matlab实例.pdf
• BP神经网络Matlab实例BP神经网络Matlab实例BP神经网络Matlab实例BP神经网络Matlab实例BP神经网络Matlab实例BP神经网络Matlab实例BP神经网络Matlab实例
• BP神经网络matlab实例(简单而经典) 含案例讲解介绍及源代码 共10页.pdf
• 数学建模-BP神经网络matlab实例.zip
• BP神经网络matlab实例简单而经典.doc
• BP神经网络matlab实例(简单而经典).docx
• BP神经网络matlab实例(简单而经典)(20211001050828).pdf
• MATLAB神经网络与实例精解（陈明著）第6章例6.1程序基于BP神经网络的性别识别是学习BP神经网络的经典程序
• 学习神经网络的好助手可以仿照其中的代码只需修改个别参数便可以轻易实现自己需要完成的任务 p p 1;t t 1; [pn,minp,maxp,tn,mint,maxt] premnmx(p,t; %原始数据归一化 net newff(minmax(pn,[5,1], {'tansig'purelin...
• 神经网络介绍，算法实现过程，matlab代码
• （1）构建一个3层BP神经网络，输入层节点数为1个，隐含层节点数为3个，隐含层的激活函数为‘transig’，输出层节点数为1个，输出层的激活函数为‘logsig’。 （2）采用贝叶斯正则化算法‘trainbr’训练神经网络，...

题：采用贝叶斯正则化算法提高BP网络的推广能力。用来训练BP网络，使其能够拟合某一附加有白噪声的正弦样本数据。

解：仿真结果如下：
（1）构建一个3层BP神经网络，输入层节点数为1个，隐含层节点数为3个，隐含层的激活函数为‘transig’，输出层节点数为1个，输出层的激活函数为‘logsig’。
（2）采用贝叶斯正则化算法‘trainbr’训练神经网络，目标误差goal=1*10^-3，
学习率lr=0.05，最大迭代次数epochs=500，拟合附加有白噪声的样本数据，拟合数据均方差为0.0054.

源程序：

clear all;
close all;
clc;
%% 定义训练样本矢量%%
P = [-1:0.05:1]; %输入矢量
T = sin(2*pi*P)+0.1*randn(size(P));%目标矢量
figure %绘制
plot(P,T,'+');
hold on
plot(P,sin(2*pi*P),':')
net = newff(minmax(P),[20,1],20);
net.trainFcn = 'trainbr' ; %训练方法是贝叶斯函数
net.trainParam.show = 50; %显示中间结果的周期
net.trainParam.lr = 0.05; %学习率0.05
net.trainParam.epochs = 500; %迭代次数500
net.trainParam.goal = 1e-3; %目标误差
[net,tr] = train(net,P,T)；%训练BP网络
A = sim(net,P)；%开始仿真
E = T-A; %误差
MSE=mse(E);,
plot(P,A,P,T,'+',P,sin(2*pi*P),':');
legend('样本点','标准正弦曲线','拟合正弦曲线')


最终结果

展开全文

...

matlab 订阅