![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
谁会用matlab编写三层神经网络程序?
展开全部
我也是在做这样的预测,遇到的问题一样,尚在迷茫中……
在知道中搜“matlab神经网络预测程序一点点小问题 ”,看看人家的问题和回答,应该对你有帮助。我看完后大受启发。 不知道能不能帮上你
在知道中搜“matlab神经网络预测程序一点点小问题 ”,看看人家的问题和回答,应该对你有帮助。我看完后大受启发。 不知道能不能帮上你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逼近函数,还是什么?
追问
bp神经网络模型
追答
clc;
clear;
p=[0 1 2 3 4 5 6 7 8 9];
t=[0 2 5 10 17 26 37 50 65 82];
SamNum=10;
TextNum=10;
ForcastNum=10;
HiddenNum=3;
InDim=1;
OutDim=1;
[SamIn,ss]=mapminmax(p);p
[tn,ts]=mapminmax(t);t
rand('state',sum(100*clock));
NoiseVar=0.01;Noise=NoiseVar*randn(1,SamNum);
SamOut=tn+Noise;
TestSamIn=SamIn;
TestSamOut=SamOut;
MaxEpochs=100000;
lr=0.035;
E0=0.65*10^(-3);
W1=0.5*rand(HiddenNum,InDim)-0.1;
B1=0.5*rand(HiddenNum,1)-0.1;
W2=0.5*rand(OutDim,HiddenNum)-0.1;
B2=0.5*rand(OutDim,1)-0.1;
ErrHistory=[];
for i=1:MaxEpochs
HiddenOut=logsig(W1*SamIn+repmat(B1,1,SamNum));
NetworkOut=W2*HiddenOut+repmat(B2,1,SamNum);
Error=SamOut-NetworkOut;
SSE=sumsqr(Error);
ErrHistory=[ErrHistory SSE];
if SSE<E0,break,end
Delta2=Error;
Delta1=W2'*Delta2.*HiddenOut.*(1-HiddenOut);
dW2=Delta2*HiddenOut';
dB2=Delta2*ones(SamNum,1);
dW1=Delta1*SamIn';
dB1=Delta1*ones(SamNum,1);
W2=W2+lr*dW2;
B2=B2+lr*dB2;
W1=W1+lr*dW1;
B1=B1+lr*dB1;
end
HiddenOut=logsig(W1*SamIn+repmat(B1,1,TextNum));HiddenOut
NetworkOut=W2*HiddenOut+repmat(B2,1,TextNum);NetworkOut
a=postmnmx(NetworkOut,ts.xmin,ts.xmax);
figure;
plot(p,a,'r-o');
pa=[10/9 11/9 12/9]*2-1;
HidOut=logsig(W1*pa+repmat(B1,1,3));
anewn=W2*HidOut+repmat(B2,1,3);
anew=postmnmx(anewn,ts.xmin,ts.xmax)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询