基于混沌映射的自适应樽海鞘群算法

一、理论基础

1、基本樽海鞘群算法

请参考这里

2、改进的樽海鞘群算法

本文从种群初始化、领导者的位置更新和追随者位置更新三个角度改善算法性能,分别侧重于收敛速度、全局搜索和局部搜索,具体描述如下。

(1)混沌映射

为了更大几率的得到好的初始解位置,加快种群的收敛速度,本文采用具有较好遍历均匀性和更快迭代速度的Tent混沌映射方法,提高初始解的覆盖空间,计算方法如式(1)所示。 y k + 1 i = { 2 y k i     y k i < 0.5 2 ( 1 − y k i ) y k i ≥ 0.5 (1) y_{k+1}^i=\begin{dcases}2y_k^i\quad\quad\quad\,\,\, y_k^i<0.5\\2(1-y_k^i)\quad y_k^i≥0.5\end{dcases}\tag{1} yk+1i={2ykiyki<0.52(1yki)yki0.5(1) x j i = y j i ( ub − lb ) + lb (2) x_j^i=y_j^i(\text{ub}-\text{lb})+\text{lb}\tag{2} xji=yji(ublb)+lb(2)其中, y k i y_k^i yki为区间 [ 0 , 1 ] [0,1] [0,1]的混沌序列,再根据式(2)进行逆映射得到种群的初始位置,这样的混沌映射方法能够大幅度的增大初始解空间的覆盖率,让种群能够更快的靠近最优解,从而加快算法的收敛速度。

(2)自适应权重变化

本文提出了一种新的领导者位置更新方式,在食物源的位置添加自适应权重,具体数学描述如式(3)所示。 x j i = { F j + c 1 F j c 1 ≥ 0.8 F j − c 1 F j c 1 < 0.8 (3) x_j^i=\begin{dcases}F_j+c_1F_j\quad c_1≥0.8\\F_j-c_1F_j\quad c_1<0.8\end{dcases}\tag{3} xji={Fj+c1Fjc10.8Fjc1Fjc1<0.8(3) c 1 = { 2 e − 2 ( T max ⁡ − t ) / T max ⁡ t < T max ⁡ / 2 2 e − 2 t / T max ⁡     t ≥ T max ⁡ / 2 (4) c_1=\begin{dcases}2e^{-2(T_{\max}-t)/T_{\max}}\quad t<T_{\max}/2\\2e^{-2t/T_{\max}}\quad\quad\quad\,\,\, t≥T_{\max}/2\end{dcases}\tag{4} c1={2e2(Tmaxt)/Tmaxt<Tmax/22e2t/TmaxtTmax/2(4)其中, x j i x_j^i xji表示第 i i i个个体在第 j j j维的位置, F j F_j Fj为食物源位置, c 1 c_1 c1为非线性权重, t t t为当前迭代次数, T max ⁡ T_{\max} Tmax为最大迭代次数。

(3)追随者机制变化

针对追随者的位置移动具有一定的盲目性而导致算法易陷入局部最优的这一缺点,本文提出了一种新的追随者移动方式,具体数学描述如式(5)所示。 x j i = { ( x j c 2 + F x j i ) / 2 f ( x j c 2 ) ≤ f ( x j i ) x j i − sin ⁡ ( x j i )       f ( x j c 2 ) > f ( x j i ) (5) x_j^i=\begin{dcases}(x_j^{c_2}+Fx_j^i)/2\quad f(x_j^{c_2})≤f(x_j^i)\\x_j^i-\sin(x_j^i)\quad\,\,\,\,\, f(x_j^{c_2})>f(x_j^i)\end{dcases}\tag{5} xji={(xjc2+Fxji)/2f(xjc2)f(xji)xjisin(xji)f(xjc2)>f(xji)(5)其中, x j i x_j^i xji表示追随者的位置; F F F是权重因子,服从参数为0.5的指数分布; c 2 c_2 c2代表了随机从领导者中选择的个体,如果当前个体 i i i的适应度大于领导者 c 2 c_2 c2的适应度,则在适应度较大的个体位置上添加权重因子,用来降低较差位置个体的影响,进而提升了较优个体的权重;否则,个体 i i i只在自己周围波动。这种移动方式,可以大大的降低盲目追随性,增强了种群间的信息交流,同时还能保留追随者的自身信息,保证种群的多样性。

(4)算法伪代码

本文通过添加混沌映射和自适应权重,同时改变领导者和追随者的位置更新方式,得到了改进的樽海鞘群算法(CASSA) ,平衡了领导者的探索和开发能力,降低了追随者盲目性,更好的保留了个体信息,同时保证种群的多样性,CASSA的具体算法伪代码如下图所示。
在这里插入图片描述

图1 CASSA算法伪代码

二、实验仿真及结果分析

为了验证CASSA算法的性能,将其与基本樽海鞘群算法(SSA)、正弦余弦优化算法(SCA)和鲸鱼优化算法(WOA)进行比较,设置,所有算法d饿最大迭代次数 T max ⁡ = 1000 T_{\max}=1000 Tmax=1000,种群大小 N = 30 N=30 N=30,为了消除算法的偶然性,每个测试函数独立运行30次。以文献[1]中表1的F1(200维)、F4(30维)、F7(100维)、F8(50维)、F10(4维)为例。
结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
SSA:最差值: 5160.9751,最优值:1963.4063,平均值:3305.0861,标准差:749.7805
SCA:最差值: 79508.7719,最优值:7858.0175,平均值:27131.6781,标准差:16931.5985
WOA:最差值: 7.4832e-142,最优值:5.0371e-161,平均值:2.989e-143,标准差:1.3836e-142
CASSA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F4
SSA:最差值: 19.2743,最优值:4.3716,平均值:9.4937,标准差:3.4112
SCA:最差值: 45.5529,最优值:0.80675,平均值:21.1844,标准差:13.6034
WOA:最差值: 88.2095,最优值:0.0025737,平均值:39.2026,标准差:31.0941
CASSA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F7
SSA:最差值: 258.4088,最优值:90.0267,平均值:173.884,标准差:34.2091
SCA:最差值: 461.6447,最优值:26.8304,平均值:199.1653,标准差:115.2066
WOA:最差值: 1.1369e-13,最优值:0,平均值:3.7896e-15,标准差:2.0756e-14
CASSA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F8
SSA:最差值: 5.768,最优值:1.8031,平均值:3.3611,标准差:0.91712
SCA:最差值: 20.5232,最优值:0.13775,平均值:16.8894,标准差:7.4958
WOA:最差值: 7.9936e-15,最优值:8.8818e-16,平均值:4.3225e-15,标准差:2.1847e-15
CASSA:最差值: 8.8818e-16,最优值:8.8818e-16,平均值:8.8818e-16,标准差:0
函数:F10
SSA:最差值: 0.020363,最优值:0.00054396,平均值:0.0028069,标准差:0.0059568
SCA:最差值: 0.0015427,最优值:0.00036387,平均值:0.0010032,标准差:0.00036804
WOA:最差值: 0.0014992,最优值:0.00031702,平均值:0.00061068,标准差:0.0003328
CASSA:最差值: 0.10783,最优值:0.0031819,平均值:0.031225,标准差:0.027163

结果表明,本文方法相比于其他优化算法具有更好的鲁棒性。

三、参考文献

[1] 童斌斌, 何庆, 陈俊. 基于混沌映射的自适应樽海鞘群算法[J]. 传感技术学报, 2021, 34(1): 41-48.

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: Matlab 中的麻雀算法是一种基于圆混沌映射的自适应权重优化算法,用于优化BP神经网络。该算法通过在训练过程中自动调整权重,以提高网络的性能。麻雀算法的优点在于其具有较快的收敛速度和较高的优化效果。 ### 回答2: MATLAB中基于Circle混沌映射适应权重的麻雀算法,是一种用于优化BP神经网络的方法。麻雀算法是一种基于自然界麻雀行为的优化算法,它模拟了麻雀觅食的过程。而Circle混沌映射是一种混沌映射方法,用于生成混沌序列。 在这个方法中,首先需要初始化BP神经网络的权重矩阵。然后,利用Circle混沌映射生成的混沌序列来更新权重矩阵。具体来说,在麻雀算法的每一轮迭代中,使用混沌序列的元素值来调整每个权重矩阵的元素值,以实现权重的自适应更新。通过这种方式,可以在搜索空间中找到更优的权重组合,从而改善BP神经网络的性能。 这种基于Circle混沌映射适应权重的麻雀算法优化BP神经网络的方法有以下特点: 1. 利用了混沌序列的随机性和无序性,可以避免陷入局部最优解,提高全局搜索的能力。 2. 通过自适应地调整权重矩阵,可以动态地优化BP神经网络的性能。 3. 麻雀算法模拟了麻雀觅食的过程,利用了麻雀行为中的搜索策略,能够更好地探索搜索空间。 总结起来,基于Circle混沌映射适应权重的麻雀算法是一种有效的优化BP神经网络的方法。它利用混沌序列作为自适应权重的调整因子,结合麻雀算法的搜索策略,能够找到更优的权重组合,提高神经网络的性能。 ### 回答3: 麻雀算法是一种基于自然界麻雀群体行为的优化算法,它模拟麻雀群体觅食的过程来进行优化。而BP神经网络是一种常用的神经网络模型,用于解决分类和回归问题。为了提高BP神经网络的性能,可以引入麻雀算法进行优化。 在matlab中,基于Circle混沌映射的麻雀算法可以用来自适应调整BP神经网络的权重。Circle混沌映射是一种随机非线性映射,可以产生具有随机性和不可预测性的序列。这里的Circle混沌映射是指利用三次映射的结果,将其投影到x-y平面形成一个圆。 首先,我们需要初始化麻雀算法和BP神经网络的参数。麻雀算法的参数包括种群大小、最大迭代次数、搜索半径等。BP神经网络的参数包括输入层节点数、隐藏层节点数、输出层节点数、学习率等。 然后,我们使用麻雀算法来优化BP神经网络的权重。具体方法是,在每一次迭代中,通过计算麻雀算法适应度函数来评估每个麻雀的适应性。适应度函数可以根据BP神经网络的误差来定义,例如均方误差。 接下来,根据适应度函数的结果,选择一些适应度高的麻雀进行交叉和变异操作,生成新的麻雀个体。通过交叉和变异操作,可以改变麻雀的权重,从而优化BP神经网络。 最后,重复以上步骤,直到达到最大迭代次数或者满足停止准则为止。在最后的结果中,我们可以得到优化后的BP神经网络的权重,从而提高了网络的性能和预测精度。 总之,matlab中基于Circle混沌映射适应权重的麻雀算法优化BP神经网络的过程是通过使用麻雀算法来搜索和优化神经网络的权重,从而提高BP神经网络的性能和预测精度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值