1 群体智能定义及特点
群体智能算法是一类通过模拟生物种群 (或自然/人工的群体)的行为,由一群简单个体遵循特定的交互机制完成给定任务 的优化算法。
相对于传统的优化算法,群体智能优化算法主要表现在搜索过程和搜索信息两个方面的不同。
1.1 搜索过程的不同


1.2 搜索信息的不同


1.3 群体智能的特点


2 群体智能算法分类
根据研究对象可以将群体智能算法分为生物群体智能算法和人工群体智能算法
2.1生物群体智能算法
生物群体智能算法的研究对象主要是具有生命现象的种群.
2.2 人工群体智能算法
人工群体智能算法研究对象主要是非生物系统、 人工系统和结构或者自然现象。
3 典型算法举例
3.1 粒子群算法
3.1.1 算法思想起源
鸟群的觅食模式:
• 避免碰撞
• 速度匹配
• 中心聚集
• 局部控制
• 无中心控制
3.1.2 算法原理
– 我们可以设想这样的一个场景,一群鸟在随机搜寻食物。所有的鸟都不知道食物在哪里,但他们知道周围多远的范围内有食物,那么找到食物的最佳策略是什么?
– 基于空间的连续性(假设),最简单的方法就是往距离食物最近的那只鸟的位置靠近。
3.2 蚁群算法
3.2.1 算法思想
它是通过模拟自然界蚂蚁社会的寻找食物的方式而得出的一种仿生优化算法。
蚁群寻找食物时会派出一些蚂蚁分头在四周游荡。
• 如果一只蚂蚁找到食物,它就返回巢中通知同伴并沿途留下“信息素”(pheromone) 作为蚁群前往食物所在地的标记。
• 信息素会逐渐挥发,如果两只蚂蚁同时找到同一食物,又采取不同路线回到巢中, 那么比较绕弯的一条路上信息素的气味会比较淡,蚁群将倾向于沿另一条更近的路线前往食物所在地。
3.2.2 双桥实验
– 最开始时,两条分支的蚂蚁数相同。
– 随着时间推移,留在短路径上的信息素越来越多大部分蚂蚁都会走短的路。
3.2.3 算法流程
4 演化学习
演化学习就是利用演化算法(EA)求解机器学习中的复杂优化问题。
演化算法是指一大类受自然演化启发的启发式随机优化算法,通过考虑 「突变重组」和 「自然选择」这两个关键因素来模拟自然演化过程。
4.1 演化学习的缺陷与展望
尽管演化学习在实践中取得了许多成功, 但在很长时期内未获得机器学习社区的广泛接受。其中一个最主要的原因便是,缺少坚实的理论基础。一直以来,演化计算的研究者过于关注启发式的策略设计算法,而缺乏对演化计算理论的关注。
在演化计算领域里,对于搞应用的来说,理论太滞后,没有指导意义,甚至关注理论进展的人都很少。而放在整个人工智能领域里,更是艰难,当时演化计算就已经是在顶级会议上冷下去的话题了。
2019年,经过数年的努力,周志华、俞扬等人的《Evolutionary Learning: Advances in Theories and Algorithms》(《演化学习:理论与算法进展》)发布
4.1.1 演化学习的理论劣势
进化算法就是加了限制条件的随机搜索,不稳定,且执行起来偏慢
相比于神经网络来说,参数太多,随机搜索代价太大。
4.2 演化学习与机器学习
4.2.1 机器学习
机器学习过程一般由三个部分组成:模型表示(model representation)、模型评估(model evaluation)、模型优化(model optimization)。
为了解决复杂学习问题,往往需要使用非线性模型和非凸评估函数,这导致优化目标函数往往具有不可导、不连续、存在多个局部最优解等性质。
然而,这些性质可能使得传统优化算法(如梯度下降)失效,而演化算法便有了用武之地
4.2.2 演化算法
演化算法一般可以抽象为以下四个步骤:
1. 生成一个包含若干初始解(solution)的集合,称为种群(population);
2. 基于当前种群通过变异和交叉产生一些新解;
3. 从当前种群和产生的新解中去除一些相对差的解形成新的种群;
4. 返回第二步并重复运行, 直至满足某个停止条件。
4.3 演化算法的优势
从迭代过程可以看出,演化算法在求解优化问题时,能够对解的优劣进行评估以便执行搜索,而无须关注问题的结构信息。
尤其在缺乏目标函数的梯度信息、甚至缺乏目标函数的显式表达式时都能使用,仅需能够通过实验或模拟评估解的相对优劣即可。
因此,演化算法被视为一种通用优化算法,甚至能以黑箱的方式求解优化问题。