一种基于遗传算法优化神经网络的卷烟材料与主流烟气成分的预测模型的制作方法

文档序号:16313763发布日期:2018-12-19 05:23阅读:417来源:国知局
一种基于遗传算法优化神经网络的卷烟材料与主流烟气成分的预测模型的制作方法

本发明涉及一种预测模型,属于工业设计与生产领域,利用遗传算法优化神经网络建立卷烟材料与主流烟气成分之间的映射关系,为卷烟制造业合理调整卷烟材料配方,生产符合规格的香烟提供了模型,具体说是一种基于神经网络的卷烟材料与主流烟气成分的预测模型。

背景技术

在烟草制造业中,烟草释放的有害气体成分和含量一直是烟草制造公司和消费者关心的问题。为了优化产品设计,加快生产效率,生产合格且低危害的产品,烟草制造行业需要利用统计学相关的知识,对烟草原材料进行典型相关分析、主成分分析和偏相关分析等,得到与主流烟气相关程度最高的卷烟材料,然后对分析得到的主成分和主流烟气建立适当的模型,以协助烟草制造过程中的取材和生产。随着信息技术的发展,计算机的计算和处理能力不断提高,利用计算机对数据进行统计学分析、处理和建模成为趋势。利用计算机可以快速的进行分析和建模,可是传统的统计学分析方法是基于少量数据和人们的先验知识进行数据分析和建模,这种建模方法具有很强的针对性,且模型的适用性很差。

近年来,深度学习再次兴起,神经网络依靠复杂的网络结构和自学习能力可以较好的拟合各种看似无规律的数据,不仅为规律不明显的数据建模提供了新的建模方法,而且相比传统的统计学建模方法的拟合效果更好。bp神经网络是一种将学习规则一般化,对非线性可微分函数进行权值训练的多层网络权值的调整采用反向传播的学习算法。学习的过程分为两个阶段:(1)信息正向传播;(2)误差反向传播。在bp神经网络的训练过程中,如果一次的输出结果与期望的输出结果之间的差值超过某个标准,并且训练的次数没有达到设定的最大训练次数,那么误差以某种形式回传,并修正各层的权值,使输出值一步步接近期望的输出值,直到误差减小到可接受的程度或者训练次数达到预先设定的次数。目前,神经网络相关的技术已经开始在卷烟感官评价与主流烟气成分关系的模型得到应用,但还没有利用遗传算法优化bp神经网络建立卷烟材料与主流烟气模型的先例。



技术实现要素:

本发明针对现有技术的不足,提出了一种基于遗传算法优化bp神经网络建立卷烟材料与主流烟气成分预测模型的方法。

本发明公开了一种建立卷烟材料与主流烟气成分的预测模型和使用模型的方法,首先利用遗传算法基于神经网络的结构选择最佳的初始权值和阈值;然后基于遗传算法得到的最佳初始权值和阈值训练神经网络,以避免模型陷入局部最优解,而不是全局最优解;最后,基于训练的模型,以真实数据为输入,评估模型是否可以应用于生产实际。

本发明采用的技术方案是:一种基于遗传算法优化神经网络的卷烟材料与主流烟气成分的预测模型,其特征在于,包括以下步骤:

步骤1:样本预处理;

步骤2:基于遗传算法得到神经网络最优的权值和阈值参数;

步骤3:基于遗传算法得到的最佳权值和阈值,构建神经网络,并训练神经网络模型;

步骤4:对训练得到的神经网络模型进行验证,评估模型应用于实际的效果。

进一步的,步骤1的具体实现包括以下子步骤:

步骤1.1:去除样本中存在缺失值和数据明显不符合实际的数据记录;

步骤1.2:原始数据中的数据按照下述表达式进行归一化,x代表原始数据,y代表归一化之后的数据,minvalue和maxvalue分别代表原始数据的最小值最大值,y=(x-minvalue)/(maxvalue-minvalue);

步骤1.3:将归一化之后的数据划分为训练集和测试集。

进一步的,步骤2的具体实现包括以下子步骤:

步骤2.1:定义神经网络的常数参数,输入层节点数input_node、隐藏层节点数layer1_node、输出层节点数output_node、基础的学习率learning_rate_base、学习率的衰减率learning_rate_decay、描述模型复杂度的正则化项在损失函数中的系数reaularization_rate、训练轮数training_setps、滑动平均衰减率moving_average_decay;

步骤2.2:定义激活函数tf.nn.relu()、损失函数loss()、优化损失函数的优化算法tf.train.gradientdescentoptimizer();

步骤2.3:设置种群的进化代数,种群规模,交叉和变异概率,并对神经元的初始权重和阈值进行实数编码;

