CN110728349A - 一种混合蝙蝠算法的优化方法以及多层感知器的优化方法 - Google Patents

一种混合蝙蝠算法的优化方法以及多层感知器的优化方法 Download PDF

Info

Publication number
CN110728349A
CN110728349A CN201910886161.8A CN201910886161A CN110728349A CN 110728349 A CN110728349 A CN 110728349A CN 201910886161 A CN201910886161 A CN 201910886161A CN 110728349 A CN110728349 A CN 110728349A
Authority
CN
China
Prior art keywords
individual
population
solution
bat
fitness
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910886161.8A
Other languages
English (en)
Inventor
何发智
罗锦坤
李浩然
雍嘉诗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201910886161.8A priority Critical patent/CN110728349A/zh
Publication of CN110728349A publication Critical patent/CN110728349A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种混合蝙蝠算法的优化方法以及多层感知器的优化方法,首先,在种群重构方面,通过改进原有反向学习策略,提出一种带扰动多策略反向学习,以重构一个有效的多样性搜索空间;其次,在全局勘探搜索方面,通过引入鲸鱼优化算法并对其进行改进,提出一种自适应约束步长鲸鱼优化算法,以弥补原有蝙蝠算法在全局勘探能力方面的不足;第三,在局部开采搜索方面,通过引入柯西变异和设计动态纠正策略,提出一种基于柯西变异和动态纠正的蝙蝠算法,以便提高原有蝙蝠算法的局部搜索能力;第四,优化得到的新算法在三个策略的协同作用下,有效提高了优化结果的精度和稳定性。最后,将新算法应用到多层感知器训练问题,并取得较高的分类精度。

Description

