1. 首页 > 笙耀百科 >

matlab构建神经网络_matlab神经网络能做什么

matlab编程问题,建立BP神经网络

%采用动量梯度下降算法训练 BP 网络。

matlab构建神经网络_matlab神经网络能做什么matlab构建神经网络_matlab神经网络能做什么


close all

clear

echo on

clc

% NEWFF——生成一个新的前向神经网络

% TRAIN——对 BP 神经网络进行训练

% SIM——对 BP 神经网络进行仿真

pause

% 敲任意键开始

clc

% 定义训练样本

% P 为输入矢量 pau

P=[-1,-2,3,1;-1,1,5,-3];

% T 为目标矢量

T=[-1, -1, 1, 1];

pause;

clc

% 创建一个新的前向神经网络

minmax(P)

net=newff(minmax(P),[3,1],{'tansig''purelin'},'traingdm');

% minmax(P)取值范围是P内的小值到值 [3,1]是3个神经元 1维 tansig purelin traingdm各层神经网络的激励函数

% tansig purelin隐含层更改权值的函数 当前输入层权值和阈值

inputWeights=net.IW{1,1};

inputbias=net.b{1};

% 当前网络层权值和阈值

layerWeights=net.LW{2,1};

layerbias=net.b{2};

%表示对各层神经网络的权值与阈值传递到相应变量

pause

clc

% 设置训练参数

net.trainParam.show = 50; %训练显示间隔 50次显示一次

net.trainParam.lr = 0.05; %学习步长0.05学习率

net.trainParam.mc = 0.9; %动量项系数0.9

net.trainParam.epochs = 1000; %训练次数1000次

net.trainParam.goal = 1e-3; %训练精度目标为0.001

pause

clc

% 调用 traingdm 算法训练 BP 网络

[net,tr]=train(net,P,T);%调用网络指令

pause

clc

% 对 BP 网络进行仿真

A=sim(net,P)

% 计算仿真误

E=T-A

MSE=mse(E)

pause

clc

echo off

提示什么错误

可以做用matlab建立BP神经网络吗

可以。利用函数newff和train。简单的设置方法

P = [2,1,4,5,3,9]; %Y

T = [1:6]; %X

net = newff(minmax(P),[5 1],{'tansig' 'purelin'}); %newff(a,b,c)

%a:输入特征范围

%b:n-1个隐藏层的大小,S1到S(n-1),默认值为[]。(输出层大小S由T确定)

%c:转移函数

net = train(net,P,T); %训练

Y = sim(net , T); %输出结果

手打望采纳

完全可以,里面有神经网络模块。

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

问题描述:

有两个自变量,一个因变量,10个样本(这里就取少一点好了)。用实际问题来表述,假设一个股票,开盘价 x1,收盘价 x2,第二天的股价 y。 那用神经网络来预测的目的是,根据10天的开盘价和收盘价,来预测未来股价。显然,这里的y与x1和x2相关,我们要训练一个网络(net)来让他尽可能的预测一个y

MATLAB程序

clc

clear

load data input output

%input就是包含了x1和x2 10天数据的矩阵,说白了就是20个数的矩阵。output是y的一个向量,%10个数

%需要自己找一些数据赋值给input和ouput

P=input;

T=output;

%这里P和T必须是 x1 x2和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),[NodeNum TypeNum],{TF1 TF2},'trainlm');

%建立一个神经网络,训练输入和输出数据都有了,设置隐藏层的个数。

net.trainParam.epochs=Epochs;

net.trainParam.goal=1e-4;

net.trainParam.min_grad=1e-4;

net.trainParam.show=200;

net.trainParam.time=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编写BP神经网络程序

matlab编写BP神经网络很方便的,这个工作不用像编程序的C什么的那样还要编写算法。这个算法早已经在软件的库里提供了。你只要用一条语句就出来了。把参数,深度和节点固定的往里一代数就可以了。还有一点,注意后结果的收敛性,神经网络发展一直是曲折前进的,为什么这样,现在不太给力,因为面临着一个收敛的问题,实现起来效果不好。这些程序网上有很多,你借一本基本的神经网络的书里面也有。望采纳。

如何用matlab做神经网络结构图

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

%x,y分别为输入和目标向量

x=1:5;

y=[639 646 642 624 652];

%创建一个前馈网络

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;net.trainParam.goal=10^(-6);

%调用相应算法训练BP网络

[net,tr,]=train(net,x,y);

%对BP网络进行仿真

y1=sim(net,x);

%计算仿真误

E=y-y1;MSE=mse(E)

hold on

%绘制匹配结果曲线

figure;

plot(x,y1,'r',x,y,'b--')

执行结果

关于构建一个三层BP神经网络对品的销售进行预测(程序由matlab编写)

clear all;

close all;

clc;

%p = [2056 2395 2600 2298 1634 1600 1837 1478 1900 2395 2600 2298 1634 1600 1873 1478 1900 1500 2600 2298 1634 1600 1873 1478 1900 1500 2046];

t = [1873 1478 1900 1500 2046 1556];

p = [ 2056 2395 2600 2298 1634 1600];

%--归一化输入输出-- 映射到[0,1]--%

pmax = max(p);

pmin = min(p);

P = (p-pmin)./(pmax-pmin);

tmax = max(t);

tmin = min(t);

T = (t-tmin)./(tmax-tmin);

net =newff(P,T,5,{'tansig','purelin'},'traingdx');

%--设置训练参数--%

net.trainParam.show =50;

net.trainParam.lr = 0.05;

net.trainParam.epochs = 1000;

net.trainParam.goal = 1e-3;

net.divideFcn= '';

[net,tr] = train(net,P,T);

A =sim(net,P);

a =A.(tmax - tmin)+tmin;

x = 7:12;

figure

plot(x,t,'+');

hold on;

plot(x,a,'or');

hold off;

xlabel('month');

ylabel('')

legend('实际','预测')

MATLAB神经网络编程的内容

《MATLAB神经网络编程》结合神经网络的概念、理论和应用,以MATLAB为平台,系统地介绍了神经网络工具箱中的前向型神经网络、局部型神经网络、反馈型神经网络、竞争型神经网络、神经网络控制的综合应用、神经网络在Simulink中的应用、神经网络的模糊控制及其自定义网络等内容。《MATLAB神经网络编程》重点是运用MATLAB神经网络工具箱介绍神经网络分析研究中的各种概念、理论、方法、算法及其实现。《MATLAB神经网络编程》内容安排合理,理论结合实际,同时作者列举了其总结的大量应用实例。《MATLAB神经网络编程》讲述的各种统计理论和方法浅显易懂,并均能在实际生活中找到应用对象。《MATLAB神经网络编程》可以作为广大在校本科生和研究生的学习用书,也可以作为广大科研人员、学者、工程技术人员的参考用书。

matlab中,建立bp神经网络时,把所有数据划分成train和test集?

一般情况下,train,test,validation这三条曲线是通过将训练数据集随机划分出三份子集得到的,train是用来训练模型的部分,test用来测试模型的表现,而validation用来验证模型的性能。通过试错法判断不同隐含层节点数下的误时,一般看的是模型在验证数据集上的表现,选取误小的节点数,作为模型佳参数。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息