|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
表为某药品销售情况,现构建一个如下三层的bp神经网络对药品销售进行预测:输入层有3个结点,隐含层5个结点,隐含层的激活函数为tansig(双曲正切s型专递函数);输出接点数为1个,输出层激活函数为logsig(s型对数函数)。并利用此网络对药品销售进行预测,预测方法采用滚动预测方法,即用前三个月销售量预测第四个月销售量,如,用第1,2,3个月的销售量预测第4个月的销售量,用第 2,3,4个月的销售量预测第5个月的销售量,如此反复,知道满足预测精度要求为止。【1月2056,2月2395,3月2600,4月2298,5月 1634,6月1600,7月1873,8月1478,9月1900,10月1500,11月2046,12月1556】
解:%以每3个月销售量经归一化处理后作为输入
P=[0.5152 0.8173 1.0000;0.8173 1.0000 0.7308;1.0000 0.7308 0.1390;0.7308 0.1390 0.1087;0.1390 0.1087 0.3520;0.1087 0.3520 0.0000;];
%以第四个月销售量归一化处理后作为目标向量
T=[0.7308 0.1390 0.1087 0.3520 0.0000 0.3761];
%创建一个bp神经网络,每一个输入向量取值范围为[0,1],隐含层有5个神经元,输出层有一个神经元,隐含层激活函数为tansig,输出层激活函数为logsig,训练函数为梯度下降函数,即标准学习算法。
net=newff([0 1;0 1;0 1],[5,1],{'tansig','logsig'},'traingd');
net.trainParam.epochs=15000;
net.trainParam.goal=0.01;
% 设置学习速率为0.1
LP.lr=0.1;
net=train(net,P,T);
请问
(1) 隐含节点数为什么要设为5个;
(2) 隐含层的激活函数为什么是tansig,输出层激活函数为什么是logsig;
(3) 以第四个月销售量归一化处理后作为目标向量有什么作用,T=[0.7308 0.1390 0.1087 0.3520 0.0000 0.3761];中 的0.3761怎么得来的;
(4) 训练函数为什么为梯度下降函数,标准函数算法就是用的梯度下降函数吗?
(5) net=newff([0 1;0 1;0 1],[5,1],{'tansig','logsig'},'traingd');中的traingd是什么意思;
(6) 训练次数为什么是15000次;
(7) net.trainParam.goal=0.01;这个语句是什么意思;
(8) 学习速率为什么定位0.1;
(9) P=[0.5152 0.8173 1.0000;0.8173 1.0000 0.7308;1.0000 0.7308 0.1390;0.7308 0.1390 0.1087;0.1390 0.1087 0.3520;0.1087 0.3520 0.0000;];中 0.0000怎么德出来的;
(10)预测结果如何才算达到极度要求。
小弟刚学,所以找来一个例子请教具体细节,请哥哥姐姐不辞辛苦帮弟弟解读一下 万分感谢! |
|