一种混合蝙蝠算法的优化方法以及多层感知器的优化方法
技术领域
本发明涉及智能计算技术领域,具体涉及一种混合蝙蝠算法的优化方法以及多层感知器的优化方法。
背景技术
蝙蝠算法(Bat algorithm,BA)是由Yang(杨新社教授)在2010年提出来的,它是近年来比较受欢迎的元启发式算法之一。该算法具有设置参数少,结构简单,收敛速度快等优点。由于元启发式算法搜索最优解时,具有一定的随机性。蝙蝠算法作为一种新的启发式算法,它主要模拟自然界中蝙蝠利用超声波在全局目标空间中随机搜索食物和绕开障碍物的行为。因此,初始化种群的质量和搜索策略直接影响到蝙蝠算法搜索全局最优解的效率。
目前,对于蝙蝠算法的改进主要分为两类:一类是基于算法自身机制的改进;另一类是混合其它算法的改进。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
现有的优化方法中随机初始化种群多样性不足,且在搜索过程容易陷入局部最优,蝙蝠算法的局部和全局搜索能力仍有提升的空间,也就是说现有的优化方法精度和稳定性仍有待提升。
发明内容
有鉴于此,本发明提供了一种混合蝙蝠算法的优化方法以及多层感知器的优化方法,用以解决或者至少部分解决现有技术中的方法存在的精度和稳定性不佳的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种混合蝙蝠算法的优化方法,包括:
步骤S1:设置初始化参数,初始化参数包括种群大小N、适应度目标函数、响度Ai∈[1,2]、脉冲发射率ri∈[0,1]、最大迭代次数N_gen、频率fi∈[fmin,fmax]、脉冲频度增强系数γ、响度衰减系数α,其中γ和α都为常数;
步骤S2:初始化蝙蝠种群和速度,其中,种群根据公式(1)进行初始化,速度vi可以初始化为0;
xij=xjmin+(xjmax-xjmin)×rand (1)
式(1)中,i∈[1,...,N],xij表示种群的第i行第j列元素,j∈[1,...,d],d表示种群的维度,xjmax和xjmin分别表示预设搜索区间第j维向量的最大值和最小值,rand为均匀分布在(0,1)的随机数;
步骤S3:根据适应度目标函数计算蝙蝠个体的适应度,并根据个体适应度值对种群进行排序,得到相应原始种群的第一最优解和第一最差解;
步骤S4:当前迭代次数t小于或等于最大迭代次数N_gen时,采用带扰动多策略反向学习对原始种群进行学习,得到第一多样性种群;
步骤S5:根据个体适应度值,对第一多样性种群进行排序,对原始种群的第一最优解和第一最差解进行更新,获得第一多样性种群的第二最优解和第二最差解;
步骤S6:采用自适应约束步长鲸鱼优化算法,对第一多样性种群进行全局搜索,并根据全局搜索结果,更新第一多样性种群以及对应的适应度值,获得第二多样性种群;
步骤S7:根据个体适应度值,对第二多样性种群进行排序,获得第三最优解和第三最差解;
步骤S8:采用基于柯西变异和动态纠正的蝙蝠算法,对第二多样性种群进行局部搜索,并根据局部搜索结果,更新多样性种群以及对应的适应度值,更新第三最优解和第三最差解,并获得对应当前代最优解和最优适应度值。
在一种实施方式中,步骤S3具体包括:
步骤S3.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S3.2:将初始种群中适应度值最小对应的个体为第一最优解,将初始种群中适应度值最大对应的个体为第一最差解。
在一种实施方式中,步骤S4具体包括:
步骤S4.1:对于种群中的任何个体,若当前迭代次数t与最大迭代次数N_gen的比值小于0.5,则利用一般反向学习重写的等式(2)生成种群中所有个体的一般反向解;否则,利用精英反向学习重写的等式(3)生成种群中所有个体的精英反向解,再利用公式(4)对所有精英反向解进行扰动;
Figure BDA0002207345200000031
Figure BDA0002207345200000032
Figure BDA0002207345200000033
其中,常数k∈(0,1),max(x*)表示当前最优个体x*所有维度中的最大元素,min(x*)表示当前最优个体x*所有维度中的最小元素,
Figure BDA0002207345200000034
表示当前最差解中第j维元素;
Figure BDA0002207345200000036
表示当前最优解
Figure BDA0002207345200000037
中第j维元素;
步骤S4.2:步骤S4.1中产生的种群中,若存在反向解
Figure BDA0002207345200000038
越出预先设置的解空间上下边界[Lb,Ub],则通过公式(5)重置越出边界的反向解
Figure BDA0002207345200000039
计算并保存重置后的种群中所有个体的适应度值,
式(5)中,Lb表示预先定义解空间的下边界,Ub表示预先定义解空间的上边界,
Figure BDA00022073452000000311
表示由步骤4.1产生的反向解;
步骤S4.3:将步骤S4.2处理后的种群与原种群合并,并根据个体的适应度值对合并后的种群进行排序,然后选择最佳的N个个体作为新种群,即多样性种群,其中多样性种群将参与到下一步进化过程。
在一种实施方式中,步骤S5具体包括:
步骤S5.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S5.2:将第一多样性种群中适应度值最小对应的个体为第二最优解,将第一多样性种群中适应度值最大对应的个体为第二最差解。
在一种实施方式中,步骤S6具体包括:
步骤S6.1:利用原始鲸鱼优化算法的公式(6)、(7)、(8)和(10)分别对向量
Figure BDA00022073452000000312
Figure BDA00022073452000000313
和l进行初始化;
Figure BDA00022073452000000314
Figure BDA00022073452000000315
Figure BDA00022073452000000316
Figure BDA00022073452000000317
Figure BDA0002207345200000041
其中,t为当前迭代代数,rand,
Figure BDA0002207345200000042
为[0,1]之间均匀分布的随机数,向量大小随着迭代次数变化,用于调节系数向量
Figure BDA0002207345200000044
大小,向量
Figure BDA0002207345200000045
大小用于控制搜索策略的选择,系数向量
Figure BDA0002207345200000046
用于调节步骤S6.2中公式(11),
Figure BDA0002207345200000047
用于调节l的大小,随机数l∈[-1,1]用于调节步骤S6.3中螺旋搜索公式(14);
步骤S6.2:当随机数p∈[0,1]满足第一设定条件时,如果
Figure BDA0002207345200000048
则根据公式(12)更新当前最优鲸鱼个体的位置;否则如果
Figure BDA0002207345200000049
则根据公式(13)更新当前鲸鱼个体的位置,其中一个鲸鱼个体对应一个蝙蝠个体;
Figure BDA00022073452000000410
Figure BDA00022073452000000411
Figure BDA00022073452000000412
其中,rand(1,d)表示生成1行d列随机数矩阵,且随机数在(0,1)区间;公式(11)中
Figure BDA00022073452000000413
用于辅助调节公式(12)中当前最优解的移动步长大小;
步骤S6.3:当p满足第二设定条件时,则根据公式(14)更新当前鲸鱼个体的位置,具体更新如下:
Figure BDA00022073452000000415
其中,b为常数,用于定义对数螺旋形状,表示第i个鲸鱼个体与猎物的距离,猎物为当前为止获得的最优解,符号“·”表示元素之间相乘,随机数l∈[-1,1];
步骤S6.4:确定是否有任何个体位置xi,j超出预先定义的边界,若有则利用公式(15)对越出边界个体位置xi,j进行重置调节,并计算每个鲸鱼个体的适应值,根据鲸鱼个体的适应度值,更新当前种群和对应的适应度值;
Figure BDA00022073452000000417
式中,Ub和Lb分别表示预先定义上下边界,xi,j表示第i个体中第j列元素。
在一种实施方式中,步骤S7具体包括:
步骤S7.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S7.2:将第二多样性种群中适应度值最小对应的个体为第三最优解,将第二多样性种群中适应度值最大对应的个体为第三最差解。
在一种实施方式中,步骤S8具体包括:
步骤S8.1:分别利用原有蝙蝠算法中的公式(16)、(17)和(18)更新频率fi,速度vi和新种群中蝙蝠位置xi,从而得到新解,具体更新公式如下:
fi=fmin+(fmax-fmin)×rand (16)
Figure BDA0002207345200000051
Figure BDA0002207345200000052
其中,rand表示在区间[0,1]均匀分布的随机数,且最小频率fmin和最大频率fmax依赖于问题的区域大小,
Figure BDA0002207345200000053
Figure BDA0002207345200000054
分别表示蝙蝠个体i在t+1和t时刻的速度,
Figure BDA0002207345200000055
表示蝙蝠个体i在t时刻的位置,而x*表示整个种群在当前代的最优位置,
Figure BDA0002207345200000056
分别表示蝙蝠个体i在t+1和t时刻的位置;
步骤S8.2:判断更新后的新个体是否越出预先设定搜索边界,若越出边界则利用步骤S6.4中公式(15)进行重置调节,评估新个体
Figure BDA0002207345200000058
和对应原有个体
Figure BDA0002207345200000059
的适应度值,如果条件成立,则判定个体
Figure BDA00022073452000000511
为弱个体,并利用公式(19)更新弱个体,生成一个新解;
Figure BDA00022073452000000512
式中,常数u∈(0,1),ri表示脉冲发射率,max(x*)表示当前最优个体x*所有维度中的最大元素,min(x*)表示当前最优个体x*所有维度中的最小元素,rand(1,d)表示生成1行d列的随机数矩阵;
步骤S8.3:获取预设柯西逆累积分布函数公式(20),并对公式(20)进行重写为公式(21);由公式(19)生成的解将继续通过公式(21)进行变异,得到新解,并判断新解是否越出边界,若是,则利用公式(22)对其进行重置调节;
Figure BDA00022073452000000513
Figure BDA00022073452000000514
Figure BDA00022073452000000515
其中,x*表示当前最优解,xi,j表示第i个体中第j列元素;
步骤S8.4:计算新解
Figure BDA00022073452000000516
的适应度值,若同时满足条件:
Figure BDA00022073452000000517
则接受新解
Figure BDA00022073452000000519
更新对应的适应度值,并利用公式(23)和(24)更新ri和Ai
Figure BDA0002207345200000061
Figure BDA0002207345200000062
其中,
Figure BDA0002207345200000063
表示初始脉冲发射率,
Figure BDA0002207345200000064
表示蝙蝠在t+1时刻的蝙蝠脉冲发射率,γ∈(0,∞)是脉冲发射率增强系数,
Figure BDA0002207345200000065
表示蝙蝠在t时刻的响度,
Figure BDA0002207345200000066
表示蝙蝠在t+1时刻的响度,α∈[0,1]表示响度衰减系数;
步骤S8.5:判断由步骤S8.4计算新解
Figure BDA00022073452000000615
得到的适应度值,若其适应度值小于原有种群中个体的最小适应度值,则用新解
Figure BDA00022073452000000616
更新最优解;若其适应度值大于原有种群中个体的最大适应度值,则用新解
Figure BDA00022073452000000617
更新最差解,并保存对应当前代最优解和最优适应度值。
基于同样的发明构思,本发明第二方面提供了一种基于第一方面所述优化方法得到的混合蝙蝠优化算法的多层感知器的优化方法,该方法包括:
步骤S1:将多层感知器MLP(multi-layer perceptron)的权值和偏置值表示为公式(25)的向量形式:
式中,
Figure BDA0002207345200000068
表示用于保存多层感知器中所有连接权值的向量,
Figure BDA0002207345200000069
表示用来保存多层感知器中所有的偏置值的向量;
步骤S2:设置评估向量
Figure BDA00022073452000000610
的适应度函数,具体包括:
步骤S2.1:利用公式(26)计算MLP的输入加权和,并利用公式(27)计算隐藏层每个节点的输出,具体计算公式如下:
Figure BDA00022073452000000611
Figure BDA00022073452000000612
其中,Wij表示输入层第i个节点到隐藏层第j个节点的连接权重,θj表示隐藏层第j个节点的偏置,Xi表示第i个输入;
步骤S2.2:利用公式(29)计算最终输出,其中最终输出Ok根据隐藏层节点计算的输出ok定义得到,而ok则由公式(28)计算得到:
Figure BDA00022073452000000613
Figure BDA00022073452000000614
wjk表示隐藏层中第j个节点到输出层中第k个输出节点的连接权重,θ′k表示第k个输出节点的偏置值,h表示隐藏层节点的数目,m表示输出节点的数目;
步骤S2.3:利用公式(30)计算均方误差MSE,并利用计算公式(31)中的平均均方误差最后将公式(32)作为衡量向量
Figure BDA0002207345200000072
的适应度评估函数,具体计算公式如下:
Figure BDA0002207345200000073
Figure BDA0002207345200000075
其中,评估向量
Figure BDA0002207345200000076
对应被优化个体,
Figure BDA0002207345200000077
表示当第k个训练样本出现在输入时,第i个输入单元的实际输出;
Figure BDA0002207345200000078
表示当第k个训练样本被使用时,第i个输入单元的期望输出;MSE表示均方误差(Mean Square Error),
Figure BDA0002207345200000079
表示均方误差的平均值;
步骤S3:输入预设分类数据集,获取数据集中属性和分类个数、训练样本、测试样本以及样本对应的期望输出值;
步骤S4:利用步骤S3的训练样本,调用基于权利要求1至7任一项权利要求所述优化方法得到的混合蝙蝠优化算法训练多层感知器,输出最优解,其中,该最优解代表MLP的一组最优连接权值
Figure BDA00022073452000000710
和偏置值
Figure BDA00022073452000000711
步骤S5:将最优解、MLP各层节点数目和输入测试样本作为步骤S2公式(26)(27)(28)(29)的输入,从而计算每个测试样本对应的真实输出值;
步骤S6:根据测试样本的真实输出值与对应的期望输出值之间的关系,计算出正确分类率。
在一种实施方式中,步骤S6具体包括:
将每个测试样本的真实输出值与对应的期望输出值进行比较,统计所有测试样本对应的真实输出与期望输出相同或近似的个数,再除以测试样本总数,计算正确分类率:
Figure BDA00022073452000000712
其中,RN表示测试样本对应的真实输出与期望输出相同或近似的个数,Total表示测试样本总数,Final_rate表示正确分类率。
在一种实施方式中,所述方法还包括:输出正确分类率。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明第一方面提供的一种混合蝙蝠算法的优化方法,首先,在种群重构方面,通过改进原有反向学习策略,提出了一种带扰动多策略反向学习,以便重构一个有效的多样性搜索空间;其次,在全局勘探搜索方面,通过引入鲸鱼优化算法并对其进行改进,提出了一种自适应约束步长鲸鱼优化算法,从而可以弥补原有蝙蝠算法在全局勘探能力方面的不足;第三,在局部开采搜索方面,通过引入柯西变异和设计动态纠正策略,提出了一种基于柯西变异和动态纠正的蝙蝠算法,从而提高原有蝙蝠算法的局部搜索能力;总体来说,在三个策略的协同作用下,有效提高了优化结果的精度和稳定性。
本发明第二方面提供的采用优化后的混合蝙蝠算法的多层感知器的优化方法,将优化后的算法应用到多层感知器训练问题,可以取得较高的分类精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的一种混合蝙蝠算法的优化方法的流程示意图;
图2为本发明提供的优化方法的整体实施流程图;
图3为本发明优化后的混合蝙蝠算法适应度目标函数Rosenbrock在统计30次独立运行的收敛结果;
图4为本发明提供的采用优化后的混合蝙蝠算法对多层感知器进行优化的流程示意图。
具体实施方式
本发明的目的在于针对现有技术中的方法存在的精度和稳定性不佳的技术问题,提出一种混合蝙蝠算法的优化方法及其对多层感知器的优化方法。
为达到上述目的,本发明的主要构思如下:
第一方面提供了一种混合蝙蝠算法的优化方法,首先,基于基本的反向学习策略,结合其现有变体包括精英反向学习和一般反向学习,提出带扰动多策略学习提高蝙蝠种群的多样性;其次,基于鲸鱼优化算法,提出自适应约束步长鲸鱼优化算法提高蝙蝠的全局勘探能力;第三,引入柯西变异并设计动态纠正策略,提出基于动态纠正和柯西变异的蝙蝠算法,从而提高蝙蝠的局部搜索能力;在三个策略的协同作用下,有效提高了优化结果的精度和稳定性。
第二方面提供了多层感知器的优化方法,将优化得到的混合蝙蝠算法应用到多层感知器优化问题,以实现精确的分类精度。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种混合蝙蝠算法的优化方法,请参见图1,该方法包括:
步骤S1:设置初始化参数,初始化参数包括种群大小N、适应度目标函数、响度Ai∈[1,2]、脉冲发射率ri∈[0,1]、最大迭代次数N_gen、频率fi∈[fmin,fmax]、脉冲频度增强系数γ、响度衰减系数α,其中γ和α都为常数。
具体来说,初始化参数可以根据实际情况进行设置。在一种实施例中,N=40,响度Ai取[1,2]之间的随机数、脉冲发射率ri取[0,1]之间的随机数,最大迭代次数N_gen=200,fmin=0,fmax=100,γ=α=0.9。
步骤S2:初始化蝙蝠种群和速度,其中,种群根据公式(1)进行初始化,速度vi可以初始化为0;
xij=xjmin+(xjmax-xjmin)×rand (1)
式(1)中,i∈[1,...,N],xij表示种群的第i行第j列元素,j∈[1,...,d],d表示种群的维度,xjmax和xjmin分别表示预设搜索区间第j维向量的最大值和最小值,rand为均匀分布在(0,1)的随机数。
在本实施例中,种群构成一个矩阵,种群的第i行第j列元素也就是指由种群构成的矩阵的第i行第j列元素,种群维度d=16,每个维度向量取值范围一致,且最大值xjmax=10,最小值xjmin=-5,rand为均匀分布在(0,1)的随机数,速度vi初始化为0。
步骤S3:根据适应度目标函数计算蝙蝠个体的适应度,并根据个体适应度值对种群进行排序,得到相应原始种群的第一最优解和第一最差解。
在一种实施方式中,步骤S3具体包括:
步骤S3.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S3.2:将初始种群中适应度值最小对应的个体为第一最优解,将初始种群中适应度值最大对应的个体为第一最差解。
具体来说,根据适应度目标函数可以计算出每个蝙蝠个体的适应度值,然后根据计算出的适应度值对初始种群进行排序,并得到第一最优解和第一最差解。
步骤S4:当前迭代次数t小于或等于最大迭代次数N_gen时,采用带扰动多策略反向学习对原始种群进行学习,得到第一多样性种群。
具体来说,通过当前迭代次数与最大迭代次数的关系,来对初始种群进行学习。反向学习(OBL)作为一种新的智能计算技术,基本的反向学习是由Tizhoosh在2005年提出来的,反向学习策略的核心思想是先利用当前解生成对应的反向解,然后通过适应度评估函数来衡量当前解和反向解的质量,其中较好的解将被选择参与到下一代进化过程。因此,反向学习可以利用来改善随机初始化蝙蝠种群的质量。现有技术中,比较流行的反向学习变体主要有王晖等人提出的一般反向学习(GOBL)和周新宇等人提出的精英反向学习,它们都是基于反向学习的改进。但是,目前的一般反向学习和精英反向学习仍存在效果不佳的问题。因而,本发明提出的是一种带扰动多策略反向学习方法,根据不同进化阶段分别调用重写的精英反向学习和一般反向学习,通过带扰动多策略反向学习方法对原始种群进行学习,可以重构一个有效的多样性搜索空间,即得到第一多样性种群。
在一种实施方式中,步骤S4具体包括:
步骤S4.1:对于种群中的任何个体,若当前迭代次数t与最大迭代次数N_gen的比值小于0.5,则利用一般反向学习重写的等式(2)生成种群中所有个体的一般反向解;否则,利用精英反向学习重写的等式(3)生成种群中所有个体的精英反向解,再利用公式(4)对所有精英反向解进行扰动;
Figure BDA0002207345200000111
Figure BDA0002207345200000112
其中,常数k∈(0,1),max(x*)表示当前最优个体x*所有维度中的最大元素,min(x*)表示当前最优个体x*所有维度中的最小元素,
Figure BDA0002207345200000113
表示当前最差解
Figure BDA0002207345200000114
中第j维元素;
Figure BDA0002207345200000115
表示当前最优解
Figure BDA0002207345200000116
中第j维元素;
步骤S4.2:步骤S4.1中产生的种群中,若存在反向解
Figure BDA0002207345200000117
越出预先设置的解空间上下边界[Lb,Ub],则通过公式(5)重置越出边界的反向解
Figure BDA0002207345200000118
计算并保存重置后的种群中所有个体的适应度值,
Figure BDA0002207345200000119
式(5)中,Lb表示预先定义解空间的下边界,Ub表示预先定义解空间的上边界,
Figure BDA00022073452000001110
表示由步骤4.1产生的反向解;
步骤S4.3:将步骤S4.2处理后的种群与原种群合并,并根据个体的适应度值对合并后的种群进行排序,然后选择最佳的N个个体作为新种群,即多样性种群,其中多样性种群将参与到下一步进化过程。
在本实施方式中,步骤S4.1中,k=0.5,max(x*)表示当前最优个体x*所有维度中的最大元素,min(x*)表示当前最优个体x*所有维度中的最小元素,N_gen=200,
Figure BDA00022073452000001111
表示当前最差解
Figure BDA00022073452000001112
中第j维元素;表示当前最优解
Figure BDA00022073452000001114
中第j维元素。
步骤S5:根据个体适应度值,对第一多样性种群进行排序,对原始种群的第一最优解和第一最差解进行更新,获得第一多样性种群的第二最优解和第二最差解。
具体来说,在得到第一多样性种群后,同样根据适应度目标函数计算个体的适应度值,并根据计算出的适应度值对原始种群的最优解和最差解(即第一最优解和第一最差解)进行更新。
在一种实施方式中,步骤S5具体包括:
步骤S5.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S5.2:将第一多样性种群中适应度值最小对应的个体为第二最优解,将第一多样性种群中适应度值最大对应的个体为第二最差解。
步骤S6:采用自适应约束步长鲸鱼优化算法,对第一多样性种群进行全局搜索,并根据全局搜索结果,则更新第一多样性种群以及对应的适应度值,获得第二多样性种群。
具体来说,鲸鱼优化算法是近年来提出的一种元启发式算法,它由Mirialili等人在2016年提出。该算法主要模拟海洋中的座头鲸利用不同的捕食策略随机搜索目标解的行为。作为一种新的元启发式优化算法,其具有多样化搜索方法,包括包围猎物、泡沫网攻击和搜索猎物。本发明采用的是改进后的鲸鱼优化算法:自适应约束步长鲸鱼优化算法,使其具有较强的全局搜索能力,从而可以弥补蝙蝠算法在全局搜索能力方面的不足。
采用自适应约束步长鲸鱼优化算法,对第一多样性种群进行全局搜索得到全局搜索结果,如果全局搜索结构中存在更好的解(即适应度值比之前的第二最优解更小),则更新第一多样性种群以及对应的适应度值,获得第二多样性种群。如果不存在更好的解,则不进行更新。
在一种实施方式中,步骤S6具体包括:
步骤S6.1:利用原始鲸鱼优化算法的公式(6)、(7)、(8)和(10)分别对向量
Figure BDA0002207345200000121
Figure BDA0002207345200000122
和l进行初始化;
Figure BDA0002207345200000123
Figure BDA0002207345200000124
Figure BDA0002207345200000125
Figure BDA0002207345200000126
Figure BDA0002207345200000127
其中,t为当前迭代代数,rand,
Figure BDA0002207345200000128
为[0,1]之间均匀分布的随机数,向量
Figure BDA0002207345200000129
大小随着迭代次数变化,用于调节系数向量大小,向量
Figure BDA00022073452000001211
大小用于控制搜索策略的选择,系数向量
Figure BDA00022073452000001212
用于调节步骤6.2中公式(11),
Figure BDA00022073452000001213
同于调节l的大小,随机数l∈[-1,1]用于调节步骤S6.3中螺旋搜索公式(14);
步骤S6.2:当随机数p∈[0,1]满足第一设定条件时,如果
Figure BDA00022073452000001214
则根据公式(12)更新当前最优鲸鱼个体的位置;如果
Figure BDA00022073452000001215
则根据公式(13)更新当前鲸鱼个体的位置,其中一个鲸鱼个体对应一个蝙蝠个体;
Figure BDA00022073452000001216
Figure BDA00022073452000001217
Figure BDA0002207345200000131
其中,rand(1,d)表示生成1行d列随机数矩阵,且随机数在(0,1)区间;公式(11)中
Figure BDA0002207345200000132
用于辅助调节公式(12)中当前最优解的移动步长大小;
步骤S6.3:当p满足第二设定条件时,则根据公式(14)更新当前鲸鱼个体的位置,具体更新如下:
Figure BDA0002207345200000134
其中,b为常数,用于定义对数螺旋形状,
Figure BDA0002207345200000135
表示第i个鲸鱼个体与猎物的距离,猎物为当前为止获得的最优解,符号“·”表示元素之间相乘,随机数l∈[-1,1];
步骤S6.4:确定是否有任何个体位置xi,j超出预先定义的边界,若有则利用公式(15)对越出边界个体位置xi,j进行重置调节,并计算每个鲸鱼个体的适应值,根据鲸鱼个体的适应度值,更新当前种群和对应的适应度值;
Figure BDA0002207345200000136
式中,Ub和Lb分别表示预先定义上下边界,xi,j表示第i个体中第j列元素。
在本实例中,t为当前迭代代数,总迭代次数N_gen=200,rand,为[0,1]之间均匀分布的随机数。第一设定条件是:p<0.5,d=16,rand(1,d)表示生成1行d列随机数矩阵,且在随机数在(0,1)区间;公式(11)中
Figure BDA0002207345200000138
主要用于辅助调节公式(12)中当前最优解
Figure BDA0002207345200000139
的移动步长大小。第二设定条件:p≥0.5。
步骤S7:根据个体适应度值,对第二多样性种群进行排序,获得第三最优解和第三最差解。
具体地,步骤S7具体包括:
步骤S7.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S7.2:将第二多样性种群中适应度值最小对应的个体为第三最优解,将第二多样性种群中适应度值最大对应的个体为第三最差解。
步骤S8:采用基于柯西变异和动态纠正的蝙蝠算法,对第二多样性种群进行局部搜索,并根据局部搜索结果,更新多样性种群以及对应的适应度值,更新第三最优解和第三最差解,并获得对应当前代最优解和最优适应度值。
具体来说,柯西变异可以有效地防止启发式算法陷入局部最优。目前,它已被广泛应用于提高现有元启发式算法的搜索能力,Yao(姚新教授)等人利用柯西变异(Cauchymutation)来提高进化算法逃离局部最优的概率,Guo(郭振洲)等人利用柯西变异来提升鲸鱼优化算法的性能。
采用基于柯西变异和动态纠正的蝙蝠算法对第二多样性种群进行局部搜索,得到局部搜索结果,如果局部搜索结果中存在更好的解(即存在适应度值比第三最优解更小的),则更新多样性种群以及对应的适应度值,否则不进行更新。由于本发明提供的是改进后的方法,基于柯西变异和动态纠正的蝙蝠算法,可以尽可能避免蝙蝠在局部搜索过程陷入局部最优,使得蝙蝠算法的局部搜索能力得以改善。
在一种实施方式中,步骤S8具体包括:
步骤S8.1:分别利用原有蝙蝠算法中的公式(16)、(17)和(18)更新频率fi,速度vi和新种群中蝙蝠位置xi,从而得到新解,具体更新公式如下:
fi=fmin+(fmax-fmin)×rand (16)
Figure BDA0002207345200000141
Figure BDA0002207345200000142
其中,rand表示在区间[0,1]均匀分布的随机数,且最小频率fmin和最大频率fmax依赖于问题的区域大小,
Figure BDA0002207345200000143
Figure BDA0002207345200000144
分别表示蝙蝠个体i在t+1和t时刻的速度,
Figure BDA0002207345200000145
表示蝙蝠个体i在t时刻的位置,而x*表示整个种群在当前代的最优位置,
Figure BDA0002207345200000146
Figure BDA0002207345200000147
分别表示蝙蝠个体i在t+1和t时刻的位置;
步骤S8.2:判断更新后的新个体是否越出预先设定搜索边界,若越出边界则利用步骤S6.4中公式(15)进行重置调节,评估新个体
Figure BDA0002207345200000148
和对应原有个体
Figure BDA0002207345200000149
的适应度值,如果条件
Figure BDA00022073452000001410
成立,则判定个体
Figure BDA00022073452000001411
为弱个体,并利用公式(19)更新弱个体,生成一个新解;
Figure BDA00022073452000001412
式中,常数u∈(0,1),ri表示脉冲发射率,max(x*)表示当前最优个体x*所有维度中的最大元素,min(x*)表示当前最优个体x*所有维度中的最小元素,rand(1,d)表示生成1行d列的随机数矩阵;
步骤S8.3:获取预设柯西逆累积分布函数公式(20),并对公式(20)进行重写为公式(21);由公式(19)生成的解将继续通过公式(21)进行变异,得到新解,并判断新解是否越出边界,若是,则利用公式(22)对其进行重置调节;
Figure BDA0002207345200000151
Figure BDA0002207345200000152
Figure BDA0002207345200000153
其中,x*表示当前最优解,xi,j表示第i个体中第j列元素;
步骤S8.4:计算新解
Figure BDA0002207345200000154
的适应度值,若同时满足条件:
Figure BDA0002207345200000155
则接受新解更新对应的适应度值,并利用公式(23)和(24)更新ri和Ai
Figure BDA0002207345200000158
Figure BDA0002207345200000159
其中,
Figure BDA00022073452000001510
表示初始脉冲发射率,
Figure BDA00022073452000001511
表示蝙蝠在t+1时刻的蝙蝠脉冲发射率,γ∈(0,∞)是脉冲发射率增强系数,
Figure BDA00022073452000001512
表示蝙蝠在t时刻的响度,
Figure BDA00022073452000001513
表示蝙蝠在t+1时刻的响度,α∈[0,1]表示响度衰减系数;
步骤S8.5:判断由步骤S8.4计算新解
Figure BDA00022073452000001514
得到的适应度值,若其适应度值小于原有种群中个体的最小适应度值,则用新解
Figure BDA00022073452000001515
更新最优解;若其适应度值大于原有种群中个体的最大适应度值,则用新解
Figure BDA00022073452000001516
更新最差解,并保存对应当前代最优解和最优适应度值。
具体来说,步骤S8.2中,u∈(0,1),本实例中设置u=0.002;另外上述本步骤条件中ri表示脉冲发射率,其大小通过步骤8.4中公式(23)调节。
步骤S8.3中,x*表示当前最优解,例如x*=[1,2,4],则max(x*)=4,min(x*)=1,xi,j表示第i个体中第j列元素。
在执行完步骤S8后,如果当前迭代次数小于或等于最大迭代次数N_gen或者其它停止条件没达到,则返回步骤4;否则,输出并返回全局最优解。
请参见图2,为本发明提供的优化方法的整体实施流程图,在进行蝙蝠种群及其相关参数初始化后,计算种群适应度值,并进行排序,得到初始最优解和最差解,接着判断当前迭代次数是否小于或等于最大迭代次数,如果是,则采用带扰动多策略学习重构多样化种群,再采用自适应约束步长鲸鱼优化算法搜索,用以提升全局勘探搜索能力,最后采用柯西变异和动态纠正的蝙蝠算法进行搜索,提升局部搜索能力,每次完成后,迭代次数递增,如果前迭代次数大于最大迭代次数,则返回全局最优解。
请参见图3,为采用本发明的优化方法得到的混合蝙蝠算法ERFBA在Rosenbrock函数统计30次独立运行的收敛结果,从图3可以看出,采用本发明优化后的算法可以得到快速得到收敛的最优结果。
本发明提出的一种混合蝙蝠算法的优化方法。首先,利用提出的带扰动多策略学习克服了原始随机初始化种群多样性不足的问题,提高了全局勘探种群的多样性;其次,利用提出的自适应约束步长鲸鱼优化算法提高了蝙蝠算法全局勘探能力;最后,利用提出的基于柯西变异和动态纠正的蝙蝠算法提高了局部勘探能力。相比原始的蝙蝠算法,得到的优化后的混合蝙蝠算法具有更好的灵活性和适用性,能较好提高函数和多层感知器优化结果的精度和鲁棒性。
实施例二
基于同样的发明构思,本实施例提供了一种实施例一所述优化方法得到的混合蝙蝠优化算法的多层感知器的优化方法,请参见图4,该方法包括:
步骤S1:将多层感知器MLP(multi-layer perceptron)的权值和偏置值表示为公式(25)的向量形式:
Figure BDA0002207345200000161
式中,
Figure BDA0002207345200000162
表示用于保存多层感知器中所有连接权值的向量,
Figure BDA0002207345200000163
表示用来保存多层感知器中所有的偏置值的向量。
具体来说,多层感知器(MLP)优化可以参见Mirjalili在文献(Mirjalili,S.(2015).How effective is the Grey Wolf optimizer in training multi-layerperceptrons.AppliedIntelligence,43(1),150-161.)中提出的方法。本发明将实施例一中得到的优化后的混合蝙蝠算法(ERFBA)应用于多层感知器(multi-layer perceptron,MLP)优化问题,简称为ERFBA-MLP。将训练多层感知器(MLP)问题转化为ERFBA可以优化的形式。
步骤S2:设置评估向量
Figure BDA0002207345200000164
的适应度函数,具体包括:
步骤S2.1:利用公式(26)计算MLP的输入加权和,并利用公式(27)计算隐藏层每个节点的输出,具体计算公式如下:
Figure BDA0002207345200000165
Figure BDA0002207345200000171
其中,Wij表示输入层第i个节点到隐藏层第j个节点的连接权重,θj表示隐藏层第j个节点的偏置,Xi表示第i个输入;
步骤S2.2:利用公式(29)计算最终输出,其中最终输出Ok根据隐藏层节点计算的输出ok定义得到,而ok则由公式(28)计算得到:
Figure BDA00022073452000001715
Figure BDA0002207345200000172
wjk表示隐藏层中第j个节点到输出层中第k个输出节点的连接权重,θ′k表示第k个输出节点的偏置值,h表示隐藏层节点的数目,m表示输出节点的数目;
步骤S2.3:利用公式(30)计算均方误差MSE,并利用计算公式(31)中的平均均方误差
Figure BDA0002207345200000173
最后将公式(32)作为衡量向量
Figure BDA0002207345200000174
的适应度评估函数,具体计算公式如下:
Figure BDA0002207345200000175
Figure BDA0002207345200000176
Figure BDA0002207345200000177
其中,评估向量
Figure BDA0002207345200000178
对应被优化个体,
Figure BDA0002207345200000179
表示当第k个训练样本出现在输入时,第i个输入单元的实际输出;
Figure BDA00022073452000001710
表示当第k个训练样本被使用时,第i个输入单元的期望输出;MSE表示均方误差(Mean Square Error),
Figure BDA00022073452000001711
表示均方误差的平均值。
本实例中,步骤S2.1中,输入节点数目n=9,Wij表示输入层第i个节点到隐藏层第j个节点的连接权重,θj表示隐藏层第j个节点的偏置,Xi表示第i个输入。步骤S2.2中,wjk表示隐藏层中第j个节点到输出层中第k个输出节点的连接权重,θ′k表示第k个输出节点的偏置值,隐藏层节点的数目h=19,输出节点的数目m=1。步骤S2.3中,输出节点数目m=1,
Figure BDA00022073452000001712
表示当第k个训练样本出现在输入时,第i个输入单元的实际输出;
Figure BDA00022073452000001713
表示当第k个训练样本被使用时,第i个输入单元的期望输出;训练样本数目s=599;MSE表示均方误差(MeanSquare Error),表示均方误差的平均值。
步骤S3:输入预设分类数据集,获取数据集中属性和分类个数、训练样本、测试样本以及样本对应的期望输出值;
具体来说,预设分类数据集可以根据需要选取,例如可以输入公开的来自UCI(University of California Irvine)分类数据集。采用UCI中的Breast cancer数据集,该数据集的具体信息可参见文献(Mirjalili,S.(2015).How effective is the Grey Wolfoptimizer in training multi-layer perceptrons.Applied Intelligence,43(1),150-161.),其中属性个数为9,训练样本个数为599,测试样本个数为100,分类数目为2,样本期望输出值为经过归一化处理后的Breast cancer数据集最后一列。
步骤S4:利用步骤S3的训练样本,调用基于权利要求1至7任一项权利要求所述优化方法得到的混合蝙蝠优化算法训练多层感知器,输出最优解,其中,该最优解代表MLP的一组最优连接权值
Figure BDA0002207345200000181
和偏置值
Figure BDA0002207345200000182
本实例中,解空间的下边界Lb=-10,上边界Ub=10,种群维度dim=209,种群大小N=200,最大迭代次数N_gen=200,除了本实例中具体设置参数数值外,其它参数设置保持与实施例一致。
步骤S5:将最优解、MLP各层节点数目和输入测试样本作为步骤S2公式(26)(27)(28)(29)的输入,从而计算每个测试样本对应的真实输出值;
步骤S6:根据测试样本的真实输出值与对应的期望输出值之间的关系,计算出正确分类率。
在一种实施方式中,步骤S6具体包括:
将每个测试样本的真实输出值与对应的期望输出值进行比较,统计所有测试样本对应的真实输出与期望输出相同或近似的个数,再除以测试样本总数,计算正确分类率:
Figure BDA0002207345200000183
其中,RN表示测试样本对应的真实输出与期望输出相同或近似的个数,Total表示测试样本总数,Final_rate表示正确分类率。
本实例中,输入层节点数为9,隐藏层节点数19,输出节点数1,输入步骤S3的测试样本。
在一种实施方式中,所述方法还包括:输出正确分类率。
为了进一步验证本发明提出的一种混合蝙蝠算法的优化方法(ERFBA)的有效性,将其应用到多层感知器(multi-layer perceptrons,MLP)训练问题,以UCI(University ofCalifornia Irvine)中经过归一化处理的文本数据Breast cancer数据集为例。ERFBA算法和原有蝙蝠算法各独立10次,迭代200次,种群大小为200,通过统计10次运行分类结果的最大分类率,最小分类率和平均分类率三个指标,并与原有蝙蝠算法BA(Bat Algorithm)进行比较,以验证本发明提出的一种混合蝙蝠算法的优化方法(ERFBA)有效性。具体分类统计结果如表1所示。
表1为ERFBA应用于多层感知器(Multi-layer perceptron,MLP)优化问题,在经过10次独立运行后,基于ERFBA的MLP对UCI中的Breast cancer文本数据集分类率的统计结果。
表1 ERFBA算法与原有蝙蝠算法BA在Breast cancer数据集上正确分类率的统计结果
算法 最大值分类率 最小值分类率 平均值分类率
ERFBA 98% 99% 98.6%
BA 23% 98% 79.7%
本发明首先引入并改进反向学习,提出带扰动多策略反向学习,克服种群随机初始化多样性不足问题,得到一个有效多样性种群;其次,通过引入并改进鲸鱼优化算法的方法,提出自适应约束步长鲸鱼优化算法,在进行蝙蝠局部搜索之前,将其作为新混合蝙蝠算法的全局勘探阶段,以便减少寻优盲点,并弥补原有蝙蝠算法全局勘探能力的不足;第三,通过引入柯西变异并设计动态纠正策略,提出基于柯西变异和动态纠正的蝙蝠算法,以克服原有蝙蝠算法的局部勘探能力不足;第四,通过三者包括带扰动多策略学习、自适应约束步长鲸鱼优化算法、基于柯西变异和动态纠正的蝙蝠算法的协同作用下,从而提高了新算法函数优化结果的精度和鲁棒性;最后,将本发明应用到多层感知器训练问题,并取得较好的分类精度。
应当理解的是,本说明书未详细阐述的部分均属于现有技术(如:蝙蝠算法BA,鲸鱼优化算法WOA,反向学习OBL,精英反向学习EOBL,一般反向学习GOBL,柯西变异,柯西逆累积分布函数,利用元启发式算法训练MLP的方法等),详细阐述的部分为本发明独创的技术方案(如:带扰动多策略反向学习,自适应约束步长鲸鱼优化算法,基于柯西变异和动态纠正的蝙蝠算法等)。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种混合蝙蝠算法的优化方法,其特征在于,包括:
步骤S1:设置初始化参数,初始化参数包括种群大小N、适应度目标函数、响度Ai∈[1,2]、脉冲发射率ri∈[0,1]、最大迭代次数N_gen、频率fi∈[fmin,fmax]、脉冲频度增强系数γ、响度衰减系数α,其中γ和α都为常数;
步骤S2:初始化蝙蝠种群和速度,其中,种群根据公式(1)进行初始化,速度vi可以初始化为0;
xij=xjmin+(xjmax-xjmin)×rand (1)
式(1)中,i∈[1,...,N],xij表示种群的第i行第j列元素,j∈[1,...,d],d表示种群的维度,xjmax和xjmin分别表示预设搜索区间第j维向量的最大值和最小值,rand为均匀分布在(0,1)的随机数;
步骤S3:根据适应度目标函数计算蝙蝠个体的适应度,并根据个体适应度值对种群进行排序,得到相应原始种群的第一最优解和第一最差解;
步骤S4:当前迭代次数t小于或等于最大迭代次数N_gen时,采用带扰动多策略反向学习对原始种群进行学习,得到第一多样性种群;
步骤S5:根据个体适应度值,对第一多样性种群进行排序,对原始种群的第一最优解和第一最差解进行更新,获得第一多样性种群的第二最优解和第二最差解;
步骤S6:采用自适应约束步长鲸鱼优化算法,对第一多样性种群进行全局搜索,并根据全局搜索结果,更新第一多样性种群以及对应的适应度值,获得第二多样性种群;
步骤S7:根据个体适应度值,对第二多样性种群进行排序,获得第三最优解和第三最差解;
步骤S8:采用基于柯西变异和动态纠正的蝙蝠算法,对第二多样性种群进行局部搜索,并根据局部搜索结果,更新多样性种群以及对应的适应度值,更新第三最优解和第三最差解,并获得对应当前代最优解和最优适应度值。
2.如权利要求1所述的方法,其特征在于,步骤S3具体包括:
步骤S3.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S3.2:将初始种群中适应度值最小对应的个体为第一最优解,将初始种群中适应度值最大对应的个体为第一最差解。
3.如权利要求1所述的方法,其特征在于,步骤S4具体包括:
步骤S4.1:对于种群中的任何个体,若当前迭代次数t与最大迭代次数N_gen的比值小于0.5,则利用一般反向学习重写的等式(2)生成种群中所有个体的一般反向解;否则,利用精英反向学习重写的等式(3)生成种群中所有个体的精英反向解,再利用公式(4)对所有精英反向解进行扰动;
Figure FDA0002207345190000021
Figure FDA0002207345190000022
Figure FDA0002207345190000023
其中,常数k∈(0,1),max(x*)表示当前最优个体x*所有维度中的最大元素,min(x*)表示当前最优个体x*所有维度中的最小元素,
Figure FDA0002207345190000024
表示当前最差解
Figure FDA0002207345190000025
中第j维元素;
Figure FDA0002207345190000026
表示当前最优解
Figure FDA0002207345190000027
中第j维元素;
步骤S4.2:步骤S4.1中产生的种群中,若存在反向解
Figure FDA0002207345190000028
越出预先设置的解空间上下边界[Lb,Ub],则通过公式(5)重置越出边界的反向解
Figure FDA0002207345190000029
计算并保存重置后的种群中所有个体的适应度值,
式(5)中,Lb表示预先定义解空间的下边界,Ub表示预先定义解空间的上边界,
Figure FDA00022073451900000211
表示由步骤S4.1产生的反向解;
步骤S4.3:将步骤S4.2处理后的种群与原种群合并,并根据个体的适应度值对合并后的种群进行排序,然后选择最佳的N个个体作为新种群,即多样性种群,其中多样性种群将参与到下一步进化过程。
4.如权利要求1所述的方法,其特征在于,步骤S5具体包括:
步骤S5.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S5.2:将第一多样性种群中适应度值最小对应的个体为第二最优解,将第一多样性种群中适应度值最大对应的个体为第二最差解。
5.如权利要求1所述的方法,其特征在于,步骤S6具体包括:
步骤S6.1:利用原始鲸鱼优化算法的公式(6)、(7)、(8)和(10)分别对向量 和l进行初始化;
Figure FDA0002207345190000032
Figure FDA0002207345190000033
Figure FDA0002207345190000034
其中,t为当前迭代代数,rand,
Figure FDA0002207345190000036
为[0,1]之间均匀分布的随机数,向量
Figure FDA0002207345190000037
大小随着迭代次数变化,用于调节系数向量
Figure FDA0002207345190000038
大小,向量
Figure FDA0002207345190000039
大小用于控制搜索策略的选择,系数向量
Figure FDA00022073451900000310
用于调节步骤S6.2中公式(11),
Figure FDA00022073451900000311
用于调节l的大小,随机数l∈[-1,1]用于调节步骤S6.3中螺旋搜索公式(14);
步骤S6.2:当随机数p∈[0,1]满足第一设定条件时,如果
Figure FDA00022073451900000312
则根据公式(12)更新当前最优鲸鱼个体的位置;否则如果
Figure FDA00022073451900000313
则根据公式(13)更新当前鲸鱼个体的位置,其中一个鲸鱼个体对应一个蝙蝠个体;
Figure FDA00022073451900000314
Figure FDA00022073451900000316
其中,rand(1,d)表示生成1行d列随机数矩阵,且随机数在(0,1)区间;公式(11)中
Figure FDA00022073451900000317
用于辅助调节公式(12)中当前最优解
Figure FDA00022073451900000318
的移动步长大小;
步骤S6.3:当p满足第二设定条件时,则根据公式(14)更新当前鲸鱼个体的位置,具体更新如下:
Figure FDA00022073451900000319
其中,b为常数,用于定义对数螺旋形状,表示第i个鲸鱼个体与猎物的距离,猎物为当前为止获得的最优解,符号“·”表示元素之间相乘,随机数l∈[-1,1];
步骤S6.4:确定是否有任何个体位置xi,j超出预先定义的边界,若有则利用公式(15)对越出边界个体位置xi,j进行重置调节,并计算每个鲸鱼个体的适应值,根据鲸鱼个体的适应度值,更新当前种群和对应的适应度值;
式中,Ub和Lb分别表示预先定义上下边界,xi,j表示第i个体中第j列元素。
6.如权利要求1所述的方法,其特征在于,步骤S7具体包括:
步骤S7.1:根据适应度目标函数计算蝙蝠个体的适应度;
步骤S7.2:将第二多样性种群中适应度值最小对应的个体为第三最优解,将第二多样性种群中适应度值最大对应的个体为第三最差解。
7.如权利要求5所述的方法,其特征在于,步骤S8具体包括:
步骤S8.1:分别利用原有蝙蝠算法中的公式(16)、(17)和(18)更新频率fi,速度vi和新种群中蝙蝠位置xi,从而得到新解,具体更新公式如下:
fi=fmin+(fmax-fmin)×rand (16)
Figure FDA0002207345190000042
其中,rand表示在区间[0,1]均匀分布的随机数,且最小频率fmin和最大频率fmax依赖于问题的区域大小,
Figure FDA0002207345190000043
Figure FDA0002207345190000044
分别表示蝙蝠个体i在t+1和t时刻的速度,
Figure FDA0002207345190000045
表示蝙蝠个体i在t时刻的位置,而x*表示整个种群在当前代的最优位置,
Figure FDA0002207345190000046
Figure FDA0002207345190000047
分别表示蝙蝠个体i在t+1和t时刻的位置;
步骤S8.2:判断更新后的新个体是否越出预先设定搜索边界,若越出边界则利用步骤S6.4中公式(15)进行重置调节,评估新个体
Figure FDA0002207345190000048
和对应原有个体
Figure FDA0002207345190000049
的适应度值,如果条件
Figure FDA00022073451900000410
成立,则判定个体
Figure FDA00022073451900000411
为弱个体,并利用公式(19)更新弱个体,生成一个新解;
Figure FDA00022073451900000412
式中,常数u∈(0,1),ri表示脉冲发射率,max(x*)表示当前最优个体x*所有维度中的最大元素,min(x*)表示当前最优个体x*所有维度中的最小元素,rand(1,d)表示生成1行d列的随机数矩阵;
步骤S8.3:获取预设柯西逆累积分布函数公式(20),并对公式(20)进行重写为公式(21);由公式(19)生成的解将继续通过公式(21)进行变异,得到新解,并判断新解是否越出边界,若是,则利用公式(22)对其进行重置调节;
Figure FDA00022073451900000413
Figure FDA00022073451900000414
Figure FDA0002207345190000051
其中,x*表示当前最优解,xi,j表示第i个体中第j列元素;
步骤S8.4:计算新解的适应度值,若同时满足条件:
Figure FDA0002207345190000053
Figure FDA0002207345190000054
则接受新解
Figure FDA0002207345190000055
更新对应的适应度值,并利用公式(23)和(24)更新ri和Ai
Figure FDA0002207345190000056
其中,表示初始脉冲发射率,
Figure FDA0002207345190000059
表示蝙蝠在t+1时刻的蝙蝠脉冲发射率,γ∈(0,∞)是脉冲发射率增强系数,
Figure FDA00022073451900000510
表示蝙蝠在t时刻的响度,表示蝙蝠在t+1时刻的响度,α∈[0,1]表示响度衰减系数;
步骤S8.5:判断由步骤S8.4计算新解
Figure FDA00022073451900000512
得到的适应度值,若其适应度值小于原有种群中个体的最小适应度值,则用新解
Figure FDA00022073451900000513
更新最优解;若其适应度值大于原有种群中个体的最大适应度值,则用新解更新最差解,并保存对应当前代最优解和最优适应度值。
8.一种基于权利要求1至7任一项权利要求所述优化方法得到的混合蝙蝠优化算法的多层感知器的优化方法,其特征在于,该方法包括:
步骤S1:将多层感知器MLP的权值和偏置值表示为公式(25)的向量形式:
式中,
Figure FDA00022073451900000516
表示用于保存多层感知器中所有连接权值的向量,
Figure FDA00022073451900000517
表示用来保存多层感知器中所有的偏置值的向量;
步骤S2:设置评估向量
Figure FDA00022073451900000518
的适应度函数,具体包括:
步骤S2.1:利用公式(26)计算MLP的输入加权和,并利用公式(27)计算隐藏层每个节点的输出,具体计算公式如下:
Figure FDA00022073451900000519
Figure FDA00022073451900000520
其中,Wij表示输入层第i个节点到隐藏层第j个节点的连接权重,θj表示隐藏层第j个节点的偏置,Xi表示第i个输入;
步骤S2.2:利用公式(29)计算最终输出,其中最终输出Ok根据隐藏层节点计算的输出ok定义得到,而ok则由公式(28)计算得到:
Figure FDA0002207345190000061
Figure FDA0002207345190000062
wjk表示隐藏层中第j个节点到输出层中第k个输出节点的连接权重,θ′k表示第k个输出节点的偏置值,h表示隐藏层节点的数目,m表示输出节点的数目;
步骤S2.3:利用公式(30)计算均方误差MSE,并利用计算公式(31)中的平均均方误差
Figure FDA0002207345190000063
最后将公式(32)作为衡量向量
Figure FDA0002207345190000064
的适应度评估函数,具体计算公式如下:
Figure FDA0002207345190000065
Figure FDA0002207345190000066
其中,评估向量对应被优化个体,表示当第k个训练样本出现在输入时,第i个输入单元的实际输出;表示当第k个训练样本被使用时,第i个输入单元的期望输出;MSE表示均方误差(Mean Square Error),
Figure FDA00022073451900000611
表示均方误差的平均值;
步骤S3:输入预设分类数据集,获取数据集中属性和分类个数、训练样本、测试样本以及样本对应的期望输出值;
步骤S4:利用步骤S3的训练样本,调用基于权利要求1至7任一项权利要求所述优化方法得到的混合蝙蝠优化算法训练多层感知器,输出最优解,其中,该最优解代表MLP的一组最优连接权值
Figure FDA00022073451900000612
和偏置值
步骤S5:将最优解、MLP各层节点数目和输入测试样本作为步骤S2公式(26)(27)(28)(29)的输入,从而计算每个测试样本对应的真实输出值;
步骤S6:根据测试样本的真实输出值与对应的期望输出值之间的关系,计算出正确分类率。
9.如权利要求8所述的方法,其特征在于,步骤S6具体包括:
将每个测试样本的真实输出值与对应的期望输出值进行比较,统计所有测试样本对应的真实输出与期望输出相同或近似的个数,再除以测试样本总数,计算正确分类率:
Figure FDA0002207345190000071
其中,RN表示测试样本对应的真实输出与期望输出相同或近似的个数,Total表示测试样本总数,Final_rate表示正确分类率。
10.如权利要求8所述的方法,其特征在于,所述方法还包括:输出正确分类率。
CN201910886161.8A 2019-09-19 2019-09-19 一种混合蝙蝠算法的优化方法以及多层感知器的优化方法 Pending CN110728349A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910886161.8A CN110728349A (zh) 2019-09-19 2019-09-19 一种混合蝙蝠算法的优化方法以及多层感知器的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910886161.8A CN110728349A (zh) 2019-09-19 2019-09-19 一种混合蝙蝠算法的优化方法以及多层感知器的优化方法

