导航:首页 > 五金知识 > Matlab神经网络工具箱输出结婚

Matlab神经网络工具箱输出结婚

发布时间:2022-06-08 16:01:37

1. 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)Matlab神经网络工具箱输出结婚扩展阅读:

注意事项

一、训练函数

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命令查看。

三、训练函数与学习函数的区别

函数的输出是权值和阈值的增量,训练函数的输出是训练好的网络和训练记录,在训练过程中训练函数不断调用学习函数修正权值和阈值,通过检测设定的训练步数或性能函数计算出的误差小于设定误差,来结束训练。

或者这么说:训练函数是全局调整权值和阈值,考虑的是整体误差的最小。学习函数是局部调整权值和阈值,考虑的是单个神经元误差的最小。

它的基本思想是学习过程由信号的正向传播与误差的反向传播两个过程组成。

正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。

反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。

2. 如何使用matlab神经网络工具箱

为了看懂师兄的文章中使用的方法,研究了一下神经网络
昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,网络知道里倒是有一个,可以运行的,先贴着做标本

% 生成训练样本集
clear all;
clc;
P=[110 0.807 240 0.2 15 1 18 2 1.5;
110 2.865 240 0.1 15 2 12 1 2;
110 2.59 240 0.1 12 4 24 1 1.5;
220 0.6 240 0.3 12 3 18 2 1;
220 3 240 0.3 25 3 21 1 1.5;
110 1.562 240 0.3 15 3 18 1 1.5;
110 0.547 240 0.3 15 1 9 2 1.5];
0 1.318 300 0.1 15 2 18 1 2];
T=[54248 162787 168380 314797;
28614 63958 69637 82898;
86002 402710 644415 328084;
230802 445102 362823 335913;
60257 127892 76753 73541;
34615 93532 80762 110049;
56783 172907 164548 144040];
@907 117437 120368 130179];
m=max(max(P));
n=max(max(T));
P=P'/m;
T=T'/n;
%-------------------------------------------------------------------------%
pr(1:9,1)=0; %输入矢量的取值范围矩阵
pr(1:9,2)=1;
bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, 'traingdx', 'learngdm');
%建立BP神经网络, 12个隐层神经元,4个输出神经元
%tranferFcn属性 'logsig' 隐层采用Sigmoid传输函数
%tranferFcn属性 'logsig' 输出层采用Sigmoid传输函数
%trainFcn属性 'traingdx' 自适应调整学习速率附加动量因子梯度下降反向传播算法训练函数
%learn属性 'learngdm' 附加动量因子的梯度下降学习函数
net.trainParam.epochs=1000;%允许最大训练步数2000步
net.trainParam.goal=0.001; %训练目标最小误差0.001
net.trainParam.show=10; %每间隔100步显示一次训练结果
net.trainParam.lr=0.05; %学习速率0.05
bpnet=train(bpnet,P,T);
%-------------------------------------------------------------------------
p=[110 1.318 300 0.1 15 2 18 1 2];
p=p'/m;
r=sim(bpnet,p);
R=r'*n;
display(R);

运行的结果是出现这样的界面

点击performance,training state,以及regression分别出现下面的界面

再搜索,发现可以通过神经网络工具箱来创建神经网络,比较友好的GUI界面,在输入命令里面输入nntool,就可以开始了。

点击import之后就出现下面的具体的设置神经网络参数的对话界面,
这是输入输出数据的对话窗

首先是训练数据的输入

然后点击new,创建一个新的神经网络network1,并设置其输入输出数据,包括名称,神经网络的类型以及隐含层的层数和节点数,还有隐含层及输出层的训练函数等

点击view,可以看到这是神经网络的可视化直观表达

创建好了一个network之后,点击open,可以看到一个神经网络训练,优化等的对话框,选择了输入输出数据后,点击train,神经网络开始训练,如右下方的图,可以显示动态结果

3. matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段

神经网络训练出来的是权值矩阵
我想你是想在matlab外用训练好的神经网络
首先你要在外部实现神内经网络算法
之后你把神容经网络训练出来的权值矩阵读取到你在外部实现的神经网络算法中
然后你就可以使用这个神经网络了

4. matlab神经网络工具箱怎么输出得到函数代码段

神经网络训练出来的是权值矩阵,我想你是想在matlab外用训练好的神经网络。首先你要在外部实现神经网络算法,之后你把神经网络训练出来的权值矩阵读取到你在外部实现的神经网络算法中,然后你就可以使用这个神经网络了。

