一种基于GA-LM-BP神经网络的水质评价方法

著录项
  • CN202111238096.1
  • 20211025
  • CN113971517A
  • 20220125
  • 中国计量大学
  • 魏坤;丁涛;饶宾期
  • G06Q10/06
  • G06Q10/06 G06Q50/06 G06N3/04 G06N3/08

  • 浙江省杭州市下沙高教园区学源街258号中国计量大学
  • 浙江(33)
摘要
本发明公开了一种基于GA?LM?BP神经网络的水质评价方法,所述方法为首先输入水质样本数据,进行样本归一化处理,确定网络结构,然后结合GA算法和LM算法,计算网络各层输出,当输出误差小于容差极限时,存储权值,最后输入待测样本,得到水质评价结果,其特征在于本发明所构建的GA?LM?BP神经网络,采用遗传算法优化BP神经网络的初始权阈值,避免了网络在选取初始权阈值时的随即盲目性,从而降低BP神经网络陷入局部极小值的概率,采用LM算法改进BP神经网络中的梯度下降原则,可以提高网络的收敛速度与预测精度,本发明提高了评价精度与效率,对促进BP神经网络模型在水质预测中的广泛应用有重要意义。
权利要求

1.本发明公开了一种基于GA-LM-BP神经网络的水质评价方法,所述方法为首先输入水质样本数据,进行样本归一化处理,确定网络结构,然后结合GA算法和LM算法,计算网络各层输出,当输出误差小于容差极限时,存储权值,最后输入待测样本,得到水质评价结果,其特征在于本发明所构建的GA-LM-BP神经网络,采用遗传算法优化BP神经网络的初始权值和阈值,避免了网络在选取初始权值和阈值时的随即盲目性,从而降低BP神经网络陷入局部极小值的概率,采用LM算法控制BP神经网络中的梯度下降过程,可以提高网络的收敛速度与预测精度,本发明提高了评价精度与效率,对促进BP神经网络模型在水质预测中的广泛应用有重要意义。

2.根据权利要求1所述的一种基于GA-LM-BP神经网络的水质评价方法,其特征在于所述GA-LM-BP神经网络实现步骤包括:

步骤1:确定BP神经网络结构,设置网络训练参数,初始化种,本发明采用实数编码方式对每个权值进行编码,随机产生一组权值实数串;

步骤2:将种每组个体作为BP神经网络的初始权值和阈值,采用LM算法控制的BP神经网络训练;

步骤3:将BP神经网络训练所得误差作为适应度评价函数,根据随机产生的初始权值和阈值对神经网络进行训练并将训练误差作为个体适应度值;

步骤4:根据适应度值对个体进行选择,基于适应度值比例进行选择操作,个体适应度值越小被选中进行变异和交叉操作的概率则越大;交叉,选中的个体根据交叉概率判别个体是否进行交叉操作;变异,选中的个体根据变异概率判别个体是否进行变异操作;

步骤5:若进化代数大于设定的最大进化代数,运算终止,并将适应度值最小的个体所包含的权值和阈值作为BP神经网络的初始权值和阈值,否则转入步骤2;

步骤6:计算BP神经网络训练误差,若E(μk+1)>E(μk),E(μk+1)<E(μk),μ=μ·β,若网络输出与期望输出的误差小于精度要求或达到最大迭代次数,则停止运算,并计算雅可比矩阵,更新网络权值和阈值;

步骤7:满足输出误差小于容差极限时训练完成,存储权值,否则转入步骤6。

3.根据权利要求1所述的一种基于GA-LM-BP神经网络的水质评价方法,其特征在于采用遗传算法优化BP神经网络的初始权值和阈值,避免了网络在选取初始权值和阈值时的随即盲目性,从而降低BP神经网络陷入局部极小值的概率,遗传算法优化BP神经网络的运算过程包含4个基本元素,分别是编码、适应度函数、遗传操作和运行参数;

编码:考虑到实数编码直接采用解空间的形式进行编码,遗传操作无须频繁地编码和解码,降低遗传算法复杂性,避免了转换误差的产生,故在采用遗传算法优化BP神经网络权值和阈值时,采用实数编码方式,则遗传算法种中的每个个体是包含了BP神经网络所有权值和阈值的实数串;

