一种基于深度学习的水产养殖水质预测方法与流程

文档序号:11946327阅读:1066来源:国知局
一种基于深度学习的水产养殖水质预测方法与流程
本发明涉及一种基于深度学习的水产养殖水质预测方法。
背景技术
:我国水产养殖业正从传统的粗放式放养模式逐步向工厂化、集约化养殖模式发展。由于集约化水产养殖密度大,当出现水质问题时,往往已经造成了无可挽回的损失,故水质的预测成为集约化水产养殖中最为关键的一环。水产养殖中水质的预测是指根据传感器或人工输入获取水产养殖过程中相关的信息,如当前的溶氧、pH、电导率、氨氮、温度、水流量、水深、池面积、鱼的数量、鱼的生长阶段、鱼的种类等,能计算出一段固定时间后水质的好坏或各项参数值。水产养殖中水质的预测问题具有复杂非线性特性,因此,要求预测模型需要具备高度的学习和泛化能力。传统的水质预测方法主要包括:马尔可夫法、回归预测法、时间序列法、水质模型预测法等。尽管传统预测方法的数学模型多具有操作简单、单一、易于实现的特点,但预测的效率和精度不高。随着计算智能与仿生技术的发展,涌现出许多基于计算智能的新型预测方法,促进了水质预测方法的快速发展。新型水质预测方法主要包括:灰色理论法、人工神经网络法、支持向量回归机或最小二乘支持向量回归机预测法、组合预测法等。这些方法要么不能适用于问题的非线性,要么不具备现实应用的泛化能力。技术实现要素:为了解决传统水产养殖水质预测方法无法满足复杂非线性的技术问题,本发明的技术方案是:一种基于深度学习的水产养殖水质预测方法,包括以下步骤:步骤1:采集关于水产养殖的相关数据作为用于训练的数据,并对数据输入归一化预处理;步骤2:搭建深度学习网络结构模型,所述的模型由三个受限玻尔兹曼机即RBM来构成一个深度信念网络即DBN;步骤3:初始化步骤2中的模型;步骤4:将步骤1中预处理后的数据作为训练样本输入到模型第一层RBM的可视层,通过对比散度算法训练第一层RBM网络,直到能量函数收敛;步骤5:第一层RBM训练后,固定其网络参数,将第一层RBM隐含层作为第二个RBM的可视层;数据样本经过第一层RBM抽取初步的特征数据,用于第二层RBM的输入,通过对比散度算法训练第二层RBM网络,直到能量函数收敛;步骤6:第二层RBM训练后,固定其网络参数,将第二层RBM隐含层作为第三个RBM的可视层;数据样本经过第一层RBM、第二层RBM抽取深层次的特征数据,用于第三层RBM的输入;继续通过对比散度算法训练第三层RBM网络,直到能量函数收敛;第三层RBM训练后输出单元的结果即为初水质预测值;步骤7:经过训练,完成构建基于深度学习的水质预测模型,将未学习过的水质监测数据输入预测模型,用来预测水质。所述的一种基于深度学习的水产养殖水质预测方法,所述的步骤1中,关于水产养殖的相关数据包括溶氧、pH、氨氮、温度、水深、池面积、鱼的数量、鱼的种类和水质评价数据。所述的一种基于深度学习的水产养殖水质预测方法,所述的步骤2中,在DBN的最顶层上还包括一个用于监督训练的BP网络。所述的一种基于深度学习的水产养殖水质预测方法,在执行步骤7之前,首先根据初水质预测值和水质评价数据,通过BP算法对深度学习网络中的参数,包括每一层RBM的网络参数进行微调,从而获得更准确的预测值。所述的一种基于深度学习的水产养殖水质预测方法,所述的步骤3中,RBM所基于的能量函数为:E(v,h|w,a,b)=-Σijwijvihj-Σibivi-Σjajhj]]>其中,v和h分别代表可视层和隐藏层单元,a和b为网络中的偏置,w为层间连接权重,i和j分别代表可视层和隐藏层单元的编号;初始化是将网络参数中的偏置量ai和bj初始化为0,层间的连接权重wij设定为服从均值为0,标准差为1的正态分布。所述的一种基于深度学习的水产养殖水质预测方法,所述的步骤4中,通过对比散度算法训练的步骤包括:步骤一:基于能量函数得到(v,h)的联合概率分布为p(v,h)=exp(-E(v,h|w,a,b))/Σh,vexp(-E(v,h|w,a,b))=(ΠijewijvihjΠiebiviΠjeajhj)/Σh,vexp(-E(v,h|w,a,b));]]>步骤二:给定一个随机选定的可视层v,隐藏层单元hj的二进制状态被设置为1的概率为p(hj=1|v)=σ(bj+Σiviwij)]]>其中,函数是一个条件贝努利分布;步骤三:根据步骤二中公式计算出的概率分布中采用Gibbs采样来抽取隐藏层样本hj,用于重构可视层;步骤四:利用采样后的隐藏层样本hj计算可视层单元的二进制状态被设置为1的概率为p(vi=1|h)=σ(ai+Σjhjwij);]]>步骤五:根据步骤四中公式计算出的概率分布中采用Gibbs采样抽取可视层样本vi来重构隐藏层;步骤六:根据重构前后隐藏层和可视层的分布差异对网络参数{w,a,b}进行更新。本发明的技术效果在于,通过深度学习来从少数样本集中学习数据集本质特征,可以获得各类不同水质因子之间的特征关联性,提高水质预测的准确度。下面结合附图对本发明作进一步说明。附图说明图1为本发明的深度学习网络的结构模型;图2是基于深度学习的水产养殖水质预测实现流程。具体实施方式参见图1、图2,以下实施例从具体实例的训练和预测两个步骤来说明本发明的实施过程。(1)训练步骤:步骤1:通过无线传感器网络节点获得水产养殖水塘中的水质因子,包括:溶氧、pH、氨氮、温度。通过无线传输协议,把数据传输到服务器端。利用水质检测仪获取水质评价数据作为水质标记数据。同时,在服务器端记录水塘的水深、池面积、鱼的数量、鱼的种类。将以上记录数据作为训练样本对深度学习网络进行训练学习。步骤2:初始化深度学习网络。网络的输入层(第一层RBM的可视层)有8个节点,分别对应步骤1中的因子输入。输出层(BP的输出层)为3个节点,分别代表水质的优、良、差。将其网络参数中的偏置量ai和bj初始化为0,层间的连接权重wij设定为服从均值为0,标准差为1的正态分布;步骤3:将预处理后的数据作为训练样本输入到第一层RBM的可视层,通过对比散度算法训练第一层RBM网络,直到能量函数收敛。其中能量函数为E(v,h|w,a,b)=-Σijwijvihj-Σibivi-Σjajhj---(1)]]>其中,v和h分别代表可视层和隐藏层单元,a和b为网络中的偏置,w为层间连接权重,i和j分别代表可视层和隐藏层单元的编号。基于该能量函数,可以得到(v,h)的联合概率分布为p(v,h)=exp(-E(v,h|w,a,b))/Σh,vexp(-E(v,h|w,a,b))=(ΠijewijvihjΠiebiviΠjeajhj)/Σh,vexp(-E(v,h|w,a,b))---(2)]]>可通过联合概率求得隐藏层和可视层的样本概率。本发明中采用对比散度的学习算法进行训练,获取RBM网络参数,训练过程如下:步骤3.1:考虑到隐藏层内部节点之间无连接,即具有条件独立性。因此,给定一个随机选定的可视层v,隐藏层单元hj的二进制状态被设置为1的概率为p(hj=1|v)=σ(bj+Σiviwij)---(3)]]>其中,函数是一个条件贝努利分布。步骤3.2:根据式(3)计算出的概率分布中采用Gibbs采样来抽取隐藏层样本hj,用于重构可视层。步骤3.3:利用采样后的隐藏层样本hj计算可视层单元的二进制状态被设置为1的概率为p(vi=1|h)=σ(ai+Σjhjwij)---(4)]]>步骤3.4:同样,根据式(4)计算出的概率分布中采用Gibbs采样抽取可视层样本vi来重构隐藏层。步骤3.5:根据重构前后隐藏层和可视层的分布差异对网络参数{w,a,b}进行更新。步骤4:第一层RBM训练后,固定其网络参数,将第一层RBM隐含层作为第二个RBM的可视层。数据样本经过第一层RBM抽取初步的特征数据,用于第二层RBM的输入,通过对比散度算法训练第二层RBM网络,直到能量函数收敛。训练过程与步骤3中的相同。步骤5:第二层RBM训练后,固定其网络参数,将第二层RBM隐含层作为第三个RBM的可视层。数据样本经过第一层RBM、第二层RBM抽取深层次的特征数据,用于第三层RBM的输入。继续通过对比散度算法训练第三层RBM网络,直到能量函数收敛。训练过程与步骤3中的相同。第三层RBM训练后输出单元的结果即为粗略的水质预测值步骤6:根据粗略的预测值和水质标记数据x,通过BP算法对深度学习网络中的参数,包括每一层RBM的网络参数进行微调,从而获得更准确的预测值,直到误差小于设定的阈值。步骤7:此时,深度学习网络训练结束,基于深度学习的水质预测模型模型构建完成。(2)测试步骤:步骤1:通过无线传感器网络节点获得当前的水产养殖水塘中的水质因子,包括:溶氧、pH、氨氮、温度。通过无线传输协议,把数据传输到服务器端。步骤2:在服务器端对水质因子进行归一化预处理。此外,结合会影响水质变化的水塘本身的相关因子,包括:水深、池面积、鱼的数量、鱼的种类,作为深度学习网络的输入。其中,鱼的种类以数字代码形式进行输入。步骤3:将步骤2中的数据输入到基于深度学习的水质预测模型,通过网络计算获得水质预测。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1