5. 使用MATLAB神经网络工具箱时,在创建过程中中无法选择输出层的神经元数

节点数根据你的训练样本自动确认,如果你的输出样本只有一维,则输出节点数内为1.
建议你不要用这个容工具,直接使用函数newff建立网络。老版newff函数的格式为:
net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函数newff建立一个可训练的前馈网络。输入参数说明:
PR:Rx2的矩阵以定义R个输入向量的最小值和最大值;
Si:第i层神经元个数;
TFi:第i层的传递函数,默认函数为tansig函数;
BTF:训练函数,默认函数为trainlm函数;
BLF:权值/阀值学习函数,默认函数为learngdm函数;
PF:性能函数,默认函数为mse函数。

6. matlab神经网络工具箱问题

线性神经网络的构建:
net=newlin(PR,S,ID,LR)
PR--Rx2阶矩阵,R个输入元素的最小最大矩阵
S---输出层神经元个数
ID--输入延迟向量,默认值为[0]
IR--学习率,默认值为0.01

net = newlin([-1 1;-1 1],1); 表示设计的是一个双输入单输出线性神经网络
P = [1 2 2 3; 2 1 3 1];表示输入样本有四个,每一列就是一个输入样本
又比如假设我们期望的输出为 T=[1 2 3 4],则一个简单的神经网络如下:

>>net = newlin([-1 1;-1 1],1);%创建初始网络
P=[1 2 2 3; 2 1 3 1]%输入
T=[1 2 3 4]%期望的输出
net=newlind(P,T);%用输入和期望训练网络
Y=sim(net,P)%仿真,可以看到仿真结果Y和期望输出T的接近程度
P =
1 2 2 3
2 1 3 1
T =
1 2 3 4
Y =
0.8889 2.1667 3.0556 3.8889

楼主可以从《matlab神经网络与应用(第二版)》董长虹 开始入门神经网络的matlab实现

参考资料:《matlab神经网络与应用(第二版)》

7. matlab的神经网络工具箱怎么用

1.神经网络
神经网络是单个并行处理元素的集合,我们从生物学神经系统得到启发。在自然界,网络功能主要由神经节决定,我们可以通过改变连接点的权重来训练神经网络完成特定的功能。
一般的神经网络都是可调节的,或者说可训练的,这样一个特定的输入便可得到要求的输出。如下图所示。这里,网络根据输出和目标的比较而调整,直到网络输出和目标匹配。作为典型,许多输入/目标对应的方法已被用在有监督模式中来训练神经网络。
神经网络已经在各个领域中应用,以实现各种复杂的功能。这些领域包括:模式识别、鉴定、分类、语音、翻译和控制系统。
如今神经网络能够用来解决常规计算腿四岩越饩龅奈侍狻N颐侵饕ü飧龉ぞ呦淅唇⑹痉兜纳窬缦低常⒂τ玫焦こ獭⒔鹑诤推渌导氏钅恐腥ァ?BR>一般普遍使用有监督训练方法,但是也能够通过无监督的训练方法或者直接设计得到其他的神经网络。无监督网络可以被应用在数据组的辨别上。一些线形网络和Hopfield网络是直接设计的。总的来说,有各种各样的设计和学习方法来增强用户的选择。
神经网络领域已经有50年的历史了,但是实际的应用却是在最近15年里,如今神经网络仍快速发展着。因此,它显然不同与控制系统和最优化系统领域,它们的术语、数学理论和设计过程都已牢固的建立和应用了好多年。我们没有把神经网络工具箱仅看作一个能正常运行的建好的处理轮廓。我们宁愿希望它能成为一个有用的工业、教育和研究工具,一个能够帮助用户找到什么能够做什么不能做的工具,一个能够帮助发展和拓宽神经网络领域的工具。因为这个领域和它的材料是如此新,这个工具箱将给我们解释处理过程,讲述怎样运用它们,并且举例说明它们的成功和失败。我们相信要成功和满意的使用这个工具箱,对范例和它们的应用的理解是很重要的,并且如果没有这些说明那么用户的埋怨和质询就会把我们淹没。所以如果我们包括了大量的说明性材料,请保持耐心。我们希望这些材料能对你有帮助。
这个章节在开始使用神经网络工具箱时包括了一些注释,它也描述了新的图形用户接口和新的运算法则和体系结构,并且它解释了工具箱为了使用模块化网络对象描述而增强的机动性。最后这一章给出了一个神经网络实际应用的列表并增加了一个新的文本--神经网络设计。这本书介绍了神经网络的理论和它们的设计和应用,并给出了相当可观的MATLAB和神经网络工具箱的使用。

