关于MATLAB 的程序,神经网络问题
2007-4-308.4310.5811.472007-5-3110.5811.4712.672007-6-2911.4712.6717.312007-7-3112.67...
2007-4-308.4310.5811.472007-5-3110.5811.4712.672007-6-2911.4712.6717.312007-7-3112.6717.3116.522007-8-3117.3116.5218.52007-9-2816.5218.516.332007-10-3118.516.3316.622007-11-3016.3316.6214.482007-12-2816.6214.4813.262008-1-3114.4813.2611.142008-2-2913.2611.1413.322008-3-3111.1413.3211.562008-4-3013.3211.569.042008-5-3011.569.049.332008-6-309.049.339.032008-7-319.339.036.422008-8-299.036.424.832008-9-266.424.834.932008-10-314.834.935.452008-11-284.935.456.862008-12-315.456.867.312009-1-236.867.319.012009-2-277.319.019.522009-3-319.019.522009-4-309.52用BP神经网络进行预测%对销售量进行归一化处理,(x-min)/(max-min);x=[2056 2395 2600 2298 1634 1600 1873 1478 1900 1500 2046 1556]';x1=(x-min(x))/(max(x)-min(x))%以每三个月的销售量经归一化处理后作为输入p=[0.5152 0.8173 1.00000.8173 1.0000 0.73081.0000 0.7308 0.13900.7308 0.1390 0.10870.1390 0.1087 0.35200.1087 0.3520 0.0000]';%以第四个月的销售量归一化处理后作为目标向量T=[0.7308 0.1390 0.1087 0.3520 0 0.3761];%创建一个BP神经网路,每个输入向量的取值范围为[0,1],隐含层有5个神经元;%输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,%训练函数为梯度下降函数;net=newff(minmax(p),[5,1],{'tansig','logsig'},'traingd');y1=sim(net,p);figure;plot(p,T,’-’,p,y1,’--’)title(‘未训练网络的输出结果’)xlabel(‘时间’)ylabel(‘仿真输出’)legend(‘原函数’,’训练前’)net.trainparam.epochs=15000;net.trainparam.goal=0.001;%设置学习速率为0.1net.trainparam.lr=0.1;net=train(net,p,T);训练结束后,运行得下图:net.iw{1,1}ans = 3.1442 4.3764 1.8866 -2.6824 1.4468 -4.4848 -1.1100 -4.5150 2.8651 2.1728 -4.0094 -2.5967 3.3750 -2.0084 3.3141>> net.b{1}ans = -6.7010 4.4416 0.0831 3.3736 0.2656计算预测结果的公式:A=logsig(net.lw{2,1}*tansig(net.b{1}+net.iw{1,1}*[0.5152 0.8173 1.0000]')+net.b{2})或sim(net,P’),其中,P’为训练数据,A为预测结果。%输入下面命令得到训练后网络的输出结果y2=sim(net,p);figure;plot(p,T,'-', p,y2,'--')title('训练后网络的输出结果');xlabel('时间');ylabel('仿真输出');legend('原函数' ,'训练后')
展开
展开全部
好乱啊,先排版一下吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询