APP下载

基于改进神经网络算法的蛋鸡产蛋率预测研究*

2021-03-31张健崔英杰

中国农机化学报 2021年2期
关键词:产蛋率产蛋蛋鸡

张健,崔英杰

(黄淮学院,河南驻马店,463000)

0 引言

蛋鸡的产蛋率是养殖户最关心的问题,从动态角度研究和认识产蛋规律,不仅可以准确预测蛋鸡的产蛋量,还为评估产蛋量性状的育种值提供参考[1],因此蛋鸡产蛋率预测是蛋鸡研究中一项非常重要的内容。

蛋鸡产蛋率预测属于非线性系统方面的问题,如果通过单一性的参数进行预测,没有全面分析多方面参数对蛋鸡产蛋率的影响,预测精度偏低。产蛋率预测拟合模型研究始于1981年,McMillan最早提出McMillan分室模型建立产蛋率与时间的非线性拟合曲线[2]。Yang等在McMillan模型的基础上进行了改进,提出一种杨宁模型用于产蛋率与时间的拟合[3]。McNally发现产蛋曲线与奶牛的泌乳曲线有一定的相似性,提出可以用Wood模型来描述家禽的产蛋曲线[4]。基于支持向量机(Support Vector Machine, SVM)回归的产蛋率多参数预测模型[5],对产蛋数据的分类和拟合能够获得较优的结果,但是SVM核函数选择直接关系到模型的泛化能力,同时SVM过度依赖参数调节。基于极限学习机(Extreme Learning Machine, ELM)方法用于蛋鸡产蛋率预测[6],避免神经网络多次迭代更新网络参数缺陷,该预测模型具有良好的可信度和泛化能力。神经网络通过自我学习极易处理非线性问题[7],建立的非线性蛋鸡产蛋模型可以满足模拟鸡舍的复杂环境对蛋鸡产蛋率预测,但是神经网络存在收敛速度慢、容易陷入局部极值的缺陷。通过其他智能算法如粒子群优化神经网络算法(Particle Swarm Optimization Neural Network, PSONN)、蚁群优化神经网络算法(Ant Colony Neural Network, ACNN)对神经网络参数优化[8-9],改善了网络的性能,提高了预测效果。

本文提出改进神经网络算法(Improved Neural Network, INN),动态调节神经网络模型参数,使神经网络算法具有较高的预测精度;激活函数采用修正线性激活函数ReLu,计算速度比较快,保证了预测的时效性。

1 改进神经网络算法

1.1 神经网络算法

常见的神经网络结构包括输入层、隐藏层、输出层,影响蛋鸡产蛋率的参数从输入层经过隐藏层处理,再经过非线性变换,传至输出层,其中输入层与输出层的节点数由实际所解决问题影响因素决定[10],本文在蛋鸡产蛋率预测中涉及到参数共计10个:鸡龄、温度、湿度、光照、饮水量、空气质量、日粮营养、疾病、用药不当、应激反应,产蛋性状是一个受微效多参数控制的数量性状,但蛋鸡在常规饲养管理条件下,产蛋曲线具有一定的规律性,这样设置输入层节点总数M为10,即可代表影响蛋鸡产蛋率预测的参数,蛋鸡产蛋模型输出层节点总数为J,隐藏层节点总数

(1)

其中:Q∈(0,10)为常数。

神经网络可以同时处理多个输入变量,即使在输入各个变量的数据较小情况下也能得到较好的结果,但是由于神经网络每层中每个神经元的初始权重以及阈值通常是在[0,1]区间随机产生,初始值对神经网络训练的影响很大,如果不能准确获得,则使得随机性和不确定性增加,导致小波神经网络收敛慢、学习过程稳定性差,很容易陷入局部最优解,因此需要对神经网络改进。

1.2 动态设置神经网络模型参数

神经网络训练有两个环节,第一个环节主要是进行正向传播输入数据信息,第二个环节主要是进行对训练结果和预期结果误差反向传播从而修正训练和预期结果[11],神经网络输出节点的误差函数

