基础麻雀算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108830958
在式(1)发现者更新位置阶段, 当 R 2 < S T R_2R2<ST 时麻雀个体的位置随着迭代次数的增加而整体呈递减的 趋势, 意味着迭代后期种群的多样性逐渐减少, 增大了算法陷入局部最优解的概率。受小孔成像的启发, 将反向原理简化到学习策略中, 可以帮助算法寻得更广的反向位置 [ 18 ] { }^{[18]} [18] 。假设 每一维解空间的区间为 [ a i , b i ] \left[a_i, b_i\right] [ai,bi], 高度为 h h h 的火焰在 X \mathrm{X} X 轴上的投影为麻雀种群中发现者的位置 x i , j t x_{i, j}^t xi,jt, 然后火焰通过小孔屏在接收屏上得到一个高度为 h ′ h^{\prime} h′ 的倒像, 同时在 X \mathrm{X} X 轴上的投影为 x i , j t ′ ( x i , j t x_{i, j}^{t^{\prime}}\left(x_{i, j}^t\right. xi,jt′(xi,jt 的反向 点)。所以由三角形相似原理可得:
( a i + b i ) / 2 − x i , j t x i , j t ′ − ( a i + b i ) / 2 = h h ′ \frac{\left(a_i+b_i\right) / 2-x_{i, j}^t}{x_{i, j}^{t^{\prime}}-\left(a_i+b_i\right) / 2}=\frac{h}{h^{\prime}} xi,jt′−(ai+bi)/2(ai+bi)/2−xi,jt=h′h
令 h h = k \frac{h}{h}=k hh=k, 公式变换可得:
x i , j t ′ = ( a i + b i ) 2 + ( a i + b i ) 2 k − x i , j t k x_{i, j}^{t^{\prime}}=\frac{\left(a_i+b_i\right)}{2}+\frac{\left(a_i+b_i\right)}{2 k}-\frac{x_{i, j}^t}{k} xi,jt′=2(ai+bi)+2k(ai+bi)−kxi,jt
当 k = 1 k=1 k=1 时, 可得:
x i , j t ′ = ( a i + b i ) − x i , j t x_{i, j}^{t^{\prime}}=\left(a_i+b_i\right)-x_{i, j}^t xi,jt′=(ai+bi)−xi,jt
由式(6)可以看出, 当 k = 1 k=1 k=1 时的小孔成像反向学习就是常见的反向学习策略, 而常见的反向学习策 略得到的候选解一般是固定的, 但小孔成像反向学习可通过改变接收屏与小孔屏之间的距离来调整比 例系数 k k k, 从而得到更广的反向位置(解)。
利用逐维小孔成像反向学习策略对发现者位置进行更新, 将 S S A \mathrm{SSA} SSA 中 R 2 < S T R_2R2<ST 时发现者的位置通过 式(5)映射到空间中得到反向位置 (解), 然后将发现者位置的适应度值与反向学习后的适应度值进行 比较筃选, 若反向学习后的适应度值优于原适应度值, 则反向位置 (解) 取代原发现者的位置; 反 之, 则保留原发现者位置至下一代。因此引入小孔成像反向学习这种策略不仅丰富了发现者的寻优位 置, 使麻雀个体每一维可大可小, 也在一定程度上增加种群的多样性, 减少收敛早熟现象的产生。
在麻雀自身的受食过程中, 一旦发现捕食者, 它们通过唧唧喳喳的叫声作为警报信号。当 R 2 R_2 R2 (警 报信号)
S ( x ) = 1 1 + e − x S(x)=\frac{1}{1+e^{-x}} S(x)=1+e−x1
显而易见, Sigmoid 函数是一个严格单调递增、连续光滑的阈值函数, 对式(7)进行伸缩平移, 并 引入幅值、伸缩与平移因子, 得到:
S ( x ) = L ⋅ ( 1 1 + e a x + b + ω ) S(x)=L \cdot\left(\frac{1}{1+e^{a x+b}}+\omega\right) S(x)=L⋅(1+eax+b1+ω)
式中: L L L 表示幅值增益, a 、 b a 、 b a、b 分别表示伸缩与平移因子, ω ∈ [ 0 , 1 ) \omega \in[0,1) ω∈[0,1), 可动态设定函数的上下界。 其中 ω \omega ω 设为 0.05 0.05 0.05, 可根据实际应用设定。在算法迭代前期的发 现者阶段, 可保证安全阈值长时间处于较大值的范围内, 发现者对安全区域进行大范围的搜索, 指引 种群往最优位置附近收敛; 随着迭代次数的增加, 安全阈值开始非线性减小, 当到迭代后期时, 安全 阈值往往处于较小值的范围内, 发现者在最优位置的附近进行局部开发, 逼近理论最优解, 提高算法 的收敛精度。
[1]陈刚,林东,陈飞,陈祥宇.基于Logistic回归麻雀算法的图像分割[J/OL].北京航空航天大学学报:1-14[2021-09-26].https://doi.org/10.13700/j.bh.1001-5965.2021.0268.