当前位置: 首页 > news >正文

即插即用的全新算法改进策略——引导学习策略:一种用于元启发式算法设计和改进的新型更新机制

1.简介

元启发式算法(MH)是自然启发的全局优化算法,往往比较简单,可以在短时间内解决问题,具有一定的好处。但是,随着问题变得更加复杂,算法所能获得的解往往不是问题的最优解,这就限制了其应用场景。因此,提高现有算法的性能和求解精度对于扩展其应用能力至关重要。在传统优化算法中,往往有两个概念,即探索和利用。探索是指大范围的离散搜索,用于避免陷入局部最优,而利用是指小范围的集中探索,用于提高算法精度。
如何平衡探索与利用是增强算法性能和问题适应性的关键。本文提出了一种全新的策略,命名为引导学习策略(GLS)来解决上述问题。GLS通过计算近几代个体历史位置的均方差来获得种群的分散程度,并推断出算法当前需要什么指导。当算法偏向于探索时,就会引导算法去探索。反之,就会引导算法去探索。正是因为这种策略能够识别算法当前的需求并提供辅助,才能提高大多数算法的性能。

2 提出的GLS

2.1 GLS的设计灵感

在建构主义学习理论中,假设知识是建构起来的。知识是由学习者在试图理解他们经验的意义时建构起来的。在获取知识的过程中,学习者不是简单地记忆老师提供的信息,而是建构自己对知识的理解。建构主义强调理解是学习的目标,而不是记忆或模仿。理解是一个复杂的过程,学习者通过与环境的互动、与同伴的交流和主动思考来建构自己的知识和意义。学习者总是处于学习过程的中心,根据他们先前的经验来解释外部世界。
因此,学习者不是被知识填充的被动接受者,而是寻求意义的主动有机体。建构主义认为学生应该发展有效利用知识的能力,而这种能力只有在有意义的活动语境中才能实现。学生仅仅获得惰性的概念和常规是不够的,因为当面临需要解决的问题时,这些是无法回忆起来的。社会建构主义学习理论在一个促进相互增强的循环过程中将主观和客观知识联系起来。
在这个循环往复的过程中,新知识的形成首先源于个体对新知识的主观建构,即个体通过自身的创造过程,基于自己的主观知识创造新知识,潜在地有助于客观知识的积累。通过个体主观建构产生的新知识通过各种媒介(印刷的、手写的、口语的或电子的)表现出来,由他人基于一定的客观标准进行审视和评价,然后被人们重新表述和接受,从而成为客观知识。在学习过程中,客观知识被个体内化和重新建构,成为基于获得意义的个人主观知识[48]。
如果学生在经验丰富的教师的个别指导下学习,教师可以根据学生的需求提供线索、参与或实践的机会和及时的强化。在这种情况下,教师和学生可以随时沟通和调整,有效地向学生提供反馈和指导。因此,在个别教学中,反馈和指导过程以微妙和非正式的方式发生。但是,在教学对象是几十名学生的课堂教学背景下,即使教师使用了最好的线索,提供了最好的参与机会和强化,仍然不可能对所有学生产生同样的效果。
这意味着,尽管教师有丰富的经验和能力根据学生的情况调整教学内容和过程,但要让每个学生都取得最佳的学习成绩是极其困难的。因此,一些学生在学习过程中难免会犯错误,这就需要教师及时反馈和指导,帮助他们正确解决问题[49]。
艾宾浩斯遗忘曲线结合了各种记忆机制来反映记忆保持的平均下降。记忆类型大致分为短期记忆和长期记忆。在从短期记忆向长期记忆的过渡中,一个重要因素是训练间隔。实验表明,持续的高强度训练不能直接形成长期记忆。只有纳入间隔训练才能有效地将短期记忆转化为长期记忆。因此,建立适当的反馈间隔至关重要。

3.2.方法定义

算法中探索和利用的概念类似于个人对客观知识的吸收和主观建构。算法需要平衡探索和利用两者,以有效地解决问题。与教学中的反馈类似,算法中探索和利用的动态平衡需要识别算法的当前需求。本文定义反馈结果Vo用于分析算法的当前需求,定义α作为确定如何引导算法的参数。具体数值将在下面的“参数敏感性分析”部分介绍。本文中,经验上限(反馈间隔)Cmax。Cmax越大,引导次数越少,单次引导时间越长,Cmax越小,引导次数越多,单次引导时间越短,C定义为初始经验值0,St用于存储学习经验,该机制主要有反馈阶段和引导阶段两个阶段。
在反馈阶段,会根据反馈结果Vo对算法进行引导。因为可以通过计算历史个体的分散程度(学习经验)St来判断算法当前的需求,当算法的历史个体分散时,认为算法在探索,当历史个体集中时,则认为算法在剥削。并且可以使用均方差计算分散程度。为了更好地教育学生,我们将反馈结果归一化,以便不同的班级可以应用同一组指标。因此,Vo的计算公式定义如下:
V o = s t d ( S t ) ∗ B (1) Vo = std(St) * B \tag{1} Vo=std(St)B(1)