(2)

式中:dl(n)——神经网络输出节点第l个神经元的期望输出值;

Wl(n)——神经网络输出节点第l个神经元的实际输出值。

依据神经网络误差与动态因子来优化神经网络权值ω,计算过程

(3)

式中:α——动态因子,相当于阻尼项;

β——学习速率;

n——训练次数;

依据误差函数的梯度来调节动态因子

(4)

式中:p——最大允许误差变化率;

λ——随机数,λ∈(0,1)。

为了使在神经网络开始训练阶段学习速率较大从而加快学习,β(t)接近βmax这样可以快速达到收敛目标,当迭代次数超过tmax后,β(t)迅速减小,最终βmin在获得收敛,减小了误差,提高网络训练精度,因此神经网络训练自适应学习速率

(5)

式中:βmax、βmin——最大、最小学习速率;

t——当前迭代次数;

tmax——迭代最大次数。

神经网络权值更新

(6)

式中:j、i、k——输出层、隐含层、输入层节点数;

ωi j——输入层与隐含层连接权值;

ωki——隐含层与输出层连接权值;

Hi——隐含层输出结果。

神经网络阈值更新

(7)

式中:τj——隐含层阈值;

ζj——输出层阈值。

1.3 激活函数

输入层到隐含层的激活函数、隐含层到输出层的激活函数采用修正线性激活函数ReLu

g(c)=min(φmax,max(φmin,c))

(8)

式中:c、g(c)——输入值、输出值;

φmin、φmax——激活函数ReLu边缘常量值。

相比较传统的Sigmoid型激活函数,修正线性激活函数Relu没有除法和指数运算,计算速度比较快。

改进神经网络训练算法流程如图1所示。

图1 改进神经网络训练算法流程图Fig. 1 Chart of improved Neural Network training algorithm

2 蛋鸡产蛋率预测

2.1 预测模型

(9)

式中:ζi——第i个隐含层与输出节点的输出权值;

ψi——输入节点与第i个隐含层的输入权值;

gi——激活函数;

y′i——预测值;

bi——微调因子,bi∈(0,1)。

通过xi、yi建立神经网络的训练样本,利用神经网络的逼近功能,从而建立产蛋率预测模型。

产蛋率记录蛋鸡在20~50周时每天的产蛋数和产蛋鸡数,产蛋率

(10)

式中:N——每天产蛋数;

M——母鸡数。

2.2 产蛋率预测评价指标

预测性能的评价指标采用均方误差MSE以及相关系数r,如式(11)所示。

(11)

式中:f′i、fi——第i个样本的预测值和实际值;

MSE值越大,说明模型预测效果较差,r值越接近1,说明预测结果和实际值的相关程度越高。

预测流程如图2所示。

图2 预测流程图Fig. 2 Chart of forecast

3 试验仿真

设置神经网络参数为:最大训练次数500次,学习速率最小值、最大值为0.05、0.92,目标误差度10-3,最小梯度10-7,隐藏层节点为12,利用Matlab2016编程实现仿真。

3.1 预测结果分析

蛋鸡从产蛋开始至蛋鸡出售期,记录蛋鸡每天产蛋率以及各项影响产蛋因子的数据,第一批蛋鸡800只作为训练样本,第二批蛋鸡1 000只作为测试样本,涉及到的影响参数数据有鸡龄、温度、湿度、光照、饮水量、空气质量、日粮营养、疾病、用药不当、应激反应。表1为10组蛋鸡产蛋率与影响参数数据。

表1 产蛋率与影响参数数据Tab. 1 Egg production rate and influence parameter data

根据表1数据,通过不同算法对蛋鸡产蛋率进行预测,算法有SVM、ELM、PSONN、ACNN、NN、INN算法,结果如图3所示。

图3 蛋鸡产蛋率预测结果Fig. 3 Egg production rate prediction results of laying hens