步骤2.4:计算种群的适应度,从当前种群中选择最优部分个体;

步骤2.5:种群进行选择、交叉、变异操作;

步骤2.6:判断是否达到了优化目标,若达到了优化目标,选择最佳的权值和阈值执行下一步,否则执行步骤2.4;

进一步的,步骤3的具体实现包括以下子步骤:

步骤3.1:基于上一步得到的最佳权值和阈值和其他神经网络参数构建bp神经网络;

步骤3.2:训练神经网络模型;

步骤3.3:计算训练的神经网络模型输出的值与数据集中的真实值之间的误差,根据误差逐层向前更新神经网络各层的权值和阈值;

步骤3.4:判断得到的模型是否达到了预期的精度或者最大迭代次数,若是,则执行下一步,否则返回步骤3.2;

进一步的,步骤4的具体实现包括以下子步骤:

步骤4.1:把测试集中的数据输入步骤3中得到的神经网络模型,得到对应的输出值;

步骤4.2:计算模型输出值与真实值之间的误差,若误差达到了预期的要求,则模型可以应用于实际生产中,否则,返回步骤2,调整各项参数,重新训练模型。

本发明的有益效果和特点是:本发明是第一个基于遗传算法优化bp神经网络的卷烟材料到主流烟气成分的预测模型。传统的线性回归拟合曲线在处理多输入多输出非线性映射关系时,常常欠拟合。bp网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。采用bp神经网络训练模型的过程中反复修正权值,不断优化模型,可以使模型以任意精度拟合训练数据。卷烟材料与主流烟气成分之间存在某种复杂的非线性映射关系,因此使用遗传算法优化bp神经网络建立卷烟材料与主流烟气之间的预测模型不仅比传统的回归方法更合适,而且由于未优化的神经网络模型。

附图说明

图1是本发明实施例的原理框架结构;

图2是基于遗传算法选择最佳神经网络初始化参数过程中,适应度变化曲线;

图3、图4分别是未使用遗传算法优化的神经网络模型对焦油和co的预测误差对比图;

图5、图6分别是使用遗传算法优化的神经网络模型对焦油和co的预测准确度对比图。

具体实施方式

下面结合附图对本发明进行进一步说明:

本实例中,把全部的实验数据集划分成两部分,一部分作为bp神经网络的训练集,另一部分作为bp神经网络的测试集,训练集中的数据取总数据量的2/3—4/5。定义d是n×m的数据集,每一行代表一条数据记录,每一列表示一个属性。令集合a和b分别表示划分数据集得到的训练集和测试集。先基于训练集a基于遗传算法得到最佳的神经网络权值和阈值,再把最佳的神经网络权值和阈值作为训练bp神经网络模型的初始参数训练神经网络,当网络的输出结果与期望的输出结果之间的差值达到某个标准或者达到了最大的迭代次数,就认为bp神经网络已经训练完成了,然后使用测试集b检验训练的模型在新数据集上的预测精度。

本发明提出了一种基于遗传算法优化bp神经网络建立卷烟材料与主流烟气成分的预测模型和使用模型的方法。包括以下步骤(可参照图1):

步骤1:样本预处理;

步骤1.1:去除样本中存在缺失值和数据明显不符合实际的数据记录;

步骤1.2:原始数据中的数据按照下述表达式进行归一化,x代表原始数据,y代表归一化之后的数据,minvalue和maxvalue分别代表原始数据的最小值最大值,y=(x-minvalue)/(maxvalue-minvalue);

步骤1.3:将归一化之后的数据划分为训练集和测试集。

实施例具体的实施过程说明如下:

对数据集中每个数据记录中每个属性的值x按照y=(x-minvalue)/(maxvalue-minvalue)的方式得到归一化之后的值y,把计算得到的每一个y值作为对应属性的值,从而组成新的n×m的数据集。

把归一化之后的数据集中2/3—4/5的数据记录划分到训练集,剩下的数据划分到测试集,在划分训练集和测试的过程中,要采用随机划分的方式,以避免数据集划分过程中认为因素对实验结果的影响。

步骤2:基于遗传算法得到神经网络最优的权值和阈值参数;

步骤2.1:定义神经网络的常数参数,输入层节点数input_node、隐藏层节点数layer1_node、输出层节点数output_node、基础的学习率learning_rate_base、学习率的衰减率learning_rate_decay、描述模型复杂度的正则化项在损失函数中的系数reaularization_rate、训练轮数training_setps、滑动平均衰减率moving_average_decay;

步骤2.2:定义激活函数tf.nn.relu()、损失函数loss()、优化损失函数的优化算法tf.train.gradientdescentoptimizer();

