matlab中的神经网络怎么用,matlab怎么搭建神经网络

怎样用matlab建立bp神经网络

net=train(net,p,t);把这句改成net=train(net,p',t');试试,matlab应该默认使用列向量。

或者直接使用matlab提供的图形界面取训练,在命令行输入nnstart。

谷歌人工智能写作项目:神经网络伪原创

(急)如何用MATLAB建立ANN(人工神经网络模型)?

问题描述:有两个自变量,一个因变量,10个样本(这里就取少一点好了)文案狗。用实际问题来表述,假设一个股票,开盘价x1,收盘价x2,第二天的股价y。

那用神经网络来预测的目的是,根据10天的开盘价和收盘价,来预测未来股价。

显然,这里的y与x1和x2相关,我们要训练一个网络(net)来让他尽可能的预测一个yMATLAB程序clcclearloaddatainputoutput%input就是包含了x1和x210天数据的矩阵,说白了就是20个数的矩阵。

output是y的一个向量,%10个数%需要自己找一些数据赋值给input和ouputP=input;T=output;%这里P和T必须是x1x2和y的行向量组合。

对于P,x1是行向量,x2是行向量。

P=[x1;x2];T=y.y是行向量Epochs=5000;NodeNum=12;TypeNum=1;TF1='logsig';TF2='purelin';%设置一些初始参数,Epochs是迭代上限次数,NodeNum是第一个隐藏层的神经元个数,%TypeNum是几层。

TF1和TF2分别定义了几个传递函数。

net=newff(minmax(P),[NodeNumTypeNum],{TF1TF2},'trainlm');%建立一个神经网络,训练输入和输出数据都有了,设置隐藏层的个数。

net.trainParam.epochs=Epochs;=1e-4;net.trainParam.min_grad=1e-4;=200;=inf;%设置一些训练时的参数,第一个是每次训练的最大迭代次数;net=train(net,P,T);%开始网络训练P_test=P;B_test=T;%就用原始的数据进行测试X=sim(net,P_test);%测试Erro=abs(B_test-X);sigma=std(Erro);%计算出预测值和实际值的误差,求出方差。

将来方差可以用来随机调整。

如何用matlab软件实现神经网络应用

给你一个实例,希望通过该例子对实现神经网络应用有一定的了解。

%x,y分别为输入和目标向量x=1:5;y=[639646642624652];%创建一个前馈网络net=newff(minmax(x),[20,1],{'tansig','purelin'});%仿真未经训练的网络net并画图y1=sim(net,x);plot(x,y1,':');%采用L-M优化算法net.trainFcn='trainlm';%设置训练算法net.trainParam.epochs=500;=10^(-6);%调用相应算法训练BP网络[net,tr,yy]=train(net,x,y);%对BP网络进行仿真y1=sim(net,x);%计算仿真误差E=y-y1;MSE=mse(E)holdon%绘制匹配结果曲线figure;plot(x,y1,'r*',x,y,'b--')执行结果。

怎样在matlab中建立elman神经网络?

t=1:20;p1=sin(t);p2=sin(t)*2;plot(t,p1,'r');holdonplot(t,p2,'b--');holdont1=ones(1,20);t2=ones(1,20)*2;%产生两组向量,分别为这两波形幅值,作为输出向量p=[p1p2p1p2];t=[t1t2t1t2];Pseq=con2seq(p);%将矩阵形式的训练样本转换为序列的形式Tseq=con2seq(t);R=1;%输入元素的数目为1S2=1;%输出曾的神经元个数为1S1=10;%中间层有10个神经元net=newelm([-2,2],[S1,S2],{'tansig','purelin'});net.trainParam.epochs=100;%设定次数net=train(net,Pseq,Tseq);y=sim(net,Pseq);%预测P=randn(12,2);T=randn(12,2);threshold=[01;01;01;01;01;01;01;01;01;01;01;01];a=[111723];fori=1:3net=newelm(threshold,[a(i),4],{'tansig','purelin'});net.trainParam.epochs=1000;net=init(net);net=train(net,P,T);y=sim(net,p_test);error(i,:)=y'-t;endholdoff;plot(1:4,error(1,:));holdon;plot(1:4,error(2,:),'-.');holdon;plot(1:4,error(3,:),'--');holdoff;。