从图3可以看出,INN算法在蛋鸡初期产蛋率预测与实际值都比较接近,但是在蛋鸡初期产蛋率高峰过后INN算法的曲线走势符合实际产蛋率的变化趋势,INN算法对产蛋率数据预测相比其他算法更接近实际产蛋率数据,预测效果比较好,并且数据波动小,INN算法在预测产蛋率上有很强的稳定性,因此改进神经网络模型能够对蛋鸡产蛋率较好的预测。

3.2 预测指标分析

考虑到试验过程中存在的偶然性,某一次的运行结果缺乏严谨性,通过多次反复验证,即每种算法设置试验次数为30次,SVM、ELM、PSONN、ACNN、NN、INN算法对产蛋率预测的相关系数r以及均方误差MSE仿真结果如图4所示。

(a) r(b) MSE

从图4可以看出,本文INN算法相关系数r均值为0.997 4,相比SVM、ELM、NN、PSONN、ACNN分别提高了0.58%、0.48%、0.40%、0.28%、0.23%,INN算法均方误差MSE值为0.001 1,相比SVM、ELM、NN、PSONN、ACNN分别减少了5.89%、4.92%、3.93%、2.67%、1.81%,因此说明预测模型的精确度较高。

3.3 执行时间分析

在每种算法设置试验次数为30次条件下,对SVM、ELM、NN、PSONN、ACNN算法的执行时间如图5所示。

(a) 训练时间(b) 预测时间

从图5可以看出,本文INN算法的训练时间、预测时间均少于其他算法,改进神经网络算法的训练时间均值为6.54 s,相比SVM、ELM、NN、PSONN、ACNN分别提高了54.11%、49.69%、44.86%、29.83%、20.73%;预测时间均值为2.75 s,相比SVM、ELM、NN、PSONN、ACNN分别提高了67.11%、61.05%、52.59%、44.56%、14.86%;因此改进神经网络算法对蛋鸡产蛋率速度较快,这说明本文INN算法具有较强的处理数据功能。

4 结论

本文对神经网络进行改进,神经网络自适应进行学习,提高神经网的预测精度,激活函数采用修正线性激活函数ReLu,计算速度比较快,试验仿真显示本文算法对蛋鸡产蛋率预测与实际值比较接近,评价指标较好,得出如下结论。

1) 改进的神经网络算法相较于传统的神经网络算法,产蛋率预测的相关系数以及均方误差提升较明显,产蛋率预测的相关系数均值为0.997 4,相比SVM、ELM、NN、PSONN、ACNN分别提高了0.58%、0.48%、0.40%、0.28%、0.23%;均方误差值为0.001 1,相比SVM、ELM、NN、PSONN、ACNN分别减少了5.89%、4.92%、3.93%、2.67%、1.81%。综上所述,改进神经网络算法的产蛋率预测模型精确度较高。

2) 改进神经网络算法的训练时间均值为6.54 s,相比SVM、ELM、NN、PSONN、ACNN分别提高了54.11%、49.69%、44.86%、29.83%、20.73%;预测时间均值为2.75 s,相比SVM、ELM、NN、PSONN、ACNN分别提高了67.11%、61.05%、52.59%、44.56%、14.86%;因此改进神经网络算法对蛋鸡产蛋率速度较快。

3) 在改进神经网络的训练和测试中,样本集具有局限性,最优模型的选择需要结合更多影响蛋鸡产蛋率的参数;同时为提升模型的准确率,未来需要更新扩充训练集样本。

猜你喜欢

产蛋率产蛋蛋鸡
蛋鸡多产蛋要过三道关
提高蛋鹅产蛋率的饲养与管理方法
春季蛋鸡养殖三防
种鸡产蛋期的限饲方法
产蛋目标
动物产蛋王
影响蛋鸭产蛋的因素(上)
蛋鸡和肉鸡
母鸡喜欢在舒服的地方产蛋
蛋鸡和肉鸡