欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

神经网络控制与matlab仿真,神经网络matlab代码程序

发布时间:2023/12/20 循环神经网络 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 神经网络控制与matlab仿真,神经网络matlab代码程序 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

用神经网络预测睡眠分期的matlab程序

由于睡眠的周期相对来说是没有规律可循的,所以用神经网络对一个晚上的睡眠分期进行训练,然后预测另一个晚上的睡眠分期。你可以考虑用anfis自适应神经网络来预测。

现举例说明,如何使用anfis自适应神经网络来预测。

x=(0:0.1:10)';    y=sin(2*x)./exp(x/5);    epoch_n=20;    in_fis =genfis1([xy],5,'gbellmf');    out_fis=anfis([xy],in_fis,epoch_n);    plot(x,y,x,evalfis(x,out_fis));      legend('TrainingData','ANFISOutput');      xlabel('x'),ylabel('y');。

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

GA-BP神经网络模型预测的MATLAB程序问题

Matlab神经网络工具箱提供了一系列用于建立和训练bp神经网络模型的函数命令,很难一时讲全写作猫。下面仅以一个例子列举部分函数的部分用法。

更多的函数和用法请仔细查阅NeuralNetworkToolbox的帮助文档。例子:利用bp神经网络模型建立z=sin(x+y)的模型并检验效果%第1步。

随机生成200个采样点用于训练x=unifrnd(-5,5,1,200);y=unifrnd(-5,5,1,200);z=sin(x+y);%第2步。建立神经网络模型。

其中参数一是输入数据的范围,参数二是各层神经元数量,参数三是各层传递函数类型。

N=newff([-55;-55],[5,5,1],{'tansig','tansig','purelin'});%第3步。训练。这里用批训练函数train。

也可用adapt函数进行增长训练。N=train(N,[x;y],z);%第4步。检验训练成果。

[X,Y]=meshgrid(linspace(-5,5));Z=sim(N,[X(:),Y(:)]');figuremesh(X,Y,reshape(Z,100,100));holdon;plot3(x,y,z,'.')。

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

matlab带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子。

核心调用语句如下:%数据输入%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%%BP网络训练%%初始化网络结构net=newff(inputn,outputn,[88]);net.trainParam.epochs=100;=0.01;=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);%%结果分析。

bp神经网络人口预测程序(matlab实现)

x=[54167   55196   56300   57482   58796   60266   61465   62828   64653   65994   67207   66207   65859   67295   69172   70499   72538   74542   76368   78534   80671   82992   85229   87177   89211    90859    92420    93717    94974    96259    97542    98705   100072   101654   103008   104357   105851   107507   109300   111026   112704   114333   115823   117171   118517   119850   121121   122389   123626   124761   125786   126743   127627   128453   129227   129988   130756   131448   132129   132802   134480   135030   135770   136460   137510]';%该脚本用来做NAR神经网络预测%作者:Macer程lag=3;   %自回归阶数iinput=x;%x为原始序列(行向量)n=length(iinput);%准备输入和输出数据inputs=zeros(lag,n-lag);fori=1:n-lag   inputs(:,i)=iinput(i:i+lag-1)';endtargets=x(lag+1:end);%创建网络hiddenLayerSize=10;%隐藏层神经元个数net=fitnet(hiddenLayerSize);%避免过拟合,划分训练,测试和验证数据的比例net.divideParam.trainRatio=70/100;net.divideParam.valRatio=15/100;net.divideParam.testRatio=15/100;%训练网络[net,tr]=train(net,inputs,targets);%%根据图表判断拟合好坏yn=net(inputs);errors=targets-yn;figure,ploterrcorr(errors)                     %绘制误差的自相关情况(20lags)figure,parcorr(errors)                         %绘制偏相关情况%[h,pValue,stat,cValue]=lbqtest(errors)        %Ljung-BoxQ检验(20lags)figure,plotresponse(con2seq(targets),con2seq(yn))%看预测的趋势与原趋势%figure,ploterrhist(errors)                     %误差直方图%figure,plotperform(tr)                         %误差下降线%%下面预测往后预测几个时间段fn=7; %预测步数为fn。

f_in=iinput(n-lag+1:end)';f_out=zeros(1,fn); %预测输出%多步预测时,用下面的循环将网络输出重新输入fori=1:fn   f_out(i)=net(f_in);   f_in=[f_in(2:end);f_out(i)];end%画出预测图figure,plot(1949:2013,iinput,'b',2013:2020,[iinput(end),f_out],'r')图1自相关图2误差图3预测上面的程序是可以通用的,只要你根据自己需要是可以修改用在其他地方的,基本思想就是用前lag年的人口数来预测下一年的人口,至于lag等于几你是可以自己改的。

还有在对结果好坏的判断中,仅仅看误差图是不够的,如果是一个好的预测,那么自相关性图中除了0阶自相关外,其他的自相关系数系数都不应该超过上下置信区间。