如何在matlab建立cmac神经网络模块 20

昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,百度知道里倒是有一个,可以运行的,先贴着做标本%生成训练样本集clearall;clc;P=[1100.8072400.21511821.5;1102.8652400.11521212;1102.592400.11242411.5;2200.62400.31231821;22032400.32532111.5;1101.5622400.31531811.5;1100.5472400.3151921.5];01.3183000.11521812];T=[54248162787168380314797;28614639586963782898;86002402710644415328084;230802445102362823335913;602571278927675373541;346159353280762110049;56783172907164548144040];@907117437120368130179];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,[124],{'logsig','logsig'},'traingdx','learngdm');%建立BP神经网络,12个隐层神经元,4个输出神经元%tranferFcn属性'logsig'隐层采用Sigmoid传输函数%tranferFcn属性'logsig'输出层采用Sigmoid传输函数%trainFcn属性'traingdx'自适应调整学习速率附加动量因子梯度下降反向传播算法训练函数%learn属性'learngdm'附加动量因子的梯度下降学习函数net.trainParam.epochs=1000;%允许最大训练步数2000步=0.001;%训练目标最小误差0.001=10;%每间隔100步显示一次训练结果=0.05;%学习速率0.05bpnet=train(bpnet,P,T);%-------------------------------------------------------------------------p=[1101.3183000.11521812];p=p'/m;r=sim(bpnet,p);R=r'*n;display(R);运行的结果是出现这样的界面点击performance,trainingstate,以及regression分别出现下面的界面再搜索,发现可以通过神经网络工具箱来创建神经网络,比较友好的GUI界面,在输入命令里面输入nntool,就可以开始了。

点击import之后就出现下面的具体的设置神经网络参数的对话界面,这是输入输出数据的对话窗首先是训练数据的输入然后点击new,创建一个新的神经网络network1,并设置其输入输出数据,包括名称,神经网络的类型以及隐含层的层数和节点数,还有隐含层及输出层的训练函数等。

如何用matlab构建一个三层bp神经网络模型,用于预测温度。

第0节、引例本文以Fisher的Iris数据集作为神经网络程序的测试数据集。Iris数据集可以在找到。

这里简要介绍一下Iris数据集:有一批Iris花,已知这批Iris花可分为3个品种,现需要对其进行分类。不同品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度会有差异。

我们现有一批已知品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度的数据。一种解决方法是用已有的数据训练一个神经网络用作分类器。

如果你只想用C#或Matlab快速实现神经网络来解决你手头上的问题,或者已经了解神经网络基本原理,请直接跳到第二节——神经网络实现。

第一节、神经网络基本原理1.人工神经元(ArtificialNeuron)模型人工神经元是神经网络的基本元素,其原理可以用下图表示:图1.人工神经元模型图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值(threshold),或称为偏置(bias)。

则神经元i的输出与输入的关系表示为:图中yi表示神经元i的输出,函数f称为激活函数(ActivationFunction)或转移函数(TransferFunction),net称为净激活(netactivation)。

若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为:若用X表示输入向量,用W表示权重向量,即:X=[x0,x1,x2,.......,xn]则神经元的输出可以表示为向量相乘的形式:若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net为负,则称神经元处于抑制状态。

图1中的这种“阈值加权和”的神经元模型称为M-P模型(McCulloch-PittsModel),也称为神经网络的一个处理单元(PE,ProcessingElement)。

2.常用激活函数激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。

(1)线性函数(LinerFunction)(2)斜面函数(RampFunction)(3)阈值函数(ThresholdFunction)以上3个激活函数都属于线性函数,下面介绍两个常用的非线性激活函数。

(4)S形函数(SigmoidFunction)该函数的导函数:(5)双极S形函数该函数的导函数:S形函数与双极S形函数的图像如下:图3.S形函数与双极S形函数图像双极S形函数与S形函数主要区别在于函数的值域,双极S形函数值域是(-1,1),而S形函数值域是(0,1)。

由于S形函数与双极S形函数都是可导的(导函数是连续函数),因此适合用在BP神经网络中。(BP算法要求激活函数可导)具体。

matlab 实现神经网络 5

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值