Publications (1)

Publication Number Publication Date
CN110728349A true CN110728349A (zh) 2020-01-24

Family

ID=69219212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910886161.8A Pending CN110728349A (zh) 2019-09-19 2019-09-19 一种混合蝙蝠算法的优化方法以及多层感知器的优化方法

Country Status (1)

Country Link
CN (1) CN110728349A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367247A (zh) * 2020-03-23 2020-07-03 湖南大学 自动化铸造混流生产线产能优化方法
CN111814311A (zh) * 2020-06-12 2020-10-23 中国船舶重工集团公司第七二四研究所 一种人工阻抗表面结构混合优化方法
CN111882106A (zh) * 2020-06-16 2020-11-03 江苏大学 基于综合因素和ceemd-igwo-grnn的短期电力负荷预测方法
CN112800224A (zh) * 2021-01-28 2021-05-14 中南大学 基于改进蝙蝠算法的文本特征选择方法、装置及存储介质
CN114974400A (zh) * 2022-03-29 2022-08-30 江南大学 一种全局生物网络比对方法
CN117146833A (zh) * 2023-10-31 2023-12-01 北京卓翼智能科技有限公司 基于改进蝙蝠算法的无人机路径规划方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108694438A (zh) * 2018-04-25 2018-10-23 武汉大学 一种结合爆炸策略、反向学习与蝙蝠算法的单目标优化问题方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108694438A (zh) * 2018-04-25 2018-10-23 武汉大学 一种结合爆炸策略、反向学习与蝙蝠算法的单目标优化问题方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367247A (zh) * 2020-03-23 2020-07-03 湖南大学 自动化铸造混流生产线产能优化方法
CN111367247B (zh) * 2020-03-23 2021-08-03 湖南大学 自动化铸造混流生产线产能优化方法
CN111814311A (zh) * 2020-06-12 2020-10-23 中国船舶重工集团公司第七二四研究所 一种人工阻抗表面结构混合优化方法
CN111882106A (zh) * 2020-06-16 2020-11-03 江苏大学 基于综合因素和ceemd-igwo-grnn的短期电力负荷预测方法
CN111882106B (zh) * 2020-06-16 2024-06-11 江苏大学 基于综合因素和ceemd-igwo-grnn的短期电力负荷预测方法
CN112800224A (zh) * 2021-01-28 2021-05-14 中南大学 基于改进蝙蝠算法的文本特征选择方法、装置及存储介质
CN114974400A (zh) * 2022-03-29 2022-08-30 江南大学 一种全局生物网络比对方法
CN114974400B (zh) * 2022-03-29 2023-06-16 江南大学 一种全局生物网络比对方法
CN117146833A (zh) * 2023-10-31 2023-12-01 北京卓翼智能科技有限公司 基于改进蝙蝠算法的无人机路径规划方法和装置
CN117146833B (zh) * 2023-10-31 2024-01-05 北京卓翼智能科技有限公司 基于改进蝙蝠算法的无人机路径规划方法和装置

