【月径流预测】基于matlab海洋捕食者算法优化BP神经网络月径流预测【含Matlab源码 2002期】

一、海洋捕食者算法(MPA)简介

1 海洋捕食者算法(MPA)界说
海洋捕食者算法(MPA)是一种天然启发式的优化算法,它遵照在最佳寻食战略中天然分配的规矩,而且在海洋生态系统中遇到捕食者与猎物之间的速率战略。

2 海洋捕食者算法(MPA)流程
(1) 初始化精英矩阵(Elite)和猎物矩阵(Prey)
猎物矩阵(Prey) 矩阵每一个元素 X大学英语四六级成果查询网址ij 的初始化办法:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
终究得到的Prey矩阵:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间,n是种群的规划,d矩阵的秩是每个维度的方位(问题的解的维度)。
对每一个Prey单个Xi = [Xi,1, Xi,2, …, Xi,d], 核算其习气量, 然后运用习气量最优的单个 XI 复制n份构成Elite矩阵
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间n是种群的规划,d是每个维梯度度的矩阵乘法方位(问题的解的维度),Elite的维度与Prey的维度相同。
(2)接着咱们开始进行优化。在优数组化的进程中,具有三个进程。
进程一:
当迭代次数小于最大迭数组和链表的差异代次数的三分之一的数组和链表的差异时分逆向思想练习500题
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间,RB 是选用布朗随机游走发生的随机矩阵的迹数组成的向量,维度是 d(问题的求解规划,下同)。si 代表移动的步长。 P是一个常数,等于0.5。R是一个0到1之间的均匀散布的随机数组成的向量,维度是 d。
RB相当于一般化的高斯散布(Normal G数组转字符串aussian distribution)。每一逆向行驶扣几分个元素 RBi 能够经过下列表达式来核算:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
进程二:
当迭代次数大于最大迭代次数的三分之一而小于其三分之二时,种群分两部分进行操作。
前半部分种群跟新规矩如下:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间, RL 是 Levy 散布组成的出来的一个向量,维度是 d。P是一个常数,等于0.5。R是一个数组排序0到1之间的均匀散布的随机数组成的向量,维度是 d。
RL 的每一项元素 RLi 能够由下列式子核算得来:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间,C 和 是一个常数,分别等于0.05和1.5。
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
在上面的表达式中
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
后半部分种群跟新规矩如下:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
这儿RB 是选用布朗随机游数组和链表的差异逆向游览发生的随机数组成的向量,维度是 d。P是常数,等于0.5。CF是步长si 的自习气参数(下同), 界说为
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间, Ite矩阵r是迭代次数,Max_Iter是最大迭代次数。
进程三:
当迭代次数大于最大迭代矩阵工厂怎样开次数的三分之二时,进入第三个阶段,此时种群更新规矩如数组下:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
(3) 处理涡流构成和FADS效应(Eddy f逆向行驶怎样处分2021ormation and FADs’ effect)
此操作的作用是让算法在迭代进程中尽或许跳出部分最优解,已抵达大学更好的寻优精度。
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间r是一个随机数, FADS是一个影响优化进程的常数,等于0.2。r1和r2是Prey两个随机下标, 1 ≤ r1,r2 ≤ n。 U是一个包含0和1的二进制向量,维度是d。U的每一个元素 Ui 界说为
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
其间random是一个0到1的随机数,FADs等于0.2。
(4) 海洋回想(Marine memory)
这一进程进行对Elite数组去重(精英)矩阵的更新。
针对每一逆向思想练习500题个P梯度稀释rey矩阵中的单个Preyi ,核算其习气量,若习气量因为Elite矩阵矩阵中相应的方位的习气量时,则将该单个替代本来精英矩阵中相应的单个。然后在核算整个精英矩阵中最优单个的习梯度气量,若符合要求,则算法完毕,否则继续迭代。
算法的流程图矩阵的逆总结出来如下:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】

二、BP神经网络简数组转字符串

1 BP神经网络概述
BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科研小组提出,参大学排名2021最新排名见他们发表在Nature上的论文 Lea大学英语四六级成果查询网址rning representations by back-propagating errors 。
BP神经网络是一种按过错逆传达算法练习的多层前馈网络,是目前运用最广泛的神经网络模型之一。BP网络梯度下降能学习梯度怎样求和存贮许多的 输入-输出办法映射联系,而无需事前提示描绘这种映射联系的数学方程。它的学习规矩是运用最速下降逆向思想法,经过反向传梯度怎样求达来不断 调整网络的权值和阈值,使网络的过错平方梯度是什么意思和最小。

2 BP算法的底子思想
上一次咱们说大学英语四六级成果查询时刻到,多层感知器在怎样获取隐层的权值的问题上遇大学英语四级报名官网到了瓶颈。已然咱们无法直接得到隐层的权值,能否先经过数组输出层得到输出作用和希望输出的过错来直接调整隐层的权值呢?BP算法便是选用这样的思想规划出来的算法,它的矩阵相似底子思想梯度洗脱是,学习进程由信号的正向传达与过错的反向传达两个进程组成。
正向传达时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实践输出与希望的输出(教师信号)不符,则转入过错的反向传达阶段。
反向传达时,将输出以某种办法经过隐层向输入层逐层反传,并将过错分摊给各层的全部单元,然后取得各层单元的过错信号,此过错信号即作为修改各单元权逆向行驶扣几分罚款多少钱值的根据梯度电费是怎样收费的。这两个进程的详细流程会在后文介绍。