适应度函数:在BP神经网络权值和阈值的优化中,将网络训练误差函数作为适应度函数,网络预测输出与期望输出之间的误差绝对值的和作为个体适应度值f,计算公式如下所示:

遗传操作:选择的目的是从当前种中选出优良个体,使它们有机会作为父代来繁殖下一代子孙,体现了自然界中优胜劣汰的进化思想,在优化BP神经网络权值和阈值时,采用赌法对个体进行选择操作,假设种个体为M,则选择概率为:

优秀的个体主要是依靠经过选择的个体之间进行交叉获得,由于在BP神经网络权值和阈值的优化中选择实数编码方式,相对应的选择实数交叉法,即将选择得到的两个个体进行线性组合产生新的个体,假设将种中的巧个体与A个体进行交叉,则交叉后的两个新个体为:

x′1=ax1+(1-a)x2

x′2=ax2+(1-a)x1

式中,a为0~1之间的随机数;

变异发生的概率与自然生物界一样极低,但是这个操作必不可少,因为它为新个体的产生提供了机会,在BP神经网络权值和阈值的优化中,假设选取第i个个体的第j个基因进行变异,操作方法如下:

式中,amax为基因的上界,amin为基因的下界,r为0~1之间的随机数,g为当前进化代数,G为最大进化代数;

运行参数:

在遗传算法的计算过程中,需要设置相关参数,主要包括种规模、交叉概率、变异概率、进化次数等,种规模一般建议的取值在10~200之间,交叉概率若设置得太大,可能会使得某些优秀个体基因遭到破坏,设置得太小则会使种进化速度过慢,交叉概率的建议取值范围是0.1~0.9,交叉是产生新个体的主要手段,变异则是产生新个体的辅助手段,变异概率的建议取值范围是0.0001~0.1。

4.根据权利要求1所述的一种基于GA-LM-BP神经网络的水质评价方法,其特征在于采用LM算法控制BP神经网络中的梯度下降过程,可以提高网络的收敛速度与预测精度,LM-BP算法实现过程如下:

设X=(x1,x2...,xn)T是BP神经网络的输入样本,Wk表示BP神经网络第k次迭代的权值向量,则:

Wk+1=Wk+ΔW

根据牛顿法,网络的权值迭代公式为:

设误差函数为:

其中ei(X)=ti-yi为BP神经网络输出与期望输出的误差,ti表示期望输出,yi表示网络输出;

e(X)=[e1(X),e2(X),...el(X)]T

其中,l代表BP神经网络输出层节点数;

在上式中,J(X)为Jacobin矩阵,即:

对于高斯-牛顿法的计算法则,有:

ΔW=-[JT(X)·J(X)]-1JT(X)·e(X)

Wk+1=Wk-[JT(X)·J(X)]-1JT(X)·e(X)

当迭代过程中,对E(X)的Hessian矩阵无法求逆时,需要对E(X)的Hessian矩阵进行变形:

其中,I为单位矩阵,μ为阻尼系数,是一个大于0的常数;

则基于LM算法的BP神经网络权值和阈值调整公式如下:

ΔW=-[JT(X)·J(X)+μ·I]-1JT(X)·e(X)

Wk+1=Wk-[JT(X)·J(X)+μ·I]-1JT(X)·e(X)

网络在每次迭代后将计算训练误差函数值E(μk+1),并将其与上一次迭代的网络训练误差进行比较E(μk),E(μk+1)<E(μk),则保留此次迭代结果,减小阻尼系数μ来提高计算精度并继续进行迭代,令反之则増大阻尼系数μ后重新计算,令μ=μ·β,直到满足E(μk+1)>E(μk)时停止增大μ。

5.根据权利要求1所述的一种基于GA-LM-BP神经网络的水质评价方法,其特征在于确定隐层单元节点数,根据输入水质数据,确定输入层单元节点数与输出层单元节点数,目前理论上还没有一种科学和普遍的隐含层神经元数确定方法,通过相关经验公式确定隐含层节点个数:

q为隐层单元节点数,m为输入层单元节点数,n为输出层单元节点数,a为1~10之间的常数,为了得到更好的网络性能,本发明对不同隐含层神经元数目进行训练,并通过训练次数和误差来确定隐含层神经元数目,选择拓扑结构,建立最佳神经网络模型。

说明书

一种基于GA-LM-BP神经网络的水质评价方法

技术领域

本发明涉及一种水质评价方法,特别涉及一种基于GA-LM-BP神经网络的水质评价方法。

水资源是一种十分重要的自然资源,人们的生产生活都离不开水。充沛的水资源是经济发展、社会繁荣的重要支撑。尽管地球上的水资源十分丰富,但可以供人类使用的水资源却仅占其中很小的一部分。随着经济的不断发展,人们生产活动对水资源需求日益增多的同时,也带来了生态环境的破坏,造成许多水体的大面积污染,人类与水资源的矛盾日渐突出。如何保护水资源,维护我们赖以生存的生态环境,是站在全人类面前的一道难题。

水质评价是根据对水体中污染物的组成结构、各类污染物的含量及增减状况的监视和测定,最终对水体情况进行评价的过程。水质评价作为水体状况评定、水资源管理和水污染防治的主要途径,对水资源保护起着重要作用,是解决水资源问题必不可少的重要环节。

通过查阅相关文献和专利,相关专利《基于主成分分析改进内梅罗污染指数的水质评价方法》(申请(专利权)人:安徽理工大学,公开号:CN108665004B),此专利公开了一种基于主成分分析改进内梅罗污染指数的水质评价方法,但此方法对各因子作等权处理,假定了各种评价指标之间是彼此独立的,忽略了各因子对水环境影响的差异性,具有局限性;相关专利《水质预测方法及系统》(申请(专利权)人:中国农业大学,公开号:CN107153874A),此专利利用优化BP神经网络模型,训练得到水质非线性数据预测模型,该方法运算过程中利用了近似二阶导数信息,能自适应调整收敛方向,在一定程度上加快了收敛速度与评价精度,但在效率与精度上仍有很大提升空间。

当前对水质方法开展了大量的研究工作,也取得了丰硕的成果。目前的水质评价方法总体上可分为单因子评价方法、综合指数污染法、模糊集理论发、灰系统理论法、BP神经网络,单因子水质评价方法,优点是运算简便、水质等级区分明显,缺点是通过单一数据集评价水质的方式忽略了其他因素对水质的影响,不能全面地评价出水质状况;综合指数污染法通过取平均数、按权重算平均值等各种公式对各个指标的单项污染指数运算加工,得到一个综合指数,来评价综合水质,此方法具有横向对比、表现直观的优点,缺点是水质成分复杂,环境多变,不同因子对于水质的影响权重不同,综合指数污染法中对每个因子在水质评价中的作用视为等同对待,不能区分其重要性,会影响评价的准确性;模糊集理论法和灰系统理论法针对水环境的复杂性、随机性、模糊性选取的一种基于矩阵运算的评价方法,基本原理是构造隶属函数和模糊关系矩阵,优点是区分了每个因子在水质评价中的重要性,解决水质的不完全确知性,为抽象系统信息的处理提供了新的途径,缺点是缺乏系统性,量化因子的选取多采用试凑法,对复杂系统的评价难以奏效;BP神经网络是对水质评价标准值组成的标准样本进行学习,利用学习结束所得的最佳权值和阈值对实际样本进行数据计算,就可以根据样本输出结果做出级别评价,其自适应性、自学习性和分布式处理能力很好的解决了非线性问题,在水质评价相关问题得到了较好的应用,但BP神经网络自身存在着一些缺点,收敛速度慢、容易陷入局部最小值,针对存在的问题,本发明构建了一种基于GA-LM-BP神经网络的水质评价方法,提高了评价的精度与效率。

本发明所构建的GA-LM-BP神经网络,采用遗传算法优化BP神经网络的初始权值和阈值,避免了网络在选取初始权值和阈值时的随机盲目性,从而降低BP神经网络陷入局部极小值的概率,采用LM算法控制BP算法中的梯度下降过程,可以提高网络的收敛速度与预测精度。本发明提高了评价精度与效率,更好地将BP神经网络应用于水质评价中。