还有其他的统计量和图表都都写在”%“后面了,如果需要,去掉就可用。

最后的预测值为f_out,我的预测值为138701.065269972   139467.632609654   140207.209707364   141210.109373609   141981.285378849   142461.332139592   143056.073139776。

求预测一组数据的bp神经网络模型的matlab代码

用matlab求预测一组数据的bp神经网络模型,可以分1、给定已经数据,作为一个原始序列;2、设定自回归阶数,一般2~3,太高不一定好;3、设定预测某一时间段4、设定预测步数5、用BP自定义函数进行预测6、根据预测值,用plot函数绘制预测数据走势图其主要实现代码如下:clc%x为原始序列(行向量)x=[208.72205.69231.5242.78235.64218.41];%x=[101.4101.4101.9102.4101.9102.9];%x=[140137112125213437.43];t=1:length(x);%自回归阶数lag=3;%预测某一时间段t1=t(end)+1:t(end)+5;%预测步数为fnfn=length(t1);[f_out,iinput]=BP(x,lag,fn);P=vpa(f_out,5);A=[t1'P'];disp('预测值')disp(A)%画出预测图figure(1),plot(t,iinput,'bo-'),holdonplot(t(end):t1(end),[iinput(end),f_out],'rp-'),gridontitle('BP神经网络预测某地铁线路客流量')xlabel('月号'),ylabel('客流量(百万)');运行结果:

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

clc;clearall;closeall;%%----BuildatrainingsetofasimilarversionofXORc_1=[00];c_2=[11];c_3=[01];c_4=[10];n_L1=20;%numberoflabel1n_L2=20;%numberoflabel2A=zeros(n_L1*2,3);A(:,3)=1;B=zeros(n_L2*2,3);B(:,3)=0;%createrandompointsfori=1:n_L1A(i,1:2)=c_1+rand(1,2)/2;A(i+n_L1,1:2)=c_2+rand(1,2)/2;endfori=1:n_L2B(i,1:2)=c_3+rand(1,2)/2;B(i+n_L2,1:2)=c_4+rand(1,2)/2;end%showpointsscatter(A(:,1),A(:,2),[],'r');holdonscatter(B(:,1),B(:,2),[],'g');X=[A;B];data=X(:,1:2);label=X(:,3);%%Usingkmeanstofindcintervectorn_center_vec=10;rng(1);[idx,C]=kmeans(data,n_center_vec);holdonscatter(C(:,1),C(:,2),'b','LineWidth',2);%%Calulatesigman_data=size(X,1);%calculateKK=zeros(n_center_vec,1);fori=1:n_center_vecK(i)=numel(find(idx==i));end%UsingknnsearchtofindKnearestneighborpointsforeachcentervector%thencalucatesigmasigma=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%kernelmatrixk_mat=zeros(n_data,n_center_vec);fori=1:n_center_vecr=bsxfun(@minus,data,C(i,:)).^2;r=sum(r,2);k_mat(:,i)=exp((-r.^2)/(2*sigma(i)^2));endW=pinv(k_mat'*k_mat)*k_mat'*label;y=k_mat*W;%y(y>=0.5)=1;%y(y。

求MATLAB的BP神经网络预测程序

%由于数据比较大,我又懒得用归一化,所以直接把数据降了3个数量级,%不过我觉得应该没问题,但用归一化结果应该更准确些。。%由于初始权值和阀值均是随机给的,所以每次仿真都有点点不同,这是正常的。

p=[118313031278;130312781284;127812841187;...128411871154;118711541267;115412671241;...126712411302;124113021195;130211951256]'*0.001;t=[128411871154126712411302119512561348]*0.001;net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingda');=0.001;=20;net.trainParam.epochs=1000;net.trainParam.min_grad=1e-10;=0.95;[net,tr]=train(net,p,t);t1=sim(net,[130211951256]'*0.001);t2013=t1*1000%2013的预测数据运行结果:t2013=1301.9。

求一个bp神经网络预测模型的MATLAB程序

BP神经网络预测的步骤:1、输入和输出数据。2、创建网络。fitnet()3、划分训练,测试和验证数据的比例。

net.divideParam.trainRatio; net.divideParam.valRatio;net.divideParam.testRatio4、训练网络。

train()5、根据图表判断拟合好坏。ploterrcorr();parcorr();plotresponse()6、预测往后数据。net()7、画出预测图。

plot()执行下列命令BP_prediction得到结果:[2016,14749.呵呵6798210144042969][2017,15092.847215188667178153991699219][2018,15382.150005970150232315063476562][2019, 15398.85769711434841156005859375][2020,15491.935150090605020523071289062]。

 

总结

以上是生活随笔为你收集整理的神经网络控制与matlab仿真,神经网络matlab代码程序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。