基于神经网络的杨树苗木注射针头阻力预测模型研究
2021-11-04陆一枝商庆清
孙 炜, 陆一枝, 商庆清
(南京林业大学,江苏 南京 210037)
杨树生长快,存活率极高,因此,被广泛地应用于城市绿化[1]。但是杨树苗木品种的优良、质量的好坏,会对其成活率及外观产生重要影响。幼苗成长后,其根部发育速度急剧下降,随之新陈代谢的速度开始减慢,对土壤中的养分吸收也变少,导致了根部比较脆弱,所以需要人为对杨树幼苗进行营养液注射[2]。杨树幼苗的营养注射可以使用树干注射施药技术。树干注射施药技术就是使用特制工具将植物所需养分注射到树干内部,用以调节树木生长发育所需营养平衡、提高防治病虫害能力、保证树木良好发育的目的[3]。因其成本低,构造简单,因此在苗木注射中得到了大规模的推广和使用。虽然树干注射施药技术应用广泛,但在使用中,针头受力大,需要有较高的强度和刚度才能顺利注入和退出注射目标[4]。所以,如何更好地获取注射时针头受力变化,基于此变化优化针头受力,一直是树木注干机研究的重点。近几年,由于计算机性能飞速发展,神经网络在数据拟合与预测方面再次获得了施展身手的机会。对比有限元分析,神经网络因其独特的黑盒函数,大大简化了优化步骤。将这种技术应用与预测杨树幼苗注射针头受力模型,将大大促进杨树苗木注射技术的发展。
1 BP神经网络预测苗木注射阻力模型
1.1 BP网络概述
由于计算机计算性能的飞速提升,BP神经网络由于其自适应学习能力强、容错性高、优化速度快等特点,近年被广泛应用于数据拟合与结果预测。BP神经网络是一种模拟生物界大脑神经元之间的冲突而建立的一种拓扑结构,前端接收信号,输送给神经元进行处理,然后发送给其他神经元。
BP神经网络是一种信号前向传播的,误差是反向传播的多层前馈神经网络,其具体结构如图1所示。
图1 BP神经网络结构图
BP神经网络由输入层、隐含层和输出层组成,隐含层可以是多个,具体层数依据数据结构与数据复杂程度而定。每一层都有相应地神经元节点数,输入层与输出层神经元节点数由输入输出数据变量而定,而隐含层神经元节点数对网络的预测精度有直接影响,节点数太少,网络不能很好地学习,导致网络欠拟合、训练精度差;节点数太多,不仅训练时间增加,还可能出现 “过拟合”的问题,导致网络识别效果差。因此,合理选择隐含层节点的数量非常重要[5]。在一个三层BP网络中,隐含层神经元节点数一般可由经验公式确定。
(1)
h=log2n
(2)
h=n-1
(3)
式中:h为隐含层神经元个数;m为输入层神经元个数;n为输出层神经元个数;a为1∶10之间的常数。
网络的传递函数一般使用Sigmoid或线性函数,其特点是函数本身及其导数都是连续的,因而在处理上十分方便。网络的权值一般采用最速下降学习法来调整。此外,还有一些改进算法,如拟牛顿法、最速下降法和LM(Levenberg-Marquardt)算法[6]。
1.2 模型准备
1.2.1 数据来源
本文预测模型采用Matlab自带BP神经网络工具箱。数据来自苗木针头阻力实验,采用四种型号针头进行实验,分别为0.9 mm、1.2 mm、1.4 mm和1.6 mm的针头,每种针头实验4次,进针量都为苗木直径一半,苗木直径、电机速度等参数都不变。取每种针头阻力的平均值作为训练数据,共281组训练数据,每组包含针头大小、进针时间和针头受到的阻力等参数。
对于模型来说,输入层中各变量需要满足:①输入与输出要有一定的相关性;②输入变量之间不能有相关性。 所以,输入变量选择为针头大小和进针时间,输出变量为针头所受阻力。
1.2.2 隐含层确定
研究表明,采用一层隐含层即可完成任意非线性系统的预测[7]。所以本研究的BP模型设为一层。隐含层节点数目的确定,采用式(1)确定节点数目,然后对不同节点数所预测结果进行对比。
1.2.3 数据处理
为避免输入输出数据之间有较大量纲差异较大而使训练陷入局部最小,影响其训练效果,因此在训练之前应对训练数据做归一化处理[8-10],其归一化处理函数见(4)。
(4)
式中:Ymax与Ymix分别为归一化后的区间端点值。本次预测模型Ymax与Ymix设定为0和1,原始数据将由此映射到[0,1]区间内;Yk为归一化后的数据;Xmax和Xmix为原始数据最大与最小值。
1.2.4 模型建立
实验虽然新版本Matlab已经集成NTF APP(Neural Net Fitting 应用),但是其app可调参数太少,无法满足科研需要,所以本模型采用脚本运行方式,可调参数多,能够精准建立预测模型,并进行可视化分析。将数据分成两组,分别为训练组,测试组,其中训练组占比70%,测试组占比为30%。选择最大迭代次数500次,训练目标误差0.001,网络学习率0.000 1,验证样本误差连续10次迭代不再下降。隐含层传递函数采用Tan-SigMoid函数,输出层函数采用Purelin函数。
为了准确预测,模型需要性能评估,评估方式采用决定系数R2,R2体现神经网络预测的准确度,具体公式如式(5),由公式可知,其值介于[0,1]之间,越接近1表明预测准确度越高。
(5)
1.3 网络训练结果与分析
1.3.1 网络训练结果
不同隐含层节点数训练结果决定系数见表1。
表1 不同隐含层节点数训练结果
将每个隐含层节点数训练得到的平均值做成条形统计图,训练结果决定系数平均值如图2所示。
图2 训练结果决定系数平均值
由图可知,将隐含层的节点数设为8个,可以很好的预测进行苗木注射时,不同针头粗细、不同进针量所对应的针头受力大小,模型最高决定系数达到了0.983 3,其预测拟合图如图3所示。
图3 拟合图
神经网络工具箱训练结果评价如图4所示,其中Training,Validatoin,Test,All分别代表训练组、验证组、测试组和所有数据回归结果;R为回归系数;Fit代表线性拟合结果;Y为理想状态下的线性拟合结果。
图4 神经网络工具箱训练结果评价
1.3.2 结果分析
由上述结果可以得出,基于BP神经网络预测模型可以很好的拟合与预测不同针头进针时所受到的应力,尤其是当隐含层节点个数为8时,预测误差可以保持在5%以内。
2 结论
本文研究并利用BP神经网络,建立了预测针头受力大小与针头粗细和进针量的关系模型,分析了不同隐含层节点数对于拟合结果的关系。通过对比分析得出,当隐含层节点个数为8时,该模型对针头受力大小预测误差小,拟合度高,效果较好,对进一步分析苗木注射针头受力研究具有启发作用。