基于MapReduce和BP神经网络的人工养殖水产生长预测方法及系统转让专利

申请号 : CN202110234606.1

文献号 : CN113033876B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 田云臣侯嘉康

申请人 : 天津农学院

摘要 :

本申请提供了一种基于MapReduce和BP神经网络的人工养殖水产生长预测方法及系统。采用融合MapReduce算法的BP神经网络构建的模型对人工养殖水产生长进行预测,能普遍适用于大量数据样本,拟合效果好、提高了预测精度。

权利要求 :

1.一种基于MapReduce和BP神经网络的人工养殖水产生长预测方法,其特征在于,包括以下步骤:获取影响养殖水产生物生长的特征因子,并将获取的特征因子进行归一化处理;所述影响养殖水产生物生长的特征因子包括:日龄、存活率、饵料直径、投喂量、养殖密度、温度、光照强度、溶解氧、盐度、PH值、亚硝酸盐、氨氮、弧菌数、细菌总数以及投喂次;

将归一化处理后的特征因子输入至训练好的融合MapReduce算法的BP神经网络中,得出预测的养殖水产生物的体重;还包括以养殖时间为横轴,将预测得出的养殖水产生物的体重作为纵轴,进行曲线拟合,得出预测生长曲线与实际生长曲线进行对比,根据对比结果,调整批量梯度;

所述融合MapReduce算法的BP神经网络在进行训练时包括如下步骤:

S201、对BP神经网络进行并行化预处理;所述并行化预处理包括按照批处理梯度设定MapReduce读取每行数据中包含样本的个数;

S202、在Map阶段,将每行中包含的样本进行分割并组成一个新的数组,再使用小批量梯度下降算法进行BP神经网络训练,按照批处理数量更新平均权值并输出;在组成一个新的数组时,采用如下方法:利用split函数将样本分割成多行的列表;

利用numpy.array函数将列表转化为数组形式;其中,数组行数为批处理梯度,列数为数据的自变量个数;

S203、在Reduce阶段,将Map阶段的输出权值作为输入,并求其算术平均值作为输出,重复Map和Reduce阶段直至达到最大训练次数或达到规定精度。

2.根据权利要求1所述的人工养殖水产生长预测方法,其特征在于,所述BP神经网络为三层神经网络,包括输入层、隐藏层和输出层;将特征因子的个数表示神经网络的输入层节点个数,神经网络的输出层节点个数为1,表示实际体重。

3.根据权利要求2所述的人工养殖水产生长预测方法,其特征在于,在BP神经网络中按照如下公式计算隐藏层节点个数:其中,h为隐藏节点个数,n为整数。

4.一种基于MapReduce和BP神经网络的人工养殖水产生长预测系统,其特征在于,包括数据预处理模块、融合MapReduce算法的BP神经网络模型;

所述数据预处理模块用于获取影响养殖水产生物生长的特征因子,并将获取的特征因子进行归一化处理;

所述BP神经网络模型用于获取归一化处理后的特征因子,利用训练好的融合MapReduce算法的BP神经网络的网络参数,得出预测的养殖水产生物的体重;所述融合MapReduce算法的BP神经网络在进行训练时包括:对BP神经网络进行并行化预处理;所述并行化预处理包括按照批处理梯度设定MapReduce读取每行数据中包含样本的个数;

在Map阶段,将每行中包含的样本进行分割并组成一个新的数组,再使用小批量梯度下降算法进行BP神经网络训练,按照批处理数量更新平均权值并输出;在组成一个新的数组时,利用split函数将样本分割成多行的列表;利用numpy.array函数将列表转化为数组形式;其中,数组行数为批处理梯度,列数为数据的自变量个数;

在Reduce阶段,将Map阶段的输出权值作为输入,并求其算术平均值作为输出,重复Map和Reduce阶段直至达到最大训练次数或达到规定精度;

还包括曲线拟合模块,用于以养殖时间为横轴,将预测得出的养殖水产生物的体重作为纵轴,进行曲线拟合,得出预测生长曲线与实际生长曲线进行对比,输出对比结果。