BP算法的信号流向图如下图所示
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】3 BP网数组的界说络特性剖析——BP三要素
咱们剖析一个ANN时,一般都是从它的三要素下手,即
1)网络拓扑结构;
2)传递函数;
3)学习算法。
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
每一个要素的特性加起来就决议了这个ANN的功用特性。所以,咱们也从这三要素下手对BP网络的研讨。

3.1 BP网络的拓扑结构
上一次现已说了,BP网络实践上便是多层感知器,因而它的拓扑结构和多层感知器的拓扑结构相同。因为单隐层(三层)感知器现已能够梯度稀释处理简略的非线性问题,因而运用最为遍及。三层感知器的拓扑结构如下图所示。
一个最简略的三层BP:
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】3.2 BP网络的传递函数
B梯度自愿是什么意思P网络选用的传递函数对错线性变换函数——Sigmoid函数(大学英语四六级成果查询网址又称S函数)。其特点是函矩阵的逆数自大学英语四级报名官网身及其导数都是接连的,因而在处理上非常便利。为什么要选择这个函数,等下在介绍BP网络的学习算法的时分会进行进一步的介绍。
单极性S型函数曲线如下图所示。
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
双极性S型函数曲线如下图所示。
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】3.3 BP网络的学习算法
BP网络的学习算法便是BP算法,又叫 算法(数组函数的使用办法在ANN的学习进程中咱们会发现不少具有多个称谓的术语), 以逆向行驶怎样处分2021三层感知器为例,当网络输出与数组和链表的差异希望输出不等时,存在输出过错 E逆向思想练习500题 ,界说如下
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
下面咱们会介绍BP网络的学习练习的详细进程。

4 BP网络的练习分解
练习一个BP神经网络,实践上便是调梯度下降法整网络的权重和偏置这两个参数,BP神经网络的练习进程分两部分:

前向传输,逐层波浪式的传递输出值;
逆向反应,反向逐层调整权重和数组函数的使用办法偏置;
咱们先来看前向传输。
前向传输(Feed-矩阵的迹Forward前向反应)
在练习网络之前,咱们需求随机初始化权重和偏置,对每一个权重取[ − 1 , 1 ] [-1,1][−1,1]的一个随机实数,每一个偏置取[ 0 , 1 ] [0,1][0,1]的一个随机实数,之后就数组转字符串开始进行前向传输。

神经网络的练习是由多趟迭代完结矩阵的乘法运算的,每一趟迭代都运用练习集的全部记载,而每一次练习网络只运用一条记载,抽象的描绘如下:

while 接连条件未满意:
for record:数组函数的使用办法dataset:
trainModel(record)

【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】4.1 逆向反应(Backpropagation)
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】4.2 练习接连条件
每一轮练习都运用数据集的全部记载,但什么时分接连,接连条件有下面两种:
设置最大迭代次数,比如运用数据集迭代100次后接连练习
核算练习集在网络上的猜想准确率大学之道,抵达必定门限值后接连练习

5 BP网络工作的详细流程
5.1 网络结构
输入层有n nn个数组函数的使用办法神经元,隐含层有p pp个神经元,输出层有q qq个神经元。

5.2 变量界说
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】
第九步:判别模型合理性
判别网络过错是否满意要求。
当过错抵达预设精度或许学习次数大于规划的最大次数,则完毕算法。
否则大学生助学借款,选取下一个学习样本以及对应的输出希望,回来第三部,进入下一轮学习。

6 BP网络的规划
在进行BP网络的规划是,一般应从网络的层数、每层中的神大学英语四六级成果查询时刻经元个矩阵的逆数和激梯度稀释法的具体步骤活函数、初始值以及学习速率等几个方面来进行考虑,下面矩阵和行列式的差异是一些选取的原则。

6.1 网络的层数
梯度怎样求论现已证明,具有误差和至少一个S型隐层加上一个线性输出层的网络,能够迫临任何有理函数,添加层数能够进一步降低过错,行进精度,但一起也是网络 复杂化。其他不能用大学生助学借款仅具有非线性激活函数的单层网络来处理问题,因为能用单层网络处理的问题,用自习气线性网络也必定能处理,而且自习气线性网络的 运算速度更快,而关于只能用非线性函数处理的问题,单层精度又不够高,数组去重也只需添加层数才华抵达希望的作用。梯度稀释法的具体步骤

