导航:首页 > 五金知识 > matlab工具箱bp神经网络

matlab工具箱bp神经网络

发布时间:2022-07-13 02:49:16

Ⅰ matlab bp神经网络工具箱怎么用

%% 训练集/测试集产来生
% 训练源集——用于训练网络
P_train = ;%输入集
T_train = ;%输出集
% 测试集——用于测试或者使用。
P_test = ;%输入
T_test ;
N = size(P_test,2);

%% BP神经网络创建、训练及仿真测试

% 创建网络
net = newff(P_train,T_train,9);
% 设置训练参数
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
net.trainParam.lr = 0.01;
% 训练网络
net = train(net,P_train,T_train);
% 仿真测试、使用。
T_test = sim(net,P_test);%得到结果。

Ⅱ 关于matlab的BP神经网络:

比较新的版本,比如说matlab 2010以上的,都不需要装神经网络的工具箱
建立网络步骤:
1、数据归一化:输入的数据通常为P,输出数据通常为T,数据格式为:每列对应一个样本,归一化常用函数:mapminmax
[pn,ps]=mapminmax(p); [tn,ts]=mapminmax(t)
pn,tn是归一化后的数据,ps, ts是归一化的结构体,在后面反归一化预测值很有用。
2、建立网络并设定参数
net=newff(pn,tn,[ ]) 中括号里面的是输入层数,隐含神经元数,输出层数,还可以设定节点传递函数等等的参数
net.trainparam.epochs=1000 训练的次数
net.trainparam.goal=0.0001 训练的误差目标值
net.trainparam.lr=0.1 学习速率,通常在0到1之间,过大过小都不好
3、预测并分析
an=sim(net, pn)
ouput=mapminmax('reverse', an, ts) 根据之前归一化的标准,对预测结果进行反归一化,得到结果
error=output-t 这里是对误差进行输出,也可以用error=sum(asb(output-t))
当然也可以作图,比如说:
plot(p,t,'-o')
hold on
plot(p, output,'-*')
看预测值和真实值能否吻合
还可以在神经网络训练完成后的对话框中看MSE和R方
还有很多方法提高神经网络的精度,以上程序没有经过MATLAB调试,但大致过程如上

纯手打,希望采纳!

Ⅲ 如何用MATLAB神经网络工具箱创建BP神经网络模型

1. 常用的前馈型BP网络的转移函数有logsig,tansig,有时也会用到线性函数purelin。当网络的最后一层采用曲线函数时,输出被限制在一个很小的范围内,如果采用线性函数则输出可为任意值。以上三个函数是BP网络中最常用到的函数,但是如果需要的话你也可以创建其他可微的转移函数。
2. 在BP网络中,转移函数可求导是非常重要的,tansig、logsig和purelin都有对应的导函数dtansig、dlogsig和dpurelin。为了得到更多转移函数的导函数,可以带字符"deriv"的转移函数:tansig('deriv')

Ⅳ bp神经网络matlab工具箱里每次是重新算还是迭代

每次都是重新建立网络,重新设置随机初始权值,重新训练,所以每次的内训练结果都不相同。而且样本容每次代入的顺序可能也是不一样的,所以训练的过程也不同。如果你是做仿真,可以多进行几次,选较好一些的结果。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

Ⅳ matlab中bp神经网络的工具箱怎么用,不要matlab程序,就工具箱怎么实现问题的解决

matlab中神经网络的工具箱:输入nntool,就会弹出一个对话框,然后你就可以根据弹出框的指示来操作。

Ⅵ 1.如何用MATLAB神经网络工具箱创建BP神经网络模型具体有哪些步骤请高手举实例详细解释下 2.如何把输

%人脸识别模型,脸部模型自己找吧。
function mytest()

clc;
images=[ ];
M_train=3;%表示人脸
N_train=5;%表示方向
sample=[];
pixel_value=[];
sample_number=0;

