如何利用matlab进行神经网络预测

2024-05-19 12:25

1. 如何利用matlab进行神经网络预测

matlab 带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子。
核心调用语句如下:
%数据输入
 
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,[8 8]);
net.trainParam.epochs=100;
net.trainParam.lr=0.01;
net.trainParam.goal=0.01;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
 %网络预测输出
an=sim(net,inputn_test);
 %网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
%% 结果分析

如何利用matlab进行神经网络预测

2. matlab中用RBF神经网络做预测的代码怎么写

clc;
clearall;
closeall;
%%----BuildatrainingsetofasimilarversionofXOR
c_1=[00];
c_2=[11];
c_3=[01];
c_4=[10];
n_L1=20;%numberoflabel1
n_L2=20;%numberoflabel2
A=zeros(n_L1*2,3);
A(:,3)=1;
B=zeros(n_L2*2,3);
B(:,3)=0;
%createrandompoints
fori=1:n_L1
A(i,1:2)=c_1+rand(1,2)/2;
A(i+n_L1,1:2)=c_2+rand(1,2)/2;
end
fori=1:n_L2
B(i,1:2)=c_3+rand(1,2)/2;
B(i+n_L2,1:2)=c_4+rand(1,2)/2;
end
%showpoints
scatter(A(:,1),A(:,2),[],'r');
holdon
scatter(B(:,1),B(:,2),[],'g');
X=[A;B];
data=X(:,1:2);
label=X(:,3);
%%Usingkmeanstofindcintervector
n_center_vec=10;
rng(1);
[idx,C]=kmeans(data,n_center_vec);
holdon
scatter(C(:,1),C(:,2),'b','LineWidth',2);
%%Calulatesigma
n_data=size(X,1);
%calculateK
K=zeros(n_center_vec,1);
fori=1:n_center_vec
K(i)=numel(find(idx==i));
end
%UsingknnsearchtofindKnearestneighborpointsforeachcentervector
%thencalucatesigma
sigma=zeros(n_center_vec,1);
fori=1:n_center_vec
[n,d]=knnsearch(data,C(i,:),'k',K(i));
L2=(bsxfun(@minus,data(n,:),C(i,:)).^2);
L2=sum(L2(:));
sigma(i)=sqrt(1/K(i)*L2);
end
%%Calutateweights
%kernelmatrix
k_mat=zeros(n_data,n_center_vec);
fori=1:n_center_vec
r=bsxfun(@minus,data,C(i,:)).^2;
r=sum(r,2);
k_mat(:,i)=exp((-r.^2)/(2*sigma(i)^2));
end
W=pinv(k_mat'*k_mat)*k_mat'*label;
y=k_mat*W;
%y(y>=0.5)=1;
%y(y<0.5)=0;
%%trainingfunctionandpredictfunction
[W1,sigma1,C1]=RBF_training(data,label,10);
y1=RBF_predict(data,W,sigma,C1);
[W2,sigma2,C2]=lazyRBF_training(data,label,2);
y2=RBF_predict(data,W2,sigma2,C2);

扩展资料
matlab的特点
1、具有完备的图形处理功能,实现计算结果和编程的可视化;
2、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
3、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
参考资料来源:百度百科—MATLAB

3. 求用matlab编BP神经网络预测程序

P=[。。。];输入T=[。。。];输出

%  创建一个新的前向神经网络 
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')

%  当前输入层权值和阈值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
%  当前网络层权值和阈值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}

%  设置训练参数
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;

%  调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);

%  对 BP 网络进行仿真
A = sim(net_1,P);
%  计算仿真误差 
E = T - A;
MSE=mse(E)

x=[。。。]';%测试
sim(net_1,x) 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009

求用matlab编BP神经网络预测程序

4. 用matlab中bp神经网络实现由输入值预测输出值的程序

给你个例子如下,
net=newff(inputn,outputn,[8,4],{'tansig','purelin'},'trainscg');%初始化网络结构
%网络参数配置(迭代次数、学习率、目标)
net.trainParam.epochs=3000;
net.trainParam.lr=0.08;
net.trainParam.goal=0.05;
net.divideFcn = '';
[net,tr]=train(net,inputn,outputn);%网络训练
%网络预测输出
an=sim(net,inputn_test);
 
不过只了解输入预测输出,这些还不够,还要看你的输入数据的量,来确定隐含层,还需要看数据是不是归一化,我专门做神经网络的预测工作,可否加QQ探讨一下?

5. matlab神经网络怎么多步预测,滚动预测

matlab神经网络怎么多步预测,滚动预测
训练完成后保存模型,
再将要预测的输入数据输入模型,出来的结果就是了

matlab神经网络怎么多步预测,滚动预测

6. 请问MATLAB中神经网络预测结果应该怎么看?求大神解答

从图中Neural Network可以看出,你的网络结构是两个隐含层,2-3-1-1结构的网络,算法是traindm,显示出来的误差变化为均方误差值mse。经过482次迭代循环完成训练,耗时5秒。相同计算精度的话,训练次数越少,耗时越短,网络结构越优秀。达到设定的网络精度0.001的时候,误差下降梯度为0.0046,远大于默认的1e-5,说明此时的网络误差仍在快速下降,所以可以把训练精度目标再提高一些,比如设为0.0001或者1e-5。

7. matlab7.0做BP神经网络预测,精度怎么看?

应该是点performance那个按钮,显示一个误差下降曲线图。

事实上,不需过分关注这条曲线,除非是研究改进算法提高收敛速度的。一般关注网络的实际训练效果,以及实际应用能力,如预测能力等。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

matlab7.0做BP神经网络预测,精度怎么看?

8. matlab神经网络工具箱训练完后可以自行预测嘛?

这个神经网络就在特定条件下工作的。