6.2 隐层神经元的个数
网络练习精度的数组和链表的差异行进,能够经过选用一个隐含层,而添加其神经元个数的办法来取得,这在结构矩阵的乘法运算完结上要比添加网络层数简略得多。一般来说,咱们用精度和 练习网络的时刻逆向思想来恒量一个神经网络逆向思想的例子规划的好坏:
(1大学生助学借款)神经元数太少时,网络不能很好的学习数组指针,练习迭代的次数也比较多,练习精度也不高。
(2)神经元数太多时,网络的功用越强壮,精确度也更高,练习迭代的次数也大,或许会呈现过拟合(over fitting)现象。
由此,咱们得到神经网络隐层神经元个数的数组选取原则是:矩阵的乘法运算在能够处理问题的前提下,再加上一两个神大学院长之子被告发经元,以加速过错下降速度即可。

6.3 初始权值的选取
一般初始权值是取值梯度是什么意思在(−1,1)之间的随机数。其他逆向思想威得罗等人在剖析了两层网络是怎样对一个函数进行练习后,提出选择初始权值量级为s√r的战略, 其间r为输入个数,s为第一层神经元个数。

6.4 学习速率
学习速率一般选取为0.01−0.8,大的学习速率或许导致系统的不矩阵乘法稳定,但大学英语四六级小的大学院长之子被告发学习速率导致收敛太慢,需求较长的练习时刻。关于较复杂的网络, 在过错曲面的不同方位或许需求大学英语四级报名官网不同的学习速率,为数组词了减少寻找学习速率的练习次数及时刻,比较合适的办法是逆向成长选用改动的自习气学习速率,使网络在 不同的阶段设置不同巨细的学习速率。

6.5 希望过错的选取
在规划网络的进程中,希望过错值也应当经过比照练习后供认一个合适的值,这个合适的值是相关于所需求的隐层节点数来供认的。一般情况下,能够一起对两梯度下降个不同 的希望过错值的网络进行练习,最终通逆向行驶扣几分过概括因从来供认其间一个网络。

7 BP梯度下降法网络的局限性
BP网络具有以下的几个问题:
(逆向思想1)需求较长的练习时刻:这首要是因为学习速率太小所构成的,可选用矩阵的秩改动的或自习矩阵气的学习速率来加以改善。
(2)彻底不能练习:这首要体现在网络的麻木上,一般为了避免这种情况的发生,一是选取较小的初始权值,而是选用较小的学习速率。
(3)部分最小值:这儿选用的梯度下降法或许收敛到部分最小值,选用多层网络大学英语四六级成果查询网址或较大学院长之子被告发多的神经元,有或许得到更数组转字符串好的作用大学

8 BP网络的改善
P算法改善的首要政策是加速练习速度,避免堕入部分极小值数组转字符串等,常见的改善办法数组指针有带动量因子算法、自习气学习大学英语四级报名官网速率、改动的学习速率以及作用函数后缩法等。 动量因子法的底子思想是在反向传达的基础上,在每一个权值的改动上加上一项正比于前次权值改动的值,并根据反向传达法来发生新的权值改动。而自习气学习 速率的办法则是针对一些特定的问题的。改梯度稀释动学习速率的办法的原则矩阵是,数组和链表的差异若接连几次迭代中,若政策函数对某个权倒数的符号相同,则这个权的学习速率添加, 反之若符号相反则减小它的学习速率。而作用函数后缩法则是将作用函数进行平移,数组转字符串即加上一个常数。

三、代码说明

四、参数设置及工作作用

MPA-BP模型参数:MPA最大迭代次数为200,种大学英语四六级群规划50,FADs效应系数=0.2,常量P=0.5;BP隐含层数为输入维数逆向游览的2倍-1,隐含层传递函数、输出层传递函数、操梯度电费是怎样收费的练函数分别选用tan大学生助学借款sig、purelin、traingdx,设定希望过错为0.0001,最大练习轮回均设置为1000次,数据选用[-1,1]进行归一化处理。

**BP模型参数数组去重:**为在公正条件下比照验证MPA-BP模型,BP参数设置同MPA-BP模型。

**猜想作用:**MPA-BP模型均匀相对数组指针百分比过错(MAPE)4.14%;BP模型均匀相逆向思想练习500题对百分比过错(MAPE)18.3%,精度行进77.4%
【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】【月径流猜测】根据matlab海洋捕食者算法优化BP神经网络月径流猜测【含Matlab源码 2002期】

五、matlab版梯度稀释法的具体步骤别及参考文献

1 matlab版别
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子矩阵的逆工业出版社,2016.
[数组去重办法2]张岩,吴水根.MATLAB优梯度是什么意思化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络规划与运用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经逆向选择网络原理与实例精解矩阵乘法[M].清华大学出版社,2013.
[5]方清城.MATLAB R数组和链表的差异2016a神经网络规划与运用28个大学英语四六级案例剖析[M].清华大学出版社,2018.
[6]李代华,崔东文.根据PCA-MPA-ANFIS大学英语四六级成果查询网址模型的年径流猜想研讨[J].水电能源科学,2020,38(7):24-梯度洗脱29.
[7]胡顺强, 崔东文.根据海洋捕食者算法优化的长短期回想神经网络径流猜想[J].中国农村水利水电 2021, (2) 78-82.

发表评论

提供最优质的资源集合

立即查看 了解详情