5.根据权利要求4所述的人工养殖水产生长预测系统,其特征在于,所述BP神经网络模型为三层神经网络,所述BP神经网络为三层神经网络,包括输入层、隐藏层和输出层;将特征因子的个数表示神经网络的输入层节点个数,神经网络的输出层节点个数为1,表示实际体重。

说明书 :

基于MapReduce和BP神经网络的人工养殖水产生长预测方法

及系统

技术领域

[0001] 本发明涉及神经网络技术领域,具体涉及一种基于MapReduce和BP神经网络的人工养殖水产生长预测方法及系统。

背景技术

[0002] 现阶段多采用集约化、高密度的养殖方式以提高养殖产量和效益,在集约化水产养殖系统中采用在线水质参数检测技术、自动投饵控制技术以及部分水质参数自动调控技术的养殖系统。但存在病害时有发生、管理难度加大等问题,对精细化管理的需求日益迫切。水产生物的生长发育状况是影响其产量的关键因素,因此,采用神经网络等先进技术建立水产生物的生长模型、揭示水产生物的生长发育规律进而实现精细管理十分必要。
[0003] 现阶段多采用BP神经网络建立水产生物的生长模型,BP神经网络算法全称误差反向传播算法,由Romelhart和Mcclelland于1986年提出,由于具有结构简单、易于实现和优良的非线性映射能力等优点被广泛应用于图像压缩编码、人脸识别、故障检测、最优预测和分类等领域。虽然这些优点使其广泛应用于各个领域,但是它自身的缺点也逐渐暴露出来。BP神经网络算法在训练时具有高额的计算开销,使得它的学习效率较低、收敛速度较慢,处理大容量数据集时该问题尤为明显,严重影响了算法的运行效率。

发明内容

[0004] 有鉴于此,本申请实施例致力于提供一种基于MapReduce和BP神经网络的人工养殖水产生长预测方法。采用融合MapReduce算法的BP神经网络构建的模型对人工养殖水产生长进行预测,能普遍适用于大量数据样本,拟合效果好、提高了预测精度。
[0005] 本发明提供一种基于MapReduce和BP神经网络的人工养殖水产生长预测方法,包括以下步骤:
[0006] 获取影响养殖水产生物生长的特征因子,并将获取的特征因子进行归一化处理;
[0007] 将归一化处理后的特征因子输入至训练好的融合MapReduce算法的BP神经网络中,得出预测的养殖水产生物的体重。
[0008] 优选的,还包括以养殖时间为横轴,将预测得出的养殖水产生物的体重作为纵轴,进行曲线拟合,得出预测生长曲线与实际生长曲线进行对比,根据对比结果,调整批量梯度。
[0009] 在上述任意一项实施例中优选的,所述融合MapReduce算法的BP神经网络在进行训练时包括如下步骤:
[0010] S201、对BP神经网络进行并行化预处理;所述并行化预处理包括按照批处理梯度设定MapReduce读取每行数据中包含样本的个数;
[0011] S202、在Map阶段,将每行中包含的样本进行分割并组成一个新的数组,再使用小批量梯度下降算法进行BP神经网络训练,按照批处理数量更新平均权值并输出;
[0012] S203、在Reduce阶段,将Map阶段的输出权值作为输入,并求其算术平均值作为输出,重复Map和Reduce阶段直至达到最大训练次数或达到规定精度。
[0013] 在上述任意一项实施例中优选的,在S202中,形成新数组时,包括:
[0014] 利用split函数将样本分割成多行的列表;
[0015] 利用numpy.array函数将列表转化为数组形式;其中,数组行数为批处理梯度,列数为数据的自变量个数。
[0016] 在上述任意一项实施例中优选的,所述影响养殖水产生物生长的特征因子包括:日龄、存活率、饵料直径、投喂量、养殖密度、温度、光照强度、溶解氧、盐度、PH值、亚硝酸盐、氨氮、弧菌数、细菌总数以及投喂次。
[0017] 在上述任意一项实施例中优选的,所述BP神经网络为三层神经网络,所述BP神经网络为三层神经网络,包括输入层、隐藏层和输出层;将特征因子的个数表示神经网络的输入层节点个数,神经网络的输出层节点个数为1,表示实际体重。
[0018] 在上述任意一项实施例中优选的,在BP神经网络中按照如下公式计算隐藏层节点个数: 其中,h为隐藏节点个数,n为整数。
[0019] 本发明还提供一种基于MapReduce和BP神经网络的人工养殖水产生长预测系统,包括数据预处理模块、融合MapReduce算法的BP神经网络模型;
[0020] 所述数据预处理模块用于获取影响养殖水产生物生长的特征因子,并将获取的特征因子进行归一化处理;
[0021] 所述BP神经网络模型用于获取归一化处理后的特征因子,利用训练好的融合MapReduce算法的BP神经网络的网络参数,得出预测的养殖水产生物的体重。
[0022] 在上述任意一项实施例中优选的,还包括曲线拟合模块,用于以养殖时间为横轴,将预测得出的养殖水产生物的体重作为纵轴,进行曲线拟合,得出预测生长曲线与实际生长曲线进行对比,输出对比结果。
[0023] 在上述任意一项实施例中优选的,所述影响养殖水产生物生长的特征因子包括:日龄、存活率、饵料直径、投喂量、养殖密度、温度、光照强度、溶解氧、盐度、PH值、亚硝酸盐、氨氮、弧菌数、细菌总数以及投喂次。
[0024] 在上述任意一项实施例中优选的,所述BP神经网络为三层神经网络,所述BP神经网络为三层神经网络,包括输入层、隐藏层和输出层;将特征因子的个数表示神经网络的输入层节点个数,神经网络的输出层节点个数为1,表示实际体重。
[0025] 本申请实施例提供的基于MapReduce和BP神经网络的人工养殖水产生长预测方法及系统,相比于现有技术至少具有以下优点:
[0026] 1、采用融合MapReduce算法的BP神经网络构建的模型对人工养殖水产的生长进行预测,能普遍适用于大量数据样本,拟合效果好、提高了预测精度。
[0027] 2、对传统的BP神经网络融合MapReduce进行并行化设计,并对BP神经网络算法进行训练,以此提高BP神经网络的学习效率,加快其收敛速度。
[0028] 3、基于小批量梯度下降的并行BP神经网络可以避免陷入局部极小点,从而提高算法的预测精度。