for j=1:N_train
for i=1:M_train
str=strcat('Images\',num2str(i),'_',num2str(j),'.bmp'); %读取图像,连接字符串形成图像的文件名。
img= imread(str);
[rows cols]= size(img);%获得图像的行和列值。
img_edge=edge(img,'Sobel');

%由于在分割图片中我们可以看到这个人脸的眼睛部分也就是位于分割后的第二行中,位置变化比较大,而且眼睛边缘检测效果很好

sub_rows=floor(rows/6);%最接近的最小整数,分成6行
sub_cols=floor(cols/8);%最接近的最小整数,分成8列
sample_num=M_train*N_train;%前5个是第一幅人脸的5个角度

sample_number=sample_number+1;
for subblock_i=1:8 %因为这还在i,j的循环中,所以不可以用i
block_num=subblock_i;
pixel_value(sample_number,block_num)=0;
for ii=sub_rows:(2*sub_rows)
for jj=(subblock_i-1)*sub_cols+1:subblock_i*sub_cols
pixel_value(sample_number,block_num)=pixel_value(sample_number,block_num)+img_edge(ii,jj);
end
end
end
end
end
%将特征值转换为小于1的值
max_pixel_value=max(pixel_value);
max_pixel_value_1=max(max_pixel_value);
for i=1:3
mid_value=10^i;
if(((max_pixel_value_1/mid_value)>1)&&((max_pixel_value_1/mid_value)<10))
multiple_num=1/mid_value;
pixel_value=pixel_value*multiple_num;
break;
end
end

% T 为目标矢量
t=zeros(3,sample_number);
%因为有五类,所以至少用3个数表示,5介于2的2次方和2的3次方之间
for i=1:sample_number
% if((mod(i,5)==1)||(mod(i,5)==4)||(mod(i,5)==0))
if(i<=3)||((i>9)&&(i<=12))||((i>12)&&(i<=15))
t(1,i)=1;
end
%if((mod(i,5)==2)||(mod(i,5)==4))
if((i>3)&&(i<=6))||((i>9)&&(i<=12))
t(2,i)=1;
end
%if((mod(i,5)==3)||(mod(i,5)==0))
if((i>6)&&(i<=9))||((i>12)&&(i<=15))
t(3,i)=1;
end
end

% NEWFF——生成一个新的前向神经网络
% TRAIN——对 BP 神经网络进行训练
% SIM——对 BP 神经网络进行仿真

% 定义训练样本
% P 为输入矢量
P=pixel_value'
% T 为目标矢量
T=t
size(P)
size(T)
% size(P)
% size(T)

% 创建一个新的前向神经网络
net_1=newff(minmax(P),[10,3],{'tansig','purelin'},'traingdm')

% 当前输入层权值和阈值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
% 当前网络层权值和阈值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}

% 设置训练参数
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;

% 调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);

% 对 BP 网络进行仿真
A = sim(net_1,P);
% 计算仿真误差
E = T - A;
MSE=mse(E)

x=[0.14 0 1 1 0 1 1 1.2]';
sim(net_1,x)

Ⅶ bp神经网络算法 在matlab中的实现

BP神经网络是最基本、最常用的神经网络,Matlab有专用函数来建立、训练它,主要就是newff()、train()、sim()这三个函数,当然其他如归一化函数mapminmax()、其他net的参数设定(lr、goal等)设置好,就可以通过对历史数据的学习进行预测。附件是一个最基本的预测实例,本来是电力负荷预测的实例,但具有通用性,你仔细看看就明白了。

Ⅷ matlab BP神经网络 performance 图这五条线的详细解释

横纵坐标不用说了,图上三条有颜色的实线分别是:BP训练过程的MSE指标在每一代中的表现,BP交叉验证过程的MSE指标在每一代中的表现,BP测试过程的MSE指标在每一代中的表现。尤其你要注意那条TEST红线,那是你的BP计算/训练结果。
BEST虚线说明BP网络训练到第八代的时候BP训练结果最理想。
GOAL虚线是你编程或者直接用的MATLAB的ANN工具箱去训练这个BP时,设置的网络训练停止目标(之一)。

Ⅸ 如何用MATLAB的神经网络工具箱实现三层BP网络

使用神经网络工具箱可以非常简便地实现网络建立和训练,实例代码如下:

%%BP算法
functionOut=bpnet(p,t,p_test)
%p,t为样本需要提前组织好
globalS1
net=newff(minmax(p),[S1,8],{'tansig','purelin'},'trainlm');%trainlm训练函数最有效
%net=newff(P,T,31,{'tansig','purelin'},'trainlm');%新版用法
net.trainParam.epochs=1000;
net.trainParam.goal=0.00001;
net.trainParam.lr=0.01;
net.trainParam.showWindow=false;%阻止训练窗口的弹出
net.trainParam.showCommandLine=false;%阻止训练窗口的弹出
net=train(net,p,t);
Out=sim(net,p_test);
end

上面的代码不完整,完整的带训练样本数据的程序见附件。

阅读全文

与matlab工具箱bp神经网络相关的资料

热点内容
steam令牌换设备了怎么办 浏览:246
新生测听力仪器怎么看结果 浏览:224
化学试验排水集气法的实验装置 浏览:156
家用水泵轴承位置漏水怎么回事 浏览:131
羊水镜设备多少钱一台 浏览:125
机械制图里型钢如何表示 浏览:19
测定空气中氧气含量实验装置如图所示 浏览:718
超声波换能器等级怎么分 浏览:800
3万轴承是什么意思 浏览:110
鑫旺五金制品厂 浏览:861
苏州四通阀制冷配件一般加多少 浏览:153
江北全套健身器材哪里有 浏览:106
水表阀门不开怎么办 浏览:109
花冠仪表盘怎么显示时速 浏览:106
洗砂机多少钱一台18沃力机械 浏览:489
超声波碎石用什么材料 浏览:607
组装实验室制取二氧化碳的简易装置的方法 浏览:165
怎么知道天然气充不了阀门关闭 浏览:902
公司卖旧设备挂什么科目 浏览:544
尚叶五金机电 浏览:59