B = 200 / ( u b − l b ) (2) B = 200/(ub - lb) \tag{2} B=200/(ublb)(2)

其中 s t d ( ) std() std() 是计算标准差的函数, S t St St 是学习经验,存储历史中最近的 C m a x Cmax Cmax 个体 X X X B B B 用于归一化 V o Vo Vo 以防止其受到上下界变化的影响, u b ub ub l b lb lb 分别是问题的上下界。

作者认为,通过良好的教学方法,即使是简单的指导也能取得良好的结果,因此将使用两个简单的公式来表示探索和开发,以指导算法。使用最简单的表示探索的公式,并对其进行小的修改以生成新位置,如公式 (3)-A 所示。使用最简单的表示开发的公式,如公式 (3)-B 所示,通过全局随机生成新位置。

X n e w = { X b e s t + tan ⁡ ( R ∗ π ) ∗ ( u b − l b ) / V o , V o ≤ α R ∗ ( u b − l b ) , V o ≤ α (3) X_{new} = \begin{cases} X_{best} + \tan(R * \pi) * (ub - lb) / Vo, Vo \leq \alpha \\ R * (ub - lb), Vo \leq \alpha \end{cases} \tag{3} Xnew={Xbest+tan(Rπ)(ublb)/Vo,VoαR(ublb),Voα(3)

其中 X b e s t X_{best} Xbest 是历史最佳个体, R R R 是 0 到 1 之间的随机数。

在指导阶段,算法将被引导以获得指导结果 X n e w X_{new} Xnew。当检测到算法当前需要开发( V o > α Vo > \alpha Vo>α)时,将使用公式 (3)-A 来指导算法并利用历史最佳个体。当检测到算法当前需要探索( V o ≤ α Vo \leq \alpha Voα)时,将使用公式 (3)-B 来指导算法并探索全局空间。

3.3. GLS 操作过程的图形表示

当问题维度 d i m = 1 dim=1 dim=1,种群大小 N = 4 N=4 N=4,经验上限 C m a x = 20 Cmax=20 Cmax=20 时,策略的操作过程的图形表示如图 1、图 2 所示。在这些图中,浅蓝色点表示个体的当前位置,浅橙色点表示由 GLS 指导生成的新位置,浅绿色点表示历史个体的位置,红色点表示历史最佳个体的位置,橙色箭头表示有效替换,其中新位置具有更好的适应度值并替换原始个体,蓝色箭头表示无效替换,其中新位置具有较差的适应度值且不替换原始个体。
在这里插入图片描述
图1 一维问题中GLS的引导开发过程
在这里插入图片描述
图2 一维问题中GLS的引导探索过程
如图 1 所示,当个体的位置相对分散时,认为算法当前需要探索。在这种情况下,将使用公式 (3)-A 生成新位置,新生成的位置将相对集中。如图 2 所示,当个体的位置相对集中时,认为算法当前需要开发。在这种情况下,将使用公式 (3)-B 生成新位置,新生成的位置将相对分散。

当问题维度 d i m = 2 dim=2 dim=2,种群大小 N = 4 N=4 N=4,经验上限 C m a x = 20 Cmax=20 Cmax=20 时,假设算法在第一维度进行探索,在第二维度进行开发。这可以如图 3 所示表示,GLS 的执行结果如图 4 所示。在这些图中, l b ( 1 ) lb(1) lb(1) u b ( 1 ) ub(1) ub(1) 分别表示问题在第一维度的上下界,而 l b ( 2 ) lb(2) lb(2) u b ( 2 ) ub(2) ub(2) 表示问题在第二维度的上下界。同一个体在两个维度中的位置由浅蓝色或浅橙色虚线连接。在图 3 中,第一维度与图 1 中的情况一致,而第二维度与图 2 中的情况一致,因此结果显然也一致。如图 4 所示,因为 X n e w 1 X_{new1} Xnew1 X n e w 2 X_{new2} Xnew2 的适应度值更好, X 1 X_1 X1 X 3 X_3 X3 将被 X n e w 1 X_{new1} Xnew1 X n e w 2 X_{new2} Xnew2 替换。此时,个体位置更加平衡,表明 GLS 可以在算法的不同维度中平衡探索和开发。执行 GLS 后,开发维度仍然倾向于探索,算法状态中没有突然的强制切换,这更好地防止了 GLS 拖低算法的原始性能并尝试通过维度扩展来提高算法性能。当问题维度更高时,只需通过维度扩展来增加维度。
在这里插入图片描述
图3.二维问题中GLS的执行过程
在这里插入图片描述
图4 二维问题中GLS执行后的个体位置

3.4. GLS 的伪代码和流程图

GLS 的伪代码可以在算法 1 中看到,流程图可以在图 5 中看到。其中, F e s Fes Fes 是当前评估次数, F e s m a x Fesmax Fesmax 是最大评估次数。从伪代码和流程图中不难看出 C m a x Cmax Cmax 主要影响 GLS 的执行频率,较大的 C m a x Cmax Cmax 会降低 GLS 的执行频率。然而, α \alpha α 主要影响 GLS 中指导公式的选择,较大的 α \alpha α 是,越倾向于探索指导。
在这里插入图片描述

function [gbest,gbestval,pop,popf,FES]=GLS(gbest,gbestval,pop,popf,lu,V0,A,fobj,FES,FESmax,i)[N,dim]=size(pop);which_dim=V0>A;pop_new=which_dim.*(gbest+tan(pi.*(rand(N,dim)-0.5)).*(lu(2,:)-lu(1,:))./V0)+...(~which_dim).*(rand(N,dim).*(lu(2,:)-lu(1,:)));for i1 = 1 : Npop_new_use=pop_new(i1,:);pop_new_use(pop_new_use>lu(2,:))=rand.*(lu(2,pop_new_use>lu(2,:)) - lu(1,pop_new_use>lu(2,:))) + lu(1,pop_new_use>lu(2,:));pop_new_use(pop_new_use<lu(1,:))=rand.*(lu(2,pop_new_use<lu(1,:)) - lu(1,pop_new_use<lu(1,:))) + lu(1,pop_new_use<lu(1,:));popnew_usef=feval(fobj,pop_new_use);FES = FES + 1;if (i1<=i && popnew_usef < popf(i1) && isreal(pop_new_use) && sum(isnan(pop_new_use))==0)popf(i1) = popnew_usef;pop(i1, :) = pop_new_use;endif (popnew_usef < gbestval && isreal(pop_new_use) && sum(isnan(pop_new_use))==0)gbestval = popnew_usef;gbest = pop_new_use;endif FES >= FESmaxreturnendendend

在这里插入图片描述
图5 引导学习策略(GLS)框架的流程图

Heming Jia, Chenghao Lu, Guided learning strategy: A novel update mechanism for metaheuristic algorithms design and improvement. DOI: doi.org/10.1016/j.knosys.2024.111402

相关文章:

  • C语言| 函数参数传递指针
  • 如何使用 poetry 创建虚拟环境,VSCode 如何激活使用 Poetry 虚拟环境(VSCode如何配置 Poetry 虚拟环境)
  • 2025年渗透测试面试题总结-匿名[校招]安全服务工程师(题目+回答)
  • GitLab CI流水线权限隔离
  • jsrpc进阶模式 秒杀js前端逆向问题 burp联动进行爆破
  • 大模型应用开发第五讲:成熟度模型:从ChatGPT(L2)到未来自主Agent(L4)
  • AI觉醒前兆,ChatGPT o3模型存在抗拒关闭行为
  • 【Linux学习笔记】深入理解动静态库本质及其制作
  • 题目 3316: 蓝桥杯2025年第十六届省赛真题-数组翻转
  • CSS选择器:has使用示例
  • 通过mailto:实现web/html邮件模板唤起新建邮件并填写内容
  • Linux 第十二讲 --- 进程篇(二) 初识进程
  • KONG根据请求参数限流
  • QT使用cmake添加资源文件闪退,创建了qrc文件不能添加的问题解决
  • 【Elasticsearch】track_total_hits
  • 设计模式25——中介者模式
  • Python列表深浅拷贝详解:原理、区别与应用场景
  • 期货反向跟单—交易规则设计(三)交易时长
  • DeviceNET转EtherCAT网关:制药厂灭菌工艺的智能升级密钥
  • 镍钯金PCB为什么很难做?
  • 企业网站建设单位/优化方案模板
  • wordpress 采集教程/网站seo优化报告
  • 怎么查网站后台地址/天津百度关键词排名
  • wordpress获取当前分类url/上海网优化seo公司
  • 哪个做网站平台好/公司网页制作流程
  • 香港服务器的网站可以做经营么/百度网址是什么