越来越多的群体智能算法(蛙跳算法、猫群算法、蟑螂算法等等)有存在的必要吗? - 知乎 在这一问题下面,很多人对演化计算持批评看法,那学界有哪些论文从理论上(不是跑几个benchmark)来分析这些算法呢? 真正批判的不是演化计算,而是对演化计算已有思想、算法、模型的拙劣模仿!创新的算法,被模仿的次数多了(特别是那些只模仿而不创新却声称创新的),也会发生所谓的“劣币驱逐良币”的现象!关于演化计算,比较好的综述论文至少有(这里的“好”完全是个人主观判断,欢迎补充): 一直有一(小)群人长期致力于演化计算的理论分析,还成立了一个专门的演化计算会议FOGA(1990开始举办,最近一次在2021年)。虽然该会议一般每两年才召开一次,但是这群人的努力值得关注与尊敬。此外,每个主流的演化计算期刊会议都会接受理论论文(人工智能顶刊AIJ与JMLR也会接受演化计算论文),理论论文对一个领域的发展也非常重要。做理论需要一定的数学基础与恒心,门槛较高(有时完全看懂都难),这也是事实(所以对于能够在这一方向长期坚持的研究者,个人更多的是赞赏)!有时花费了两个星期到一个月,也未能完全看懂一篇理论论文(但是很欣赏作者的学术研究审美与问题分析角度)! 用于数值黑箱优化的ES领域:Ollivier, Y., Arnold, L., Auger, A. and Hansen, N., 2017. Information-geometric optimization algorithms: A unifying picture via invariance principles. Journal of Machine Learning Research, 18(18), pp.1-65. 作者Hansen从1996年提出强大的CMA-ES算法,到给出该算法的理论分析,整整花费了20年!从最初的一篇CEC论文到2001年的ECJ论文到最后的JMLR论文,也可以看到作者不间断的学术追求。无论是实践效果还是理论深度,这都是令人兴奋的演化算法之一(2015年发表在《Nature》上的EC综述论文将其称之为SOTA)! JMLR上有三篇个人很喜欢的理论分析论文:有两篇(其中一篇来自深度学习先驱之一https://people.idsia.ch/~juergen/,其网站也有介绍他在演化领域的研究工作)分析了演化策略的理论属性,特别是从信息几何(自然梯度)的角度;这也部分解释了为什么演化策略ES近一些年在顶刊顶会上可以受到广泛认可(2021年ICML最佳论文奖颁给了相关ES研究,来自Google Brain ;2017年一篇《Science》论文使用CMA-ES进行机器人参数优化)。另一篇是使用演化博弈论分析合作型协同演化算法的收敛属性(其中一位作者现在在DeepMind)。 抛砖引玉,欢迎更多的分享! 打个广告 之前我写过一些关于智能优化算法(也被称为进化算法)的内容,包括对智能优化算法这个领域的反思和与数学优化领域之间的对比引起了很多同学的讨论,我发现做这方面研究的同学还是很多的,详情见如下链接: 那么我这边就分享一下我曾经读过的觉得非常欣赏的带有一点点理论分析的智能优化算法论文。主要目的也是让大家欣赏一下好的智能优化算法论文是什么样的,以及怎么样做一点点小的理论分析。当然需要说明的是本文分享的方法是非常toy的方法,但希望借助这个toy的方法能够起到抛砖引玉的作用让大家进一步关注和思考智能优化算法的本质是什么?同时也是希望这个研究领域能朝着健康的方向发展。 以下内容出自论文【1】Cheng R, Jin Y. A social learning particle swarm optimization algorithm for scalable optimization[J]. Information Sciences, 2015, 291: 43-60. 首先让我们回顾一下基本的PSO(粒子群算法)迭代公式为: 其中 和 分别表示在粒子 在迭代次数 的位置和速度, 为0-1之间的均匀分布的随机数, 为惯性系数, 是参数, 表示粒子 的最优的位置, 表示整个种群最优的位置。 熟悉智能优化算法的同学相信对以上基本的PSO算法并不陌生,在论文【1】中所作的工作就是对上述PSO算法做了一个改进,改进后的算法叫做 social learning particle swarm optimization(SL-PSO),那么这个改进说起来也不难,新的SL-PSO算法的迭代公式如下所示: 其中 和 表示粒子 的 维度在迭代次数 的位置和位置变化量, 为0-1之间的均匀分布的随机数, 为比粒子 目标函数要好的索引, 表示所有种群粒子在维度 位置的平均值。 SL-PSO算法的改进思路用一句话来概括就是:基本的PSO算法是向种群中最好的粒子 去学习,而SL-PSO是向种群中比自己好的某一个粒子 去学习。 接下来我们就要开始做理论分析了,在理论分析之前我们需要把式(1.2)中的随机变量 替换为期望值,得到新的表达式: 我们观察可以看出式(1.1)和(1.3)的迭代公式实际上构成的是一个线性系统,我们令 式(1.1)和(1.3)可以改写为如下表达式: 看到式(1.4)之后对于熟悉控制理论的同学就非常happy了,这就是一个状态方程,而且还是一个线性的。不熟悉控制理论的同学也无所谓,观察式(1.4)我们不难发现 和 之前就是一个线性映射的关系,可以说式(1.4)一下子就把PSO算法迭代的本质反应了出来,那么我们要想要研究PSO算法的性质本质上就是研究这个线性映射 的性质。 至此我想研究一下SL-PSO算法的收敛性,根据式(1.4)我们知道对于一个线性系统而言其收敛的充分条件是矩阵 的所有的特征值模均小于1,矩阵 是一个2*2的矩阵容易得到其特征值的方程为 由二次方程求根公式不难得到其两个特征值分别为: 令 , 可以得到 至此通过上述一顿推导我们得到一个结论就是只要我SL-PSO算法的参数选择满足 那么这个SL-PSO算法一定就是收敛的。 看到这里还是能感觉一点点cool的,虽然其用到的数学方法不过就是一点点线性代数,加一点点动力学最最简单的内容而已,但多多少少给我们留下了一点回味就是我们竟然还是能分析PSO算法的收敛性的。甚至可以再进一步说,我们可以通过理论推导给与我们一个如何选择PSO算法参数的范围的指导。 有的时候你看到PSO的迭代公式以为就是这么一个公式了,其实有可能你还没有看到本质,通过理论分析让你看到这个本质。所有的PSO的改进无非就是在折腾不同的线性映射 罢了,而真正影响最终稳态性能的就是 的特征值。至此我想大家对于这篇论文已经有了一个初步的了解,细节内容可以去读原文。 需要注意的是这里的理论分析其实是做过了大量简化的一个结果,其简化的内容主要有: 1 只分析了单一粒子的迭代轨迹,而没有以种群的视角来分析这个轨迹。也可以认为我们只是分析了某一个粒子的迭代过程而把其它粒子的迭代过程视为常数。 2 只是从期望角度来做分析,而没有从概率分布的角度入手。在式(1.4)中的状态变量值本质上都应该加上期望的符号。 如果不做上述简化其实就很难得到这么简明的理论分析结果了,我们也可以看到上述两个简化实际上还是非常强的一个条件。所以目前来说对于智能优化算法的理论分析还是很困难的事情。 以下是一些从理论上分析智能优化算法的论文,其中包括演化计算和进化计算相关的研究: 这些论文提供了关于演化计算和进化计算等智能优化算法的理论背景和分析,可以帮助研究人员深入了解这些算法的性能和效果,并为进一步的研究和应用提供指导。 智能优化算法的表现受多种因素影响,如问题类型、算法参数设置和实验设计等。因此,没有一个算法在所有情况下都表现最好。不过,以下是一些目前在实际应用中表现较好的智能优化算法: 需要注意的是,选择合适的算法应该基于具体问题的特点和要求,以及算法的优劣势等因素进行综合考虑。同时,算法的优化效果也与算法参数设置和实验设计等因素密切相关。 智能优化算法的计算复杂度因算法类型和问题规模等因素而异。一般来说,演化计算和进化计算算法的计算复杂度比较高,而群体智能算法的计算复杂度相对较低。具体来说,以下是一些智能优化算法的计算复杂度和适用范围: 需要注意的是,随着计算机硬件性能的不断提高和算法的不断优化,智能优化算法在一定程度上可以应用于大规模问题的优化。同时,对于大规模问题,还需要采用一些优化策略,如分布式计算、并行计算等,以提高算法的效率和可扩展性。 并行计算是一种同时执行多个计算任务的计算模式,它可以将大规模计算任务分解成若干个较小的子任务,并通过多个处理器同时执行子任务,从而提高计算的速度和效率。智能优化算法通常需要处理大规模的数据集,并通过迭代优化过程逐步逼近最优解,因此并行计算可以显著提高这些算法的求解速度和效率。 具体来说,对于智能优化算法,通过并行计算可以实现以下优化: 需要注意的是,为了实现并行计算,需要采用一些并行算法和数据结构,如并行遗传算法、并行粒子群优化算法等,并针对具体问题进行优化设计。同时,还需要合理分配计算资源,如处理器数量、内存容量等,以充分利用并行计算的优势。 在下面文章中: 我们利用遗传编程算法在五分钟内发现了一个新的优化算法,, 命名为北极狐算法。 众所周知,在设计算法的时候,我们不仅仅希望取得良好的实验效果,还希望设计出的算法有理论保证。那么,我们是否可以证明北极狐算法一定收敛到全局最优呢? 假设: 证明: 定义 为 的 -邻域,即 。设 为一次操作中 落入 的概率。因为 能覆盖整个搜索空间,所以即便对于足够小的 ,依然可以得到。 在 次迭代中, 至少一次落入 的概率是 。使用极限,我们可以表示这个概率在 趋向无穷大时的行为: 这个极限表达了随着迭代次数 的增加, 至少一次落入 的 -邻域的概率趋近于 1。 现在,我们证明了北极狐算法 在无限次迭代的情况下,能够以概率 1 接近全局最优解 。前言:其实演化计算理论分析,尤其是全局收敛性是容易证明的。下面展示我举一个在遗传编程自动发现"北极狐优化算法"上证明全局收敛性的例子。
创客课程开发的每个主题课程需要基于现实情景,设置学习探究任务,通过问题研究、任务...
创客空间建设 能够给人们分享各种乐趣,通过电脑,技术,科学,艺术结合,设计创造一...
在了解创客教育之前,我们首先了解下何为创客。创客是一群喜欢或享受创新的人。创客跨...
STEAM教育是对传统教育的提升,它是基于自然学校方式的功能性框架,可以适合各类...