推荐期刊

基于人工神经网络的烤烟评吸质量评估模型及实现

时间:2019-03-01 10:50:14 所属分类:农业工程 浏览量:

摘要:为提高烤烟评吸质量评估的效率,采用Spearman相关分析和偏相关分析确定影响烤烟评吸质量的7种化学成分,利用BP人工神经网络建立7种化学成分和烤烟评吸质量之间的人工神经网络模型,最后通过人工神经网络对不同烤烟样品评吸质量进行预测。结果表明,利

  摘要:为提高烤烟评吸质量评估的效率,采用Spearman相关分析和偏相关分析确定影响烤烟评吸质量的7种化学成分,利用BP人工神经网络建立7种化学成分和烤烟评吸质量之间的人工神经网络模型,最后通过人工神经网络对不同烤烟样品评吸质量进行预测。结果表明,利用人工神经网络评价烤烟评吸质量与人工法具有较好的相关性和较低的误差。利用C++语言设计的烤烟评吸质量评估软件可以方便地进行烤烟评吸质量模型的训练和评吸质量的评估,具有较好的实用性。

  关键词:人工神经网络;相关分析;烤烟评吸;评估模型

植物保护论文

  烤烟评吸质量是反映烤烟综合性状的指标,其与多种因素有关,如烤烟化学成分、烟气成分、主观感受等。目前对烤烟评吸质量的评判往往采用人工评定法,即通过多位专家对不同样品进行试吸,根据不同的评吸环节给出各环节的质量分数,最终将各环节的质量分数相加确定出不同样品的评吸质量[1]。但人工评定的效率较低,难以对大范围的烤烟进行有效的评定。

  由于烤烟化学成分复杂,多种化学成分间还存在相互作用,所以难以通过固定的数学模型确定烤烟化学成分与评吸质量之间的关系[2]。人工神经网络在处理复杂系统模型时不用考虑模型变量间的内在作用规律,通过对一定数量测试样本的学习和训练,可以按照提供样本的规律实现满足要求的输出,因此人工神经网络广泛用于开发基于经验的农业模型,例如农作物的产量预测、质量评估等[3-5]。

  通过相关分析确定与烤烟评吸质量具有联系的化学成分指标,通过这些化学成分指标,利用BP人工神经网络建立化学成分与烤烟评吸质量的人工神经网络模型。利用该人工神经网络模型对多组不同的烤烟样本评吸质量进行预测,通过与实际评吸质量的对比,表明相比于传统的人工评吸法,利用本研究方法建立的烤烟评吸质量模型具有较好的相关性和准确性,对烤烟质量的评定具有一定的参考意义。利用C++语言开发出的烤烟评吸质量评估软件可以实现人工神经网络模型的训练、导入等功能,能够方便地对烤烟评吸质量进行评估,具有较好的实用性。

  1 数据来源与分析方法

  1.1 数据来源

  数据来源于某省不同烟草产区、不同烟草品种的烤烟化学成分含量及烤烟评吸质量,数据涵盖范围广,代表性强。所选取的烤烟化学成分包含总糖、还原糖、钾、氯、总碱、总氮、蛋白质、淀粉、锰、铁、铜、锌及其他微量元素。评吸质量通过多位专家对不同烤烟样品进行试吸,给出对应的分数,最后将不同专家分数平均后确定最终的烤烟评吸质量。

  由于烤烟生产过程是一个多输入多输出的复杂农作物生产过程,具有多变量、非线性、不确定性等特点[6];烤烟生物质量综合效益的影响因素涉及领域广阔,同时评价指标众多,各类指标之间量纲差异较大,难以直接建立烤烟生物质量效益综合生产目标与其影响因素之间的机理模型。

  1.2 分析方法

  烤烟评吸质量与烟叶化学成分含量存在一定的相关性[7,8],但烤烟中化学成分与评吸质量的关系复杂,对于各项化学成分与评吸质量之间的关系,在一定范围内可以简单分类为正相关、负相关和无相关。

  斯皮尔曼相关系数(Spearman correlation coefficient)利用单调方程评价两个统计变量的相关性,Spearman相关系数的计算方法见公式(1)。

  由于斯皮尔曼相关系数不表示变量之间的线性关系,仅表示变量之间的单调性关系,对于存在相关性但是没有线性关系的统计变量能够更好地找出其中的相关性关系。

  当研究某一个要素对另一个要素的影响或相关程度时,把其他要素的影响视作常数(保持不变),即暂时不考虑其他要素影响,单独研究两个要素之间的相互关系的密切程度,所得数值结果为偏相关系数。

  2 BP人工神經网络模型建立

  BP(Back propagation)人工神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络,它能通过自身的训练,学习某种规则,在给定输入值时得到最接近期望输出值的结果。其基本思想是梯度下降法,利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差为最小。

  在BP人工神经网络中,为了保证消除指标之间的量纲影响,利用线性函数归一化方法,通过查找各指标的最大值和最小值,将所有指标的数值映射到区间[0,1]内,以减少不同的量纲对BP人工神经网络模型的影响。归一化所采用的线性函数见公式2。

  其中,y为归一化后的值,x为归一化前的值,Min和Max为该项指标的最小值与最大值。通过公式(2)可以消除不同指标的量纲的影响。

  在得出评吸质量后,为了能够更为直观地与实际评吸质量对比,需要将结果进行逆归一化。逆归一化见公式(3)。

  其中,y为逆归一化后的值,x为逆归一化之前的值,Min和Max为评吸质量的最小值与最大值。

  BP人工神经网络的拟合结果的精度与网络结构有很大的关系。1989年,Hornik等[9]证明只需要一个拥有足够多节点数量的隐含层,神经网络就可以以任意的精度逼近任意复杂度的连续函数。但是目前对于隐含层节点数量的设定仍然是一个未解决的问题。

  本研究利用基于黄金分割的网络隐含层节点数优化算法[10]确定隐含层节点数量的大致范围,通过对不同隐含层节点数量进行测试、对比,最终确定的BP人工神经网络隐含层的节点数量为12。此外,输入层的节点数量为7个,输入量为7种化学成分。输出层节点数量为1个,输出量为烤烟评吸质量。所采用的传递函数为Sigmoid函数,即公式(4)。

  在确定了BP人工神经网络的结构后,利用C++语言设计了BP人工神经网络的相关算法。BP人工神经网络模型的参数设定为:网络目标误差为10-5,学习率为0.1。在BP人工神经网络中,网络目标误差设置过小容易导致网络不收敛或网络过拟合,过大容易导致网络欠拟合。学习率设置过小会导致收敛速度较慢,学习率设置过大可能导致网络振荡无法收敛。当BP人工神经网络输出和实际值的误差小于目标误差后,算法自动结束,此时各个神经元之间的连接权重和神经元输出的阈值即为所得到的BP神经网络模型。

  利用C++语言实现的BP人工神经网络算法的主要步骤如下:

  步骤1:初始化。随机初始化神经网络中所有节点的阈值和节点之间的权重。

  步骤2:将样本数据输入到神经网络中,根据步骤1中随机初始化的阈值和权重,分别计算不同样本的输出值。

  步骤3:根据步骤2中BP人工神经网络输出的样本值和实际值进行计算,得出其均方根误差,判断此时的均方根误差是否已经满足BP人工神经网络的性能要求。若此时均方根误差大于设定值,则进行步骤4,否则,进行步骤5。

  步骤4:根据步骤3中的均方根误差,从输出层开始反向、依次计算BP人工神经网络中输出层、隐含层的梯度项,并依次对网络中节点的阈值和节点之间的权重进行更新。

  步骤5:算法停止迭代,记录、保存当前的节点阈值和节点间的权重,完成BP人工神经网络模型的建立。

  3 质量评估系统的实现

  为了能够方便地完成对烤烟评吸质量的评估,需要利用计算机高级语言将本研究所利用的方法开发成计算机应用程序。

  利用C++语言,基于MFC类库,实现了烤烟评吸质量评估应用程序。该应用程序由三个部分组成,如图1所示。第一部分为数据库。数据库由SQL Server 2012开发,用于存放烤烟化学成分和对应的评吸质量数据。第二部分为核心功能部分,包含实现七个主要功能的相关函数。第三部分为人机交互界面,可以方便、直观地完成各项功能,如图2所示。

  应用程序的主要功能如下。

  1)导入样本数据。导入数据功能运用ODBC(Open database connectivity)结构,在服务器端配置好ODBC数据源后,可以很方便地访问SQL 2012数据库并对数据进行读、写操作。

  2)导出样本数据。为方便对数据进行管理,应用程序可以将导入的数据导出保存为.xls文件。

  3)样本数据归一化。利用线性函数归一化方法,将所有指标的数值在程序内映射到区间[0,1],在人机交互界面中,数值的大小不会发生变化,以保证原始数据具有较好的可读性,方便用户操作。

  4)训练神经网络模型。完成导入数据和归一化处理后,可以利用BP人工神经网络建立评估模型。在神经网络模型训练的过程中,程序会自动等待训练结束,并在结束时进行提示。

  5)保存神经网络模型。由于利用BP人工神经网络训练模型需要耗费一定的时间,为了提高程序运行效率,程序可以将当前训练得出的BP人工神经网络模型保存为本地的模型文件方便后续使用。

  6)导入神经网络模型。如果已经存在BP人工神经网络的模型文件,则可以直接导入该模型,避免由于多次训练模型造成的时间浪费。

  推荐阅读:湖南烟草坚持为社会主义服务的方向,坚持以马克思列宁主义、毛泽东思想和邓小平理论为指导,贯彻“百花齐放、百家争鸣”和“古为今用、洋为中用”的方针,坚持实事求是、理论与实际相结合的严谨学风,传播先进的科学文化知识。

转载请注明来自:http://www.zazhifabiao.com/lunwen/nykx/nygc/44860.html