神经网络matlab代码程序,神经网络算法matlab代码

求一段神经网络MATLAB代码 50

function [presim ss net] = simnonlin( y,d,n )% y-- 时间序列数据,列向量% d-- 时间延迟参数,正整数% n--用于训练的点的个数,正整数trainset = gettrain(y,d);inputs = trainset(:,1:end-1)';targets = trainset(:,end)';net = feedforwardnet(20,'trainscg');% net = newff(inputs,targets,40);% net = train(net,inputs,targets);net=train(net,inputs,targets);presim(1:d)=y(end-d+1:end);for i = d+1:d + npresim(i) = sim(net,presim(i-d:i-1)');endss = presim(d+1:end)';end调用示例:t=[1:100]';y = exp(-0.1*t).*sin(t);d=10;n=80;sim = simnonlin( y,d,n );。

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

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文案狗

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

用matlab求预测一组数据的bp神经网络模型,可以分1、给定已经数据,作为一个原始序列;2、设定自回归阶数,一般2~3,太高不一定好;3、设定预测某一时间段4、设定预测步数5、用BP自定义函数进行预测6、根据预测值,用plot函数绘制预测数据走势图其主要实现代码如下:clc% x为原始序列(行向量)x=[208.72 205.69 231.5 242.78 235.64 218.41];%x=[101.4 101.4 101.9 102.4 101.9 102.9];%x=[140 137 112 125 213 437.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-'),hold onplot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid ontitle('BP神经网络预测某地铁线路客流量')xlabel('月号'),ylabel('客流量(百万)');运行结果:

2输入2输出,bp神经网络MATLAB代码,怎么编写

k=0:1:6000;w=0.03*k*pi/180;x=0.4+0.2*cos(w);z=0.2+0.2*sin(w);y1=-atan(x/z)+acos(sqrt(1-(x.^2+z.^2-0.07).^2/(0.36*x.^2+0.36*z.^2)));y2=asin((0.25-x.^2-z.^2)/0.24)-pi;[input,minI,maxI,output,minO,maxO]=premnmx([x,z]',[y1,y2]');%进行归一化处理net=newff(minmax(input),[2,10,2],{'tansig','tansig','purelin'},'traingd');=100;=0.05;net.trainParam.epochs=6000;=1e-4;net=train(net,input,output);output=sim(net,input);postmnmx(output,minO,maxO);plot(k,y1,k,y2);%说明:x和z为输入,y1和y2为输出,对输入进行了归一化处理,并将两个输出构成一个矩阵output,相当于输入变成了input,输出变成了output,

请教大神我的这个关于BP神经网络的MATLAB代码究竟出了什么错

clear;clc;shuru=[1305554.51 662938.89 877648.23 955254.91 1182286.47 605157.99 769639.28 1000855.67 1567936.19 712892.06 995621.47 1210817.23 1824825.89 805095.78 1357303.95 1913573.98 2221913.29 988940.37 1520540.25;-535933.67 -265478.17 -358139.96 -390311.91 -484727.57 -240666.79 -312753.06 -408491.77 -644476.31 -284092.72 -405644.61 -495278.31 -750743.05 -320627.06 -555553.68 -786731.21 -914786.21 -395704.62 -622816.59;190253.14 97770.16 127640.62 138952.91 172150.18 89252.23 111812.5 145619.16 228386.33 105038.33 144834.43 176107.03 265871.87 118663.71 197368.22 278538.97 323968.44 145708.66 220970.77 ];%'; %/(')for zhuanzhi% 此处不能转置,matlab神经网络工具箱默认是以列为一个样本,所以此处shuru矩阵应为19*3shuchu=[7510 7907 7432 6989 6760 7124 7548 7422 8333 8333 9375 11011 12045 13207 13592 13530 13963 15819 16118];% 相对应的是shuchu的列数也应等于19% 额外提醒:鉴于你给的数据量纲之间差别太大,最好进行归一化处理net = newff(shuru,shuchu,19,{'tansig'},'trainscg');% 注意这是R2012b版本的newff函数,与以前版本的应用格式有点不同,所以会出现:NEWFF used in an obsolete way.的错误% 另外输入和输出的矩阵必须保证列相等,因为它是以一列作为一个样本,在这个程序中,是3个输入对应一个输出,所以19个样本输入对应19个样本输出net.divideParam.trainRatio=1; % 训练集所占总样本的比重net.divideParam.valRatio=0; % 验证集所占总样本的比重net.divideParam.testRatio=0; % 测试集所占总样本的比重=50;% 显示步长=0.0001; % 学习速率net.trainParam.epochs=800; % 最大迭代次数=0.00000001; % 训练目标,一般是用均方差(mse)来作为训练目标[net,tr]=train(net,shuru,shuchu);{1,1};%隐层权值net.b{1};%隐层阈值{2,1};%输出层权值net.b{2};%输出层阈值Pre=sim(net,shuru);rr=corrcoef(shuchu,Pre); %线性相关系数figureplot(shuchu,'g');hold onplot(Pre,'r');figureplot(shuchu,Pre,'*');title(['线性相关系数r=',num2str(rr(1,2))]);xlabel('shuchu');ylabel('PredictData');。

求一个4,8,1的bp神经网络模型的matlab代码?

代码如下:直接运行就是了。

P=P=[-1,  -2,    3,    1;       -1,    1,    5,  -3; -2,  3, 4, 6;  1, 2, 3,  4 ];%初始训练值%  创建一个新的前向神经网络 net=newff(minmax(P),[8,1],{'tansig','purelin'},'traingdm')%  当前输入层权值和阈值 {1,1} inputbias=net.b{1} %  当前网络层权值和阈值 {2,1} layerbias=net.b{2} %  设置训练参数  = 50;  = 0.05;  = 0.9; net.trainParam.epochs = 1000;  = 1e-3; %  调用 TRAINGDM 算法训练 BP 网络 [net,tr]=train(net,P,T); %  对 BP 网络进行仿真 A = sim(net,P) %最后结果%  计算仿真误差 E = T - A MSE=mse(E)。

求大神解读一下matlab代码。bp神经网络NEWff部分。

newff建立一个bp神经网络模型,threshold应该是输入,决定输入层数目,20个隐含层,四个输出层,tansig是隐含层函数,logsig是输出层函数,trainlm是训练方法,Levenberg-Marquardt BP训练函数。

epochs是设置最大迭代次数,goal是设置期望误差,就是训练到最后希望误差小到什么程度,这里的误差默认是mse误差。LP是啥?定义的网络不是net咩??反正后面的lr是学习速率。

最后一句是在训练网络。可以参考下这个博客!!里面举了个例子,注释也比较清楚。

 

你可能感兴趣的:(matlab,神经网络,算法,dnn)