谁会用matlab编写三层神经网络程序?

 我来答
fmnotxrp6734
2011-08-16
知道答主
回答量:29
采纳率:0%
帮助的人:11.6万
展开全部
我也是在做这样的预测,遇到的问题一样,尚在迷茫中……
在知道中搜“matlab神经网络预测程序一点点小问题 ”,看看人家的问题和回答,应该对你有帮助。我看完后大受启发。 不知道能不能帮上你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangjianba
2011-08-16 · 超过10用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:23.5万
展开全部
逼近函数,还是什么?
追问
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)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式