matlab里面的新版newff函数数怎么回事

求助 关于matlab2012中newff的问题_百度知道
求助 关于matlab2012中newff的问题
对程序的运行有没有影响;create_network at 127
In newff at 102
See help for NEWFF to update calls to the new argument list.”如果这样的话:“Warning. &gt: NEWFF use In obs_use at 18
In newff&gt?BP网络到底成功建成了没有在matlab2012中用到newff这个函数每次运用都会出现
我有更好的答案
但是还能够使用BP网络建立成功了。这个意思是newff函数已经过时。没影响
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁MATLAB神经网络工具箱newff()函数相关问题,谢谢~~_百度知道
MATLAB神经网络工具箱newff()函数相关问题,谢谢~~
是吗,请问从S1开始就是第一个隐含层的神经元个数,是吗...运用这个函数就不用写关于传输函数.参数中[S1.BTF这个参数是否就是训练函数3.请问这个函数是否根据参数自动计算更新权值和计算delta函数2、训练函数等代码、delta函数?输入层的个数不在这里设置,S2?4.SN]代表各层的神经元的个数1
提问者采纳
bias learning function,PF)
PR -- R x 2 matrix of min and max values for R input elements
Si -- Size of ith layer,{TF1 TF2;
PF -- Performance function,S2.是个人建议去MATLAB中文论坛下载视频教程;mse答, default = &#39,
default = &#39.TFNl};traingdx'tansig&#39.是2...SN]代表隐含层和输出层的数目4newff(PR;learngdm&#39, default = &#39,BLF.是.,[S1, for Nl layers
TFi -- Transfer f
BTF -- Backpropagation network training function..SNl]:【我这几天也在学习……】1..是3.,BTF;
BLF -- Backpropagation weight&#47,
default = &#39,[S1 S2
提问者评价
谢谢您~~~我最近在做神经网络PID方面的东西,可以的话一起研究研究~~~我邮箱
其他类似问题
为您推荐:
神经网络的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁新版Matlab中神经网络训练函数Newff的使用方法
新版Matlab中神经网络训练函数Newff的使用方法
介绍新版newff
newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl},
BTF,BLF,PF,IPF,OPF,DDF)
Description
newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl},
BTF,BLF,PF,IPF,OPF,DDF) takes several arguments
R x Q1 matrix of Q1 sample R-element input
SN x Q2 matrix of Q2 sample SN-element
target vectors
Size of ith layer, for N-1 layers, default
(Output layer size SN is determined from T.)
Transfer function of ith layer. (Default =
'tansig' for
hidden layers and 'purelin' for output layer.)
Backpropagation network training function
(default = 'trainlm')
Backpropagation weight/bias learning
function (default = 'learngdm')
Row cell array of input processing
functions. (Default =
{'fixunknowns','removeconstantrows','mapminmax'})
Row cell array of output processing
functions. (Default =
{'removeconstantrows','mapminmax'})
Data divison function (default =
'dividerand')
problem consisting of inputs P and targets T to be solved with a
P = [0 1 2 3 4 5
6 7 8 9 10];T = [0 1 2 3 4 3 2 1 2 3 4];
Here a network is created
with one hidden layer of five neurons.
newff(P,T,5);
The network is simulated and
its output plotted against the targets.
sim(net,P);plot(P,T,P,Y,'o')
The network is trained for
50 epochs. Again the network's output is plotted.
net.trainParam.epochs = 50;net = train(net,P,T);Y =
sim(net,P);plot(P,T,P,Y,'o')
新版newff与旧版newff调用语法对比
比如输入input(6*1000),输出output为(4*1000),那么
旧版定义:net=newff(minmax(input),[14,4],{'tansig','purelin'},'trainlm');
新版定义:net=newff(input,output,14,{'tansig','purelin'},'trainlm');
比如输入input(6*1000),输出output为(4*1000),那么
旧版定义:net=newff(minmax(input),[49,14,4],{'tansig','tansig','tansig'},'traingdx');
新版定义:net=newff(input,output, [49,14],
{'tansig','tansig','tansig'},'traingdx');
旧版newff使用方法在新版本中使用
提示:旧版本定义的newff虽也能在新版本中使用,但会有警告,警告如下:
Warning: NEWFF used in an obsolete way.
& In obs_use at 18
&&In newff&create_network at
&&In newff at 102
&& & See help
for NEWFF to update calls to the new argument
新版newff与旧版newff使用的训练效果对比
&旧版本:旧用法训练次数多,但精度高&&
新版本:新用法训练次数少,但精度可能达不到要求
造成上述原因是:
程序里面的权值、阈值的初始值是随机赋值的,所以每次运行的结果都会不一样,有好有坏。你可以把预测效果不错的网络的权值和阈值作为初始值。具体可以查看net.iw{1,1}、net.lw{2,1}、net.b{1}、net.b{2}的值。
现在给一个完整的例子
&%% 清空环境变量
%% 训练数据预测数据
data=importdata('test.txt');
%从1到768间随机排序
k=rand(1,768);
[m,n]=sort(k);
%输入输出数据
input=data(:,1:8);
=data(:,9);&
%随机提取500个样本为训练样本,268个样本为预测样本
input_train=input(n(1:500),:)';
output_train=output(n(1:500),:)';
input_test=input(n(501:768),:)';
output_test=output(n(501:768),:)';&
%输入数据归一化
[inputn,inputps]=mapminmax(input_train);&
%% BP网络训练
% %初始化网络结构
net=newff(inputn,output_train,10);&
net.trainParam.epochs=1000;
net.trainParam.lr=0.1;
net.trainParam.goal=0.0000004;
%% 网络训练
net=train(net,inputn,output_train);&
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);&
%网络预测输出
BPoutput=sim(net,inputn_test);&
%% 结果分析
%根据网络输出找出数据属于哪类
BPoutput(find(BPoutput&0.5))=0;
BPoutput(find(BPoutput&=0.5))=1;&
%% 结果分析
%画出预测种类和实际种类的分类图
plot(BPoutput,'og')
plot(output_test,'r*');
legend('预测类别','输出类别')
title('BP网络预测分类与实际类别比对','fontsize',12)
ylabel('类别标签','fontsize',12)
xlabel('样本数目','fontsize',12)
ylim([-0.5
%预测正确率
rightnumber=0;
i=1:size(output_test,2)
if BPoutput(i)==output_test(i)
rightnumber=rightnumber+1;
rightratio=rightnumber/size(output_test,2)*100;
sprintf('测试准确率=%0.2f',rightratio)
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Matlab工具箱中的BP与RBF函数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Matlab工具箱中的BP与RBF函数
上传于||暂无简介
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩13页未读,继续阅读
你可能喜欢matlab BP神经网络出错 newff参数 隐含层 怎么确定_百度知道
matlab BP神经网络出错 newff参数 隐含层 怎么确定
设[P,T]是训练样本,[X,Y]是测试样本;net=newrb(P,T,err_goal,spread); %建立网络q=sim(net,p);e=q-T;plot(p,q); %画训练误差曲线q=sim(net,X);e=q-Y;plot(X,q); %画测试误差曲线训练前馈网络的第一步是建立网络对象。函数newff建立一个可训练的前馈网络。这需要4个输入参数。第一个参数是一个Rx2的矩阵以定义R个输入向量的最小值和最大值。第二个参数是一个设定每层神经元个数的数组。第三个参数是包含每层用到的传递函数名称的细胞数组。最后一个参数是用到的训练函数的名称。举个例子,下面命令将创建一个二层网络。它的输入是两个元素的向量,第一层有三个神经元(3),第二层有一个神经元(1)。第一层的传递函数是tan-sigmoid,输出层的传递函数是linear。输入向量的第一个元素的范围是-1到2[-1 2],输入向量的第二个元素的范围是0到5[0 5],训练函数是traingd。  net=newff([-1 2; 0 5],[3,1],{'tansig','purelin'},'traingd');这个命令建立了网络对象并且初始化了网络权重和偏置,因此网络就可以进行训练了。我们可能要多次重新初始化权重或者进行自定义的初始化。下面就是初始化的详细步骤。  在训练前馈网络之前,权重和偏置必须被初始化。初始化权重和偏置的工作用命令init来实现。这个函数接收网络对象并初始化权重和偏置后返回网络对象。下面就是网络如何初始化的:  net = init(net);  我们可以通过设定网络参数net.initFcn和net.layer{i}.initFcn这一技巧来初始化一个给定的网络。net.initFcn用来决定整个网络的初始化函数。前馈网络的缺省值为initlay,它允许每一层用单独的初始化函数。设定了net.initFcn ,那么参数net.layer{i}.initFcn 也要设定用来决定每一层的初始化函数。  对前馈网络来说,有两种不同的初始化方式经常被用到:initwb和initnw。initwb函数根据每一层自己的初始化参数(net.inputWeights{i,j}.initFcn)初始化权重矩阵和偏置。前馈网络的初始化权重通常设为rands,它使权重在-1到1之间随机取值。这种方式经常用在转换函数是线性函数时。initnw通常用于转换函数是曲线函数。它根据Nguyen和Widrow[NgWi90]为层产生初始权重和偏置值,使得每层神经元的活动区域能大致平坦的分布在输入空间。
其他类似问题
为您推荐:
提问者采纳
3;n-1或L=log2(n)取整或L&lt.3也可,每一层之间的传递函数也是要不断变换着用来调出符合目标的最佳组合;sqrt(m-n)+a (这里的n是上一层节点数,BP神经网络的隐层数,你好。2,输出后的误差标准选取也是影响很大.1-0,a是1-10任意常数),学习率,各隐层的节点数都是要不断的调节的。隐层节点数 L&lt。4,lr也是要调整的参数,不过有一个一般性的范围。你这里的这个组合是比较好的,m是下一层节点数1,不过一般0
提问者评价
其他1条回答
1],双隐含层就是有两个隐含层,26,这样网络就是双隐含层,比如你的网络参数写为:根号(输入神经元个数+输出神元个数) ,隐含层神经元最小个数大体估算为,否则会导致网络根本无法训练隐含层节点个数不能取的太小:[26
bp神经网络的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 matlab中的newff 的文章

 

随机推荐