赵宇峰
【摘 要】为了能够提高水产养殖中水体溶氧量短期预测精度,提出将遗传算法和反向传播(BP)神经网络相结合的预测模型。根据相关研究,采用对池水含氧量影响较大的几个影响因素,作为预测模型的输入端变化量;BP神经网络优化的阈值和初始权值通过遗传算法来获得,遗传算法具有全局搜索能力。采用改进后的BP神经网络建立起短期鱼塘含氧量预测模型,该方法具有较高的预测精度。
【关键词】鱼塘增氧;BP神经网络;短期预测;遗传算法
现代化的水产养殖中普遍使用增氧机作为鱼塘水体增氧设备。多数增氧机的运行控制多为手动,或者根据时间程控,或者依靠传感器采集的含氧量数据作为启动依据。但是由于现代水产养殖中单位水面投放密度大,养殖场气候变化快,水体藻类繁殖等因素,对水体的溶氧量影响大,而且具有突发性特点。增氧机不能及时反应,往往导致增氧不及时,造成翻塘事故,造成极大损失。
因此通过传感器采集影响鱼塘水体溶氧量因素的数据,通过控制手段进行短期的水体溶氧量预测。可以根据环境和水体变化及时或者提前启动增氧机,避免大规模翻塘事故的发生。因此鱼塘中水含氧量的短期预测是具有现实意义的。
1 BP神经网络
通过研究表明,水产养殖中影响水体溶氧量的因素比较多。包含养殖场实时气温、湿度、日照、气压等气象参数,以及水体藻类水平,水体富营养化条件以及生化需氧量等水体参数。属于典型的多输入,强耦合型的非线性映射关系。
神经元是模仿人神经元工作原理提出的模型。将许多神经元之间按照层级互相连接,可以构成具有非线性、自适应、自组织的信息处理能力的神经网络。利用人工神经网络能够模拟人脑的工作特性,BP神经网络是具有代表性的人工神经网络。当它的隐含层数和隐节点数具有相当规模(足够多),就可以以任意的精度逼近非线性映射关系。
BP神经网络初始权值和阈值通过遗传算法GA来确定,就可以避免BP网络存在的收敛速度慢、容易陷入局部最优值等问题。通过动量因子在BP学习算法中的引入,可以有效避免局部最优,达到较快搜索到全局最优解。根据水体溶氧理论选取了气压、气温、溶氧量、季节、时间等气象因素作为模型输入,使用遗传算法改进的BP 神经网络来建立鱼塘水体溶氧预测模型。
2 遗传算法改进型BP神经网络
在BP神经网络构建中,选择不合理的输入层和隐含层之间,隐含层和输出层之间的连接权值初值;设置了不恰当的隐含层与输出层的阈值初值,容易出现网络收敛速度很慢及陷入局部最优等问题。
“优胜劣汰,适者生存”是自然界遗传规律,遗传算法是模拟自然界进化规律提出的。使用遗传算法改进的BP神经网络鱼塘水体溶氧预测模型按照遗传规律方式进行参数优化。按照遗传规律,选取适应度函数,通过选择、交叉、变异方式对个体数据进行筛选。最优的个体会在筛选中被保留,较差的个体会被迭代、淘汰[1]。经过筛选后的种群就是在继承而且更优的一代,经过反复筛选、直到满足条件。
本文需要建设的是鱼塘水体溶氧量短期预测模型,所以BP网络的输出量为未来某一时刻的水体溶氧量,选择k=1。按照习惯水体溶氧量预测模型设计为包含输入、隐含、输出在内的3层结构的BP神经网络,隐层节点为2n+1。神经网络的数目选择为。隐含层的作用函数使用tansig型,使用pureline型函数作為输出层的变换函数[2]。
具体构建步骤如下:
1)种群初始化。种群的个体是由网络的输入层和隐含层之间的连接权值,隐含层神经元的阈值,隐含层和输出层之间的连接权值,输出层神经元的阈值组成的数字串。采用实数编码的方式对个体编码,每个个体就是一个实数串。个体表达形式为:
w■w■…w■w■w■…w■a■…a■w'■…w'■(1)
2)适应度函数的确定。适应度函数F使用该网络的输出和期望输出之间的绝对误差和的倒数。
F=1/?撞■■■(2)
3)操作选择。使用常规的轮盘赌注法从种群中随机选择若干个体,将选择的个体设定为双亲,用来繁殖后代。按照适应度函数的选择,适应度高的个体有更高的概率被遗传下去,而适应度低的个体被遗传的概率就比较小[2]。个体i能够被选择的概率为pi:
pi=F■/?撞■■F■(3)
式中:F■为个体i 的适应度值C,为种群个体的数目。
4)交叉操作。被选择的个体以交叉概率pc来交换个体内的数据(基因),于是产生两个新的个体。按照实数交叉法,两个个体k1和k2的第j位基因进行交叉,方式如下:
基因交叉的操作方法如下:
gk■j=gk■jr+gk■j(1-r)gk■j=gk■jr■+gk■j(1-r)(4)
式中:gk■j,gk■j分别表示第k■,k■个个体的第j位基因,r为随机数取值在[0,1]之间。
5)变异操作。为了增加种群的多样性,对第i 个个体的第j 个基因gij进行变异操作,变异概率为Pv,按照遗传率变异概率一般较小。变异操作的方法如下:
g■=g■r+(g■-g■)r■(1-■),r■?叟0.5g■r+(g■-g■)r■(1-■),r■<0.5(5)
中:g■,g■分别为基因g■的上界限和下界限,r是一个随机数,s■是最大进化次数,s是当前迭代次数,r1为随机数取值在[0,1]间的。
6)计算并验证适应度函数值。如果算法结束条件能够满足,将输出优化后的权值和阈值。如果算法结束条件不能够满足,就重新返回第3)步运算。
7)通过遗传算法优化后的输出,来组建BP神经网络。神经网络的权值和阈值来自于GA的输出,使用样本来对网络进行训练,就可以得到水体溶氧量短期预测模型。
8)水体溶氧量短期预测模型的泛化能力要使用检验样本来检测。
3 仿真
用于网络训练和检验的样本来自于真实的鱼塘的传感器采集到气象数据,这些数据记录了20天左右鱼塘的气象参数变化,由于气象数据变化较为缓慢,按照离散做法,选择每一段时间间隔的数据,组成采样样本。从中选择200组数据用作对网络的训练,30组数据用作对训练后网络的检测。以此建立起鱼塘水体溶氧量预测模型。
鱼塘水体溶氧量的预测依据参数主要是当前含氧量变化率,气温、气压、湿度。以t时刻为时间起点,选择该点的温度、气压、湿度等参数作为起始数据,组合t-3,…,t时刻的溶氧量作为预测模型输入变量,进行t+1h 时刻的溶氧量的预测。
为了避免因为输入量绝对值过大造成的神经元输出饱和,以及因此引起的取值调整进入水平区。对样品数据进行归一化处理是有必要的,使输入层、输出层数据都映射到[0,1]。在网络训练完成后,模型的输出再映射回原始数据的范围。
在遗传算法中,如果初始种群数目不够,将会导致后续计算的可变异基数少,得到性能良好的算法;但是如果種群数多,计算量又过大。按照经验,种群数一般选在20-60之间较为合理。因为做原理验证,避免大规模计算故选择20组,40次进化。
选择合适的交叉频率,可以控制交叉个体的更新速度。如果交叉概率过大,会造成高适应个体被快速破坏,而交叉概率过低,又会造成高适应个体搜索无效。一般按照经验,交叉概率选择为0.5。同样,变异率与交叉率类似,太大会造成搜索困难,太小优秀个体又产生不出来。按照经验,变异率选择为0.05。
经过仿真验证,遗传算法优化的神经网络参数较为合理的。再经过样本训练后,在一定的时间内,溶氧量预测模型的输出精度比较高。
4 结论
本文根据水体溶氧量理论,选取对水体影响较大,且容易由传感器采集的湿度、温度和气压等参数作为鱼塘水体溶氧量短期预测模型的输入量。减少了输入变量的个数,降低了预测模型的难度。利用遗传算法改进了预测模型的神经网络的初始参数,如神经网络的权值和阈值。经验证神经网络具有更快的收敛速度和一定的精度。为鱼塘短期氧容量预测提供了一种解决办法。
【参考文献】
[1]王宇,尹晓峰,黄鹏程.神经网络和遗传算法在胶粘剂设计中的应用[J].中国胶粘剂,2011-2-28.
[2]王德明,王莉,张广明.基于遗传BP神经网络的短期风速预测模型[J].浙江大学学报(工学版),2012-5-15.
[3]LightbodyL,IwinGW.Direet Neural Model Referenee Adaptive Control[J].IEEE Proc.Pt.D.Control Theory and pplieation,1995,142(l):31-43.
[4]周东华.自适应遗传算法的策略和应用研究[D].合肥:中国科学技术大学,2006:26-47.
[5]席裕庚,柴天佑.遗传算法综述[J].控制理论与应用,1996,13(6):11-27.
[6]李士勇.模糊控制.神经控制和智能控制论[M].哈尔滨:哈尔滨工业大学出版社,2004:254-264.
[责任编辑:田吉捷]