步骤2.3:设置种群的进化代数,种群规模,交叉和变异概率,并对神经元的初始权重和阈值进行实数编码;

步骤2.4:计算种群的适应度,从当前种群中选择最优部分个体;

步骤2.5:种群进行选择、交叉、变异操作;

步骤2.6:判断是否达到了优化目标,若达到了优化目标,选择最佳的权值和阈值执行下一步,否则执行步骤2.4;

实施例具体的实施过程说明如下:

在使用遗传算法获得最佳的权值和阈值之前,先确定神经网络的输入层节点数input_node、隐藏层的数量和隐藏层节点数layer1_node、输出层节点数量output_node等一系列神经网络需要的参数和遗传算法中需要的参数,如:进化代数、种群规模等。然后初始化神经元的初始权值和阈值进行实数编码,逐一计算种群的适应度,并依次进行神经元的选择、交叉和变异操作。每执行一轮选择、交叉和变异,种群就更新一次,需要重新计算种群的适应度。种群适应度是刻画种群对问题最优解逼近程度的一项指标,这里采用计算训练集中全部数据与模型的预测值误差之和的方式求解每个个体的适应度。根据个体的适应度,选择适应度数值较小的部分个体组成新的种群,在新种群中,继续进行选择、交叉和变异,使种群不断迭代,不端逼近最优解。每次计算适应度之后,保存之前所有迭代中获得最佳适应度的神经元,最终得到的最佳神经元将作为下一步训练最终神经网络模型的初始权值和阈值。

步骤3:基于遗传算法得到的最佳权值和阈值,构建神经网络,并训练神经网络模型;

步骤3.1:基于上一步得到的最佳权值和阈值和其他神经网络参数构建bp神经网络;

步骤3.2:训练神经网络模型;

步骤3.3:计算训练的神经网络模型输出的值与数据集中的真实值之间的误差,根据误差逐层向前更新神经网络各层的权值和阈值;

步骤3.4:判断得到的模型是否达到了预期的精度或者最大迭代次数,若是,则执行下一步,否则返回步骤3.2;

实施例具体的实施过程说明如下:

根据步骤2中得到的最佳神经元初始化神经网络的最初权值和阈值。在训练过程中,各层的权值将根据输出值与期望的输出值之间的差值逐渐调整,直到得到按照当前网络结构下的最佳状态。bp神经网络的训练过程不仅需要多轮训练,还有可能经过多次调整网络的隐藏层数量和各层的节点数,使输出结果不断优化。

在神经网络隐藏层和输出层,需要使用非线性函数作为激活函数,使模型建立非线性映射。在输出层,为了评估模型训练的好坏,定义一个损失函数对模型效用进行评估。在网络训练刚刚的开始阶段,为了提升训练速度,采用指数下降策略来调整权值,达到快速收敛的效用,为了避免模型的过拟合,在损失函数中加入描述模型复杂度的正则化项,经过若干次迭代,使用优化算法优化网络中各层的权值。

在确定了网络结构、激活函数、损失函数和优化算法之后,就可以开始基于训练数据集训练神经网络。在训练bp神经网络的过程中,神经网络内部会不断调整各层节点的权值,直到达到当前网络配置下最佳的训练结果。此时,bp神经网络的训练并没有结束,在一次神经网络的配置下完成训练之后,还应该根据实验结果确定是否对神经网络的结构和某些参数进行调整后重新训练,以得到最佳的网络模型。

步骤4:对训练得到的神经网络模型进行验证,评估模型应用于实际的效果。。

步骤4.1:把测试集中的数据输入步骤3中得到的神经网络模型,得到对应的输出值;

步骤4.2:计算模型输出值与真实值之间的误差,若误差达到了预期的要求,则模型可以应用于实际生产中,否则,返回步骤2,调整各项参数,重新训练模型。

在训练好神经网络之后,再用测试集检测训练得到的模型是否可以应用于生产实际中,如果在测试集中基于bp神经网络的预测值与测试集中的输出值之差在某个规定的范围内,就认为训练得到的bp神经网络模型是可以应用于生产实际的;否则,bp神经网络模型需要重新构建和训练。

通过图3、图4、图5、图6的对比说明,本专利通过使用遗传算法优化的神经网络模型得出的焦油、烟碱和co的预测值精度相对于未使用遗传算法优化的神经网络模型得出的焦油、烟碱和co的预测值精度有了较大的提高,说明本专利采用的技术方案的确能取得较好的实际效果,对协助烟草制造过程中的取材和生产会产生积极作用。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的结构关系及原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1