Ⅰ 求助,用matlab中的BP神经网络函数,但没有trainglm
newff()这个函数是建立一个神经网络的函数,其中括号里面的参数含义依次是:输入数据和输出数据的范围,隐含层神经元个数,传递函数设置像BP网编程这块,需要先给出输入和期望输出的数据矩阵,然后newff函数建立网络,然后train函数训练网络,在这个训练中你需要设置一些训练目标和训练次数等参数,然后还有一个sim仿真函数,就是把新的样本数据做为输入,通过这个我们训练好的网络判断这个样本所属分类。因为我用BP网主要做的是分类的实验,所以就从分类这块给你说明了。学BP网络,我个人经验是需要把BP的正向输出和反向误差修改权值阈值这个学习过程,自己先手算明白,然后自己编程序实验,最后再用MATLAB的封装函数NEWFF这些,你会发现NEWFF和我们自己理解的训练过程还是有细微的差别的。
Ⅱ 用MATLAB的newrb函数建立的神经网络,怎么查看网络参数
newrb设计了径向基网络,调用格式:
net = newrb
[net,tr] = newrb(P,T,goal,spread,MN,DF)
P-Q组输入向量组成的R×Q维矩阵;
T-Q组目标分类向量组成的S×Q维矩阵;
goal-均方误差,默认值为0;
spread-径向基函数的扩展速度,默认值为1;
MN-神经元的最大数目,默认是Q
DF-两次显示之间所添加的神经元数目,默认值为25;
net-返回值,一个径向基网络;
tr-返回值,训练纪录。
Ⅲ 请问大神:函数拟合神经网络(fitnet)是BP神经网络吗在线等待中。
只能说BP神经网络具有拟合非线性函数的功能,属于一种函数拟合神经网络。
人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。
Ⅳ matlab 自带自组织神经网络工具箱么 为什么我找不到simuc这个函数 求高人解答唉
安装Matlab的时候没有选择 神经网络工具箱 吧!
重新安装一下,把它们选上!
Ⅳ 在搭建神经网络的时候,如何选择合适的转移函数(
一般来说,神经网络的激励函数有以下几种:阶跃函数 ,准线性函数,双曲正切函数,Sigmoid函数等等,其中sigmoid函数就是你所说的S型函数。以我看来,在你训练神经网络时,激励函数是不轻易换的,通常设置为S型函数。如果你的神经网络训练效果不好,应从你所选择的算法上和你的数据上找原因。算法上BP神经网络主要有自适应学习速率动量梯度下降反向传播算法(traingdx),Levenberg-Marquardt反向传播算法(trainlm)等等,我列出的这两种是最常用的,其中BP默认的是后一种。数据上,看看是不是有误差数据,如果有及其剔除,否则也会影响预测或识别的效果。
Ⅵ 神经网络经过训练后如何查看训练出来的函数matlab的
用net.iw{1,1}函数输出权值矩阵,按列求平均算出各个变量的权重。你去中国知网搜索
bp神经网络高等学校标准学费,记得是有这么的相关文献的!
Ⅶ BP神经网络中的训练函数如何选取
神经网络不同的网络有这不同的训练函数,BP神经网络有两种训练函数,trainbp(),利用BP算法训练前向神经网络。trainbpx(),利用快速BP算法训练前向神经网络,即采用了动量或自适应学习,可减少训练时间,tansig函数是神经元的传递函数,与训练函数无关,在trainbp()函数中含有要训练神经元的函数。
Ⅷ matlab中神经网络的学习函数有哪些类似learngdm的,及其调用格式
学习函数主要包括:BP学习规则learngd,带动量项的BP学习规则learngdm。一般默认即可,如果需要设置,则在建立网络newff函数的参数中确定。
学习函数和训练函数的区别:
学习函数的输出是权值和阈值的增量,训练函数的输出是训练好的网络和训练记录,在训练过程中训练函数不断调用学习函数修正权值和阈值,通过检测设定的训练步数或性能函数计算出的误差小于设定误差,来结束训练。
或者这么说:训练函数是全局调整权值和阈值,考虑的是整体误差的最小。学习函数是局部调整权值和阈值,考虑的是单个神经元误差的最小。
Ⅸ matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段
这样:
clear;
%输入数据矩阵
p1=zeros(1,1000);
p2=zeros(1,1000);
%填充数据
for i=1:1000
p1(i)=rand;
p2(i)=rand;
end
%输入层有两个,样本数为1000
p=[p1;p2];
%目标(输出)数据矩阵,待拟合的关系为简单的三角函数
t = cos(pi*p1)+sin(pi*p2);
%对训练集中的输入数据矩阵和目标数据矩阵进行归一化处理
[pn, inputStr] = mapminmax(p);
[tn, outputStr] = mapminmax(t);
%建立BP神经网络
net = newff(pn, tn, [200,10]);
%每10轮回显示一次结果
net.trainParam.show = 10;
%最大训练次数
net.trainParam.epochs = 5000;
%网络的学习速率
net.trainParam.lr = 0.05;
%训练网络所要达到的目标误差
net.trainParam.goal = 10^(-8);
%网络误差如果连续6次迭代都没变化,则matlab会默认终止训练。为了让程序继续运行,用以下命令取消这条设置
net.divideFcn = '';
%开始训练网络
net = train(net, pn, tn);
%训练完网络后要求网络的权值w和阈值b
%获取网络权值、阈值
netiw = net.iw;
netlw = net.lw;
netb = net.b;
w1 = net.iw{1,1}; %输入层到隐层1的权值
b1 = net.b{1} ; %输入层到隐层1的阈值
w2 = net.lw{2,1}; %隐层1到隐层2的权值
b2 = net.b{2} ; %隐层1到隐层2的阈值
w3 = net.lw{3,2}; %隐层2到输出层的权值
b3 = net.b{3} ;%隐层2到输出层的阈值
%在默认的训练函数下,拟合公式为,y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;
%用公式计算测试数据[x1;x2]的输出,输入要归一化,输出反归一化
in = mapminmax('apply',[x1;x2],inputStr);
y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;
y1=mapminmax('reverse',y,outputStr);
%用bp神经网络验证计算结果
out = sim(net,in);
out1=mapminmax('reverse',out,outputStr);
注意事项
一、训练函数
1、traingd
Name:Gradient descent backpropagation (梯度下降反向传播算法 )
Description:triangd is a network training function that updates weight and bias values according to gradient descent.
2、traingda
Name:Gradient descentwith adaptive learning rate backpropagation(自适应学习率的t梯度下降反向传播算法)
Description:triangd is a network training function that updates weight and bias values according to gradient descent with adaptive learning rate.it will return a trained net (net) and the trianing record (tr).
3、traingdx (newelm函数默认的训练函数)
name:Gradient descent with momentum and adaptive learning rate backpropagation(带动量的梯度下降的自适应学习率的反向传播算法)
Description:triangdx is a network training function that updates weight and bias values according to gradient descent momentumand an adaptive learning rate.it will return a trained net (net) and the trianing record (tr).
4、trainlm
Name:Levenberg-Marquardtbackpropagation(L-M反向传播算法)
Description:triangd is a network training function that updates weight and bias values according toLevenberg-Marquardt optimization.it will return a trained net (net) and the trianing record (tr).
注:更多的训练算法请用matlab的help命令查看。
二、学习函数
1、learngd
Name:Gradient descent weight and bias learning function(梯度下降的权值和阈值学习函数)
Description:learngd is the gradient descentweight and bias learning function, it willreturn theweight change dWand a new learning state.
2、learngdm
Name:Gradient descentwith momentumweight and bias learning function(带动量的梯度下降的权值和阈值学习函数)
Description:learngd is the gradient descentwith momentumweight and bias learning function, it willreturn the weight change dW and a new learning state.
注:更多的学习函数用matlab的help命令查看。
三、训练函数与学习函数的区别
函数的输出是权值和阈值的增量,训练函数的输出是训练好的网络和训练记录,在训练过程中训练函数不断调用学习函数修正权值和阈值,通过检测设定的训练步数或性能函数计算出的误差小于设定误差,来结束训练。
或者这么说:训练函数是全局调整权值和阈值,考虑的是整体误差的最小。学习函数是局部调整权值和阈值,考虑的是单个神经元误差的最小。
它的基本思想是学习过程由信号的正向传播与误差的反向传播两个过程组成。
正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。
反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。