2.准备工作
基本章节
第一章是神经网络的基本介绍,第二章包括了由工具箱指定的有关网络结构和符号的基本材料以及建立神经网络的一些基本函数,例如new、init、adapt和train。第三章以反向传播网络为例讲解了反向传播网络的原理和应用的基本过程。
帮助和安装
神经网络工具箱包含在nnet目录中,键入help nnet可得到帮助主题。
工具箱包含了许多示例。每一个

8. matlab神经网络多输入单输出问题

首先:你的想法(199个数作为输入,1个数作为输出)是没什么问题,但是你的输入矩阵为199*n,你的n=1,表明你的样本只有一个,这样一个孤立的样本作为训练样本没什么意义;

其次:姑且不谈你的样本意义,需要跟你说明的是,matlab神经网络工具箱是以一列为一个样本,而你的B=minmax(input')使得B为1*199的矩阵,显然不对,最好加上B=B';
最后:[net,tr]=train(net,input,output,[],[]);中的参数为三个也行,改为net=train(net,input,output);
上面所述是按旧版本来的。
下面是我修改的程序,matlab版本R2012b,你的是旧版本的matlab,所以newff用法跟新的略有不同:
clear
p=1:0.05:11-0.05;
t=(p-1).*(p-2).*(p-4).*(p-9).*(p-11);
N=length(p);
input=t(1:199)';
output=t(200);
ptest=t(2:200)';

% B=minmax(input');
net = newff(input,output,[20 6],{'tansig' 'tansig' 'purelin'},'traingdx','learngdm');
[net,tr]=train(net,input ,output);
a=sim(net,ptest');

9. matlab的神经网络工具箱问题

线性神经网络的构建:
net=newlin(PR,S,ID,LR)
PR--Rx2阶矩阵,R个输入元素的最小最大矩阵
S---输出层神经元个数
ID--输入延迟向量,默认值为[0]
IR--学习率,默认值为0.01

net = newlin([-1 1;-1 1],1); 表示设计的是一个双输入单输出线性神经网络
P = [1 2 2 3; 2 1 3 1];表示输入样本有四个,每一列就是一个输入样本
又比如假设我们期望的输出为 T=[1 2 3 4],则一个简单的神经网络如下:

>>net = newlin([-1 1;-1 1],1);%创建初始网络
P=[1 2 2 3; 2 1 3 1]%输入
T=[1 2 3 4]%期望的输出
net=newlind(P,T);%用输入和期望训练网络
Y=sim(net,P)%仿真,可以看到仿真结果Y和期望输出T的接近程度
P =
1 2 2 3
2 1 3 1
T =
1 2 3 4
Y =
0.8889 2.1667 3.0556 3.8889

楼主可以从《matlab神经网络与应用(第二版)》董长虹 开始入门神经网络的matlab实现

参考资料:《matlab神经网络与应用(第二版)》

阅读全文

与Matlab神经网络工具箱输出结婚相关的资料

热点内容
暖气阀门一字原理 浏览:715
罗茨风机启动时进气阀门 浏览:831
阀门类精铸件怎么样 浏览:297
甩手工具箱手机详情 浏览:971
机车齿轮传动装置的分类和比较 浏览:437
温度自动检定装置 浏览:93
为什么机械数 浏览:437
铸造工厂韩语怎么说 浏览:124
恒丰电动工具是哪个厂代工的 浏览:527
消防高位水箱设自动补水装置 浏览:952
喷淋管道阀门一般在哪 浏览:458
北欧之里管道阀门 浏览:43
中山市台正数控机床厂怎么样 浏览:258
暖气阀门装1个可以吗 浏览:884
西湖5立方煤气阀门 浏览:432
碳和浓硫酸反应的实验装置 浏览:743
酒精灯加什么仪器好 浏览:143
机械报验要哪些材料 浏览:112
加工中心减压阀门怎么接 浏览:466
室外暧气管道阀门给水和回水阀都要打开吗 浏览:345