Similar Documents

Publication Publication Date Title
CN110728349A (zh) 一种混合蝙蝠算法的优化方法以及多层感知器的优化方法
US10885470B2 (en) Selective training for decorrelation of errors
USRE42440E1 (en) Robust modeling
CN107085942B (zh) 一种基于狼群算法的交通流预测方法、装置及系统
CN105488528B (zh) 基于改进自适应遗传算法的神经网络图像分类方法
CN111898764A (zh) 联邦学习的方法、装置和芯片
CN107679477A (zh) 基于空洞卷积神经网络的人脸深度和表面法向量预测方法
Sinha et al. Epoch determination for neural network by self-organized map (SOM)
CN109272107A (zh) 一种改进深层卷积神经网络的参数个数的方法
CN106022215B (zh) 人脸特征点定位方法及装置
CN109740734B (zh) 一种利用优化神经元空间排布的卷积神经网络的图像分类方法
CN108665322A (zh) 口粮消费量预测模型的构建方法、消费量预测方法及装置
CN106650022A (zh) 复杂电子设备故障预测的方法
CN112733301B (zh) 一种基于神经网络的六维力矩传感器重力补偿方法及系统
CN109062296A (zh) 一种基于温湿度监控的粮食仓储方法
CN110837891A (zh) 基于simd架构的自组织映射方法及系统
CN113705724B (zh) 基于自适应l-bfgs算法的深度神经网络的批量学习方法
CN112525194A (zh) 一种基于海马-纹状体内源性和外源性信息的认知导航方法
CN114330135B (zh) 分类模型构建方法及装置、存储介质及电子设备
CN113407820B (zh) 利用模型进行数据处理的方法及相关系统、存储介质
CN116992341A (zh) 一种轴承故障诊断的分类方法
CN110852451A (zh) 基于核函数的递归核自适应滤波方法
CN110825903A (zh) 一种改进哈希融合机制的视觉问答方法
CN115205832A (zh) 一种基于vgg16的多任务学习植物表型处理方法及装置
Lapkova et al. Using Artificial Neural Network For The Kick Techniques Classification-An Initial Study.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200124