BP神经网络在无人机成本估算中的应用(3)
2015-06-02 01:44
导读:由上图可知,该BP神经网络的结构由6个性能指标构成输入层,输出层只有一个节点即整机价格。中间的隐层包含7个神经元节点。 本文采用的是MATLAB的BP神
由上图可知,该BP神经网络的结构由6个性能指标构成输入层,输出层只有一个节点即整机价格。中间的隐层包含7个神经元节点。
本文采用的是MATLAB的BP神经网络工具箱中的Trainlm函数建立的模型,它采用的是L-M算法。
3.数据标准化、训练和测试。本文采用的MATLAB版本是MATLAB7.70(R2008b),该版本的功能比较强大,对数据的要求不像以前的那么严格(以前版本的MATLAB要求节点输入和输出值的大小在[0,1]),所以笔者在并不需要对数据进行标准化。这样不仅能够减少模型的计算量,而且还有利于提高最终结果的精确度。
对案例中BP神经网络的训练和测试,本文大致经过了以下过程:
第一步在MATLAB中命令窗口中输入:
in=[250,200,150,120,100,100;1000,4000,5000,5000,5500,6500;10,40,150,150,200,400;90,350,200,200,210,220;1,1.5,4,5,4,10;1,10,25,60,35,60];
out=[5,50,120,150,180,300];
x=[80,10000,500,600,2,50];
y=[20,15000,300,700,5,200];
第二步:
net=newff(in,out,7)%7个神经元;
net=train(net, in, out)%训练;
p=sim(net, in)%查看训练效果;
px=sim(net, x)%预测第7组数据;
py=sim(net, y)%预测第8组数据;
如果经过上面的运行没能获得满意的结果,可进行第三步,运行如下程序:
net=train(net, in, out)%训练;
p=sim(net, in)%查看训练效果;
px=sim(net, x)%预测第7组数据;
py=sim(net, y)%预测第8组数据;
反复进行第三步直到得到满意的结果;
4.结果。根据前文构建的军品成本估算BP模型,以及上文确定的算法和过程,在经过了5次迭代后得到结果见表3。
中国大学排名 由上面的结果可知,对高速无人机1和高速无人机2测试的误差都在20%以内,是在前文限定的范围内,因而笔者认为这个结果是可以接受的。并且,测试结果表明目前的定价还是略高于计算值。
四、存在的问题
在将BP神经网络模型应用于无人机的过程中,笔者认为以下几个方面的问题是比较难把握的。
1.输入层节点个数的控制。就本案例来说,输入层有6个节点,也就是6个性能指标。正如前文所言,选择的这6个性能指标是因为它们与最后的整机价格有主要关系。这个判断主要是根据专家的判断和实际的做法得出来的,所以其中的主观性很大。如果选择的尺度或标准稍微有所变化,那么指标的个数就会发生变化。而且我们如果要判断到底需要几个指标才能达到最好的预测效果。
2.隐层节点数的控制。这里包括两个问题:一是包括几个隐层?二是隐层中包括几个节点。一般来说一个隐层的BP神经网络就能很好的学习和测试,就笔者看到的文献而言,也主要是一个隐层。关于隐层中节点的个数,没有具体的规则,只能根据结果调整,这就对研究者使用MATLAB进行BP神经网络建模的经验和技术提出了挑战。
3.样本集大小和精度的控制。理论上来说,样本集的规模越大,数据越充足,最终获得的结果会越精确。在样本集大小给定的情况下,将BP神经网络学习和测试的精度(误差)设置在那个范围内比较合适,这个问题也是需要反复拟合才能找到比较合适的。
4.如果样本集中涉及资金的时间跨度较大,那么必须考虑资金时间价值的影响,应将样本集中数据的时间应统一起来。此外,如果有批量采购的情况存在,还应该考虑生产熟练程度的影响。
参考文献:
[1]刘 建:航天型号寿命周期费用估算及报价系统研究与实现[D].长沙:
国防科学技术大学,2004.
(转载自科教范文网http://fw.nseac.com) [2]刘 铭 赵保军 杨建军等:基于GA和BP融合算法的装备费用估算方法[J].
系统工程与电子技术,2002.24(2):2-65.