发明内容

本发明公开了一种基于GA-LM-BP神经网络的水质评价方法,所述方法为首先输入水质样本数据,进行样本归一化处理,确定网络结构,然后结合GA算法和LM算法,计算网络各层输出,设定满足条件的输出误差最大值为容差极限,当输出误差小于容差极限时,存储权值,最后输入待测样本,得到水质评价结果,其特征在于本发明所构建的GA-LM-BP神经网络,采用遗传算法优化BP神经网络的初始权值和阈值,避免了网络在选取初始权值和阈值时的随机盲目性,从而降低BP神经网络陷入局部极小值的概率,采用LM算法控制BP神经网络中的梯度下降过程,可以提高网络的收敛速度与预测精度,本发明提高了评价精度与效率,对促进BP神经网络模型在水质预测中的广泛应用有重要意义。

一种基于GA-LM-BP神经网络的水质评价方法,包括以下步骤:

步骤1:确定BP神经网络结构,设置网络训练参数,初始化种,本发明采用实数编码方式对每个权值进行编码,随机产生一组权值实数串;

步骤2:将种每组个体作为BP神经网络的初始权值和阈值,采用LM算法控制的BP神经网络训练;

步骤3:将BP神经网络训练所得误差作为适应度评价函数,根据随机产生的初始权值和阈值对神经网络进行训练并将训练误差作为个体适应度值;

步骤4:根据适应度值对个体进行选择,基于适应度值比例进行选择操作,个体适应度值越小被选中进行变异和交叉操作的概率则越大;交叉,选中的个体根据交叉概率判别个体是否进行交叉操作;变异,选中的个体根据变异概率判别个体是否进行变异操作;

步骤5:若进化代数大于设定的最大进化代数,运算终止,并将适应度值最小的个体所包含的权值和阈值作为BP神经网络的初始权值和阈值,否则转入步骤2;

步骤6:计算BP神经网络训练误差,若网络输出与期望输出的误差小于精度要求或达到最大迭代次数,则停止运算,并计算雅可比矩阵,更新网络权值和阈值;

步骤7:满足输出误差小于容差极限时训练完成,存储权值,否则转入步骤6。

进一步的,采用遗传算法优化BP神经网络的初始权值和阈值,避免了网络在选取初始权值和阈值时的随机盲目性,从而降低BP神经网络陷入局部极小值的概率,遗传算法优化BP神经网络的运算过程包含4个基本元素,分别是编码、适应度函数、遗传操作和运行参数;

编码:考虑到实数编码直接采用解空间的形式进行编码,遗传操作无须频繁地编码和解码,降低遗传算法复杂性,避免了转换误差的产生,故在采用遗传算法优化BP神经网络权值和阈值时,采用实数编码方式,则遗传算法种中的每个个体是包含了BP神经网络所有权值和阈值的实数串;

适应度函数:在BP神经网络权值和阈值的优化中,将网络训练误差函数作为适应度函数,网络预测输出与期望输出之间的误差绝对值的和作为个体适应度值f。计算公式如下所示:

遗传操作:选择的目的是从当前种中选出优良个体,使它们有机会作为父代来繁殖下一代子孙,体现了自然界中优胜劣汰的进化思想。在优化BP神经网络权值和阈值时,采用赌法对个体进行选择操作,假设种个体为M,则选择概率为:

优秀的个体主要是依靠经过选择的个体之间进行交叉获得,由于在BP神经网络权值和阈值的优化中选择实数编码方式,相对应的选择实数交叉法,即将选择得到的两个个体进行线性组合产生新的个体,假设将种中的巧个体与A个体进行交叉,则交叉后的两个新个体为:

x1'=ax1+(1-a)x2

x'2=ax2+(1-a)x1

式中,a为0~1之间的随机数;

变异发生的概率与自然生物界一样极低,但是这个操作必不可少,因为它为新个体的产生提供了机会。在BP神经网络权值和阈值的优化中,假设选取第i个个体的第j个基因进行变异,操作方法如下:

式中,amax为基因的上界,amin为基因的下界,r为0~1之间的随机数,g为当前进化代数,G为最大进化代数;

运行参数:

在遗传算法的计算过程中,需要设置相关参数,主要包括种规模、交叉概率、变异概率、进化次数等,种规模一般建议的取值在10~200之间,交叉概率若设置得太大,可能会使得某些优秀个体基因遭到破坏,设置得太小则会使种进化速度过慢,交叉概率的建议取值范围是0.1~0.9,交叉是产生新个体的主要手段,变异则是产生新个体的辅助手段,变异概率的建议取值范围是0.0001~0.1;

进一步的,采用LM算法控制BP神经网络中的梯度下降过程,可以提高网络的收敛速度与预测精度,LM-BP算法实现过程如下:

设X=(x1,x2...,xn)T是BP神经网络的输入样本,Wk表示BP神经网络第k次迭代的权值向量,则:

Wk+1=Wk+ΔW

根据牛顿法,网络的权值迭代公式为:

设误差函数为:

其中ei(X)=ti-yi为BP神经网络输出与期望输出的误差,ti表示期望输出,yi表示网络输出;

e(X)=[e1(X),e2(X),...el(X)]T

其中,l代表BP神经网络输出层节点数;

在上式中,J(X)为Jacobin矩阵,即:

对于高斯-牛顿法的计算法则,有:

ΔW=-[JT(X)·J(X)]-1JT(X)·e(X)

Wk+1=Wk-[JT(X)·J(X)]-1JT(X)·e(X)

当迭代过程中,对E(X)的Hessian矩阵无法求逆时,需要对E(X)的Hessian矩阵进行变形:

其中,I为单位矩阵,μ为阻尼系数,是一个大于0的常数;

则基于LM算法的BP神经网络权值和阈值调整公式如下:

ΔW=-[JT(X)·J(X)+μ·I]-1JT(X)·e(X)

Wk+1=Wk-[JT(X)·J(X)+μ·I]-1JT(X)·e(X)

网络在每次迭代后将计算训练误差函数值E(μk+1),并将其与上一次迭代的网络训练误差进行比较E(μk),E(μk+1)<E(μk),则保留此次迭代结果,减小阻尼系数μ来提高计算精度并继续进行迭代,令反之则増大阻尼系数μ后重新计算,令μ=μ·β,直到满足E(μk+1)>E(μk)时停止增大μ。

进一步的,确定隐层单元节点数,根据输入水质数据,确定输入层单元节点数与输出层单元节点数,目前理论上还没有一种科学和普遍的隐含层神经元数确定方法,通过相关经验公式确定隐含层节点个数:

q为隐层单元节点数,m为输入层单元节点数,n为输出层单元节点数,a为1~10之间的常数,为了得到更好的网络性能,本发明对不同隐含层神经元数目进行训练,并通过训练次数和误差来确定隐含层神经元数目,选择拓扑结构,建立最佳神经网络模型。

附图说明

图1,一种基于GA-LM-BP神经网络的水质评价方法的流程图。

图2,训练次数与神经元个数关系图。

图3,误差与神经元个数关系图。

图4,GA-LM-BP误差曲线收敛图。

图5,GA-LM-BP实际输出与期望输出对比图。

图6,GA-LM-BP网络仿真误差曲线图。

图7,均方误差0.01时BP神经网络误差曲线收敛图。

图8,均方误差0.01时GA-BP神经网络误差曲线收敛图。

图9,均方误差0.01时LM-BP神经网络误差曲线收敛图。

图10,均方误差0.01时GA-LM-BP神经网络误差曲线收敛图。

图11,迭代步数200步时BP神经网络误差曲线收敛图。

图12,迭代步数200步时GA-BP神经网络误差曲线收敛图。

图13,迭代步数200步时LM-BP神经网络误差曲线收敛图。

图14,迭代步数200步时GA-LM-BP神经网络误差曲线收敛图。

具体实施方式

下面通过附图对本发明的实施例作详细说明,给出了详细的实施方式和具体的操作过程。所述实例为本发明的较佳实例,而不是全部实例。