附图说明

[0029] 图1所示为本申请一实施例提供的一种基于MapReduce和BP神经网络的人工养殖水产生长预测方法的流程图。
[0030] 图2所示为本申请一实施例提供的传统BP神经网络预测水产的生长曲线图。
[0031] 图3所示为本申请一实施例提供的融合MapReduce的BP神经网络的预测水产的生长曲线图。

具体实施方式

[0032] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033] 此外,在示例性实施例中,因为相同的参考标记表示具有相同结构的相同部件或相同方法的相同步骤,如果示例性地描述了一实施例,则在其他示例性实施例中仅描述与已描述实施例不同的结构或方法。
[0034] 在整个说明书及权利要求书中,当一个部件描述为“连接”到另一部件,该一个部件可以“直接连接”到另一部件,或者通过第三部件“电连接”到另一部件。此外,除非明确地进行相反的描述,术语“包括”及其相应术语应仅理解为包括所述部件,而不应该理解为排除任何其他部件。
[0035] 如图1所示,本发明提供一种基于MapReduce和BP神经网络的人工养殖水产生长预测方法,包括以下步骤:
[0036] 获取影响养殖水产生物生长的特征因子,并将获取的特征因子进行归一化处理;具体为在对数据进行归一化处理时使用最大最小归一化方法数据集进行归一化处理,去除量纲给模型训练带来的不利影响。
[0037] 所述影响养殖水产生物生长的特征因子包括:日龄、存活率、饵料直径、投喂量、养殖密度、温度、光照强度、溶解氧、盐度、PH值、亚硝酸盐、氨氮、弧菌数、细菌总数以及投喂次。
[0038] 所述BP神经网络为三层神经网络,所述BP神经网络为三层神经网络,包括输入层、隐藏层和输出层;将特征因子的个数表示神经网络的输入层节点个数,神经网络的输出层节点个数为1,表示实际体重。
[0039] 在BP神经网络中按照如下公式计算隐藏层节点个数:其中,h为隐藏节点个数,n为整数。
[0040] 将归一化处理后的特征因子输入至训练好的融合MapReduce算法的BP神经网络中,得出预测的养殖水产生物的体重。
[0041] 需要说明的是,在本实施例中,所述融合MapReduce算法的BP神经网络在进行训练时包括如下步骤:
[0042] S201、对BP神经网络进行并行化预处理;所述并行化预处理包括按照批处理梯度设定MapReduce读取每行数据中包含样本的个数;
[0043] S202、在Map阶段,将每行中包含的样本进行分割并组成一个新的数组,再使用小批量梯度下降算法进行BP神经网络训练,按照批处理数量更新平均权值并输出;在S202中,形成新数组时,包括:
[0044] 利用split函数将样本分割成多行的列表;
[0045] 利用numpy.array函数将列表转化为数组形式;其中,数组行数为批处理梯度,列数为数据的自变量个数。
[0046] S203、在Reduce阶段,将Map阶段的输出权值作为输入,并求其算术平均值作为输出,重复Map和Reduce阶段直至达到最大训练次数或达到规定精度。
[0047] 下面将以工厂化养殖半滑舌鳎生长作为具体实施例,进行说明。
[0048] 本实施例包括如下步骤:
[0049] A、使用最大最小归一化方法数据集进行归一化处理,去除量纲给模型训练带来的不利影响。
[0050] B、通过公式 反复实验确定隐藏层节点个数,并随机初始化BP神经网络权值,设置学习率。
[0051] C、由于MapReduce读取数据的机制是一次只能读取一行数据,因此需要对样本进行重新设计,按照批处理梯度设计每行中包含样本的个数。
[0052] D、在MapReduce的Map阶段:将一行中包含的样本进行分割并组成一个新的数组,再使用小批量梯度下降算法进行BP神经网络训练,最后按照批处理数量更新平均权值并输出。
[0053] E、Reduce阶段:将Map阶段的输出权值作为输入,并求其算术平均值作为输出。
[0054] F、重复Map和Reduce阶段直至达到最大训练次数或达到规定精度。
[0055] G、将改进算法应用于工厂化养殖半滑舌鳎生长模型构建中,并在实际养殖数据集中进行实验,进一步验证本发明的可用性。
[0056] 如图2和图3所示,优选的,还包括以养殖时间为横轴,将预测得出的养殖水产生物的体重作为纵轴,进行曲线拟合,得出预测生长曲线与实际生长曲线进行对比,根据对比结果调整批量梯度。从图中可以看出本发明提出的基于小批量梯度下降的并行BP神经网络拟合效果好于传统BP神经网络构建的半滑舌鳎生长模型。
[0057] 本发明还提供一种基于MapReduce和BP神经网络的人工养殖水产生长预测系统用于实施上述方法,包括数据预处理模块、融合MapReduce算法的BP神经网络模型;
[0058] 所述数据预处理模块用于获取影响养殖水产生物生长的特征因子,并将获取的特征因子进行归一化处理;
[0059] 所述BP神经网络模型用于获取归一化处理后的特征因子,利用训练好的融合MapReduce算法的BP神经网络的网络参数,得出预测的养殖水产生物的体重。
[0060] 还包括曲线拟合模块,用于以养殖时间为横轴,将预测得出的养殖水产生物的体重作为纵轴,进行曲线拟合,得出预测生长曲线与实际生长曲线进行对比,输出对比结果。
[0061] 所述影响养殖水产生物生长的特征因子包括:日龄、存活率、饵料直径、投喂量、养殖密度、温度、光照强度、溶解氧、盐度、PH值、亚硝酸盐、氨氮、弧菌数、细菌总数以及投喂次。
[0062] 所述BP神经网络为三层神经网络,所述BP神经网络为三层神经网络,包括输入层、隐藏层和输出层;将特征因子的个数表示神经网络的输入层节点个数,神经网络的输出层节点个数为1,表示实际体重。本系统在实施时可以采用如下配置,进行运算实现。
[0063] 表1 Hadoop集群计算机配置信息表
[0064]
[0065]
[0066] 在本系统中,各个模块可以采用电子设备除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
[0067] 所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0068] 此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
[0069] 所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0070] 以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
[0071] 本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
[0072] 还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
[0073] 提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0074] 为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。