神经网络已知输入输出,怎么获得输入对输出的权重。
5 views (last 30 days)
Show older comments
新锦江娱乐游戏网址【微8785092】
on 19 May 2023
Answered: 新锦江开户网址【微8785092】
on 19 May 2023
神经网络已知输入输出(多输入对应一个输出),怎么获得输入对输出的权重?请大神不吝赐教{:soso__10169062262133571330_1:}
我用的代码如下:
clc
clear all
A=xlsread('data.xlsx');
%选择输入输出数据
p=[A(:,1) A(:,2) A(:,3)];
t=A(:,4);
%数据归一化
[pn,minp,maxp]=premnmx(p); %按行归一化
[tn,mint,maxt]=premnmx(t);%
%[m n]=size(p);
%dx=zeros(m,2);
%dx(:,1)=-1;
%dx(:,2)=1;
dx=[-1,1;-1,1;-1,1];
%BP网络训练
net=newff(dx,[5,3,1],{'tansig','logsig','purelin'},'traingdx');
net.trainParam.show=1000;
%每1000轮回显示一次结果
net.trainParam.Lr=0.01;
%学习速率为0.01
net.trainParam.epochs=30000;
%循环1000次
net.trainParam.goal=1e-7;
%均方误差
net=train(net,pn',tn');
%对原数据进行仿真
an=sim(net,pn');
a=postmnmx(an,mint,maxt);
%还原仿真得到的数据
%与实际数据对比
x=p;
newk=a(1,:);
figure;
plot(x,newk,'r-o',x,t,'b--+')
legend('预测值','实际值');
xlabel('时间');
ylabel('cpi的值');
新手一个,希望多多指导!
0 Comments
Accepted Answer
新锦江开户网址【微8785092】
on 19 May 2023
BP神经网络的更新方式是利用每一层的输出误差对连接权值进行偏导,梯度下降的方向进行更新。你这是使用的工具箱进行直接计算的,一般地,都是自己写出BP算法的具体更新迭代算法,这样子训练时每一步训练的权值大小都可以进行保存出来的。三层NN,BP算法就1-2间的权值和2-3间的权值,可以直接利用BP算法推导出来写入程序中,方便自己观察整个更新过程。
0 Comments
More Answers (0)
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!