本实施例以DO、COD、NH3、TP、TN为输入,水质评价结果为输出,对本发明方法进行应用,其具体过程如下:

如图1所示,步骤按流程图进行展开。

步骤1:根据国家地表水环境质量标准(GB3838-2002),将水质分为五个等级,使用pycharm软件rand(·)函数对DO、COD、NH3、TP、TN五组样本进行随机插值,每组生成200个样本,共生成样本1000个作为输入,为了消除不同数据间的数量级和量纲,避免有些数据特征被淹没,提高网络泛化能力,对生成样本归一化,使其分布在(0,1)。导入样本数据至matlab中进行训练,构建水质评价模型。

步骤2:根据水质数据可以确定输入节点是5,输出节点是1,目前理论上还没有一种科学和普遍的隐含层神经元数确定方法,通过相关经验公式确定隐含层节点个数:

q为隐层单元节点数,m为输入层单元节点数,n为输出层单元节点数,a为1~10之间的常数,为了得到更好的网络性能,本发明对不同隐含层神经元数目进行训练,并通过训练次数和误差来确定隐含层神经元数目,如图2、图3所示,隐含层神经元为8个时,测试样本均方误差最小,但收敛步数不是最少,仅次于隐含层神经元为10个时,且相差很小。对于水质评价来说,网络识别精度的高低至关重要,其次才是收敛速度的快慢,因此,这里选择拓扑结构为5-8-1的BP神经网络为最优模型。

步骤3:将遗传算法与BP神经网络结合,本发明采用三层BP网络结构,设输入层、隐含层与输出层节点的个数分别为R、S1和S2,则编码长度为:

S=R*S1+S1*S2+S1+S2

随机产生M个长度为S的染体,即形成初始种。

由于本网络拓扑结构为5-8-1,因此编码长度为S=5*8+8*1+8+1=57。对于种个数M的确定,太大会导致网络收敛满,太小会降低网络训练精度,在这里取M=30,此时编码长度就是30*57=1710个。

步骤4:选取生成样本1000组数据作为GA-LM-BP神经网络的训练数据,并将训练的均方误差作为个体适应度值,根据适应度值对个体进行选择,基于适应度值比例进行选择操作,个体适应度值越小被选中进行变异和交叉操作的概率则越大;交叉、选中的个体根据交叉概率判别个体是否进行交叉操作;变异、选中的个体根据变异概率判别个体是否进行变异操作;不断循环,直至求得最优个体,获得最优阈值。

步骤5:若若网络输出与期望输出的误差小于精度要求或达到最大迭代次数,则停止运算,并计算雅可比矩阵,更新网络权值和阈值。

步骤6:选取的1000组数据中,500组作为训练数据,训练出评价模型,250组作为验证数据,确定网络结构,验证模型250组作为测试数据,检验最终模型性能,如图4所示。

步骤7:满足输出误差小于容差极限后训练完成,存储权值,输入测试样本,计算误差,GA-LM-BP实际输出与期望输出对比如图5所示,GA-LM-BP网络仿真误差曲线如图6所示,误差范围在95%以内,符合水质评价要求。

步骤8:对比BP神经网络、GA-BP神经网络、LM-BP神经网络、GA-LM-BP神经网络评价精度与迭代步数关系,在均方误差为0.01时迭代步数如图7、8、9、10所示。

步骤9:对比BP神经网络、GA-BP神经网络、LM-BP神经网络、GA-LM-BP神经网络评价精度与迭代步数关系,在迭代步数为200步时均方误差如图11、12、13、14所示。

步骤10:从均方误差0.01时迭代步数,迭代步数200步时均方误差可以看出,传统BP神经网络评价效果较差,GA-LM-BP神经网络评价模型无论是在准确性和效率上都取得了最佳效果。

以上所述,仅为本发明较佳的具体实施方式,但本发明保护范围并不局限于此,凡在本发明的精神和原则之内所做的任何修改,等同替换和改进等,均应包含在本发明的保护范围之内。

本文发布于:2024-09-25 16:37:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/84771.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议