机器学习笔记 - 什么是ABC算法?

1、ABC算法概述

        许多自然现象是创建基于种群的优化算法的动机。基于种群的算法的两种主要形式是进化算法和群体智能算法。人工蜂群 (ABC) 算法是一种基于群体的元启发式技术,最初用于数值优化。它的灵感来自蜜蜂聪明的觅食行为。该模型由三个关键部分组成:就业和失业的觅食蜜蜂,以及食物来源。

        人工蜂群 (Artificial Bee Colony) 是Dervis Karaboga 2005年定义的算法之一,受蜜蜂智能行为的启发。它与粒子群优化 (PSO) 和差分进化 (DE) 算法一样简单,并且仅使用常见的控制参数,例如菌落大小和最大循环数。ABC作为一种优化工具,提供了一种基于种群的搜索过程,其中被称为食物位置的个体被人工蜜蜂随着时间的推移而修改,蜜蜂的目标是发现花蜜量高的食物来源地,最后发现最高的食物来源地。花蜜。在 ABC 系统中,人造蜜蜂在多维搜索空间中飞来飞去,一些(受雇和旁观的蜜蜂)根据自己和巢友的经验选择食物来源,并调整它们的位置。一些(侦察员)在没有使用经验的情况下随机飞行并选择食物来源。如果新来源的花蜜量在他们的记忆中高于前一个,他们就会记住新的位置而忘记前一个。因此,ABC 系统将由雇佣蜂和旁观者蜜蜂执行的局部搜索方法与由旁观者和侦察员管理的全局搜索方法相结合,试图平衡探索和开发过程。

2、ABC算法原理

        基于群的优化算法使用协作试错法来确定解决方案。ABC 优化算法由社会群体的点对点学习行为驱动。ABC 由一组潜在的解决方案组成,并通过迭代过程找到最佳解决方案。 

        决定 ABC 种群发展的两个基本因素是变异和选择。变化过程探索搜索空间的不同部分。选择程序保证利用过去的经验。 

        ABC算法分为四个阶段:初始化阶段、雇佣蜜蜂阶段、侦察蜂阶段和围观蜜蜂阶段。更详细的每阶段的算法公式等见下面的算法主页和参考网址。

初始化阶段

重复

   雇佣蜜蜂阶段

   围观蜜蜂阶段

   侦察蜂阶段

   记住迄今为止取得的最佳解决方案

until(Cycle=最大循环数或最大 CPU 时间)

        在种群的初始化中,ABC 生成一个均匀分布的解种群,其中每个解都是一个维向量。维数取决于人口中特定食物来源的优化问题中的变量数。 

        受雇的蜜蜂根据来自个人经验的信息和新解决方案的适应度值修改当前解决方案。如果新食物源的适应度值高于旧食物源的适应度值,则蜜蜂用新食物源更新位置并丢弃旧食物源。使用在初始阶段之前定义的维度向量更新位置,其中包含获取更新位置所需的步长。步长是介于 –1 到 1 之间的随机数。

描述了使用蜜蜂阶段的位置更新过程。

         使用二维搜索空间。突出显示的框描绘了随机选择的方向,而 Xi 显示了蜜蜂的当前位置。Xk 是随机选择的蜜蜂。在此阶段从指定蜜蜂群的相同方向减去随机蜜蜂的方向。这种差异因步长(一个随机整数)而更加复杂。最后,通过将此量添加到 Xi 的维向量来计算新食物位置“V”的维数。该向量在 Xi 附近形成,并且具有与 Xi 相同的其他维度。

        与蜂巢中的旁观蜜蜂一起,受雇的蜜蜂传达更新后的解决方案(食物来源)的健康信息(花蜜)以及它们的位置信息。旁观者蜜蜂评估给定数据并根据其适应度可能性选择解决方案。与雇用的蜜蜂一样,观察者蜜蜂会修改其记忆位置并评估预期来源的适用性。如果适应度高于前一个位置,蜜蜂会记住新位置并忘记旧位置。

        如果食物源的位置没有在预定数量的周期内更新,则认为该位置已被放弃。废弃食物源的蜜蜂变成侦察蜂,食物源被搜索空间内随机选择的食物源替换。设定的循环次数,在 ABC 中被称为放弃限制,是一个关键的控制参数。

标题

        综上所述,ABC算法是

扫描二维码关注公众号,回复: 14175743 查看本文章

        1) 是一种全局优化算法。 

        2)最初被提出用于数值优化。 

        3)也可用于组合优化问题。 

        4) 可用于无约​​束和有约束的优化问题。        

        5) 仅采用由用户预先确定的三个控制参数(种群大小、最大循环数和限制)

3、ABC的实时行业用例

        Facebook 中使用的推荐系统

        建议方法的目标是有效地找到合适的学习资源。ABC用于在Facebook上创建一个定制的辅助材料推荐系统,该系统会根据学生的学习方式、兴趣和难度为他们推荐相关的辅助项目。

        优化网络配置 

        该算法用于解决径向配电系统中的网络重构问题,以降低实际功率损耗,改善电压分布,平衡馈线负载,同时满足径向网络结构所有负载都打开的要求。在解决方案质量和计算效率方面,ABCA 产生了优于其他测试方法的结果。 

        优化相机校准

        ABCA 用于解决直接线性变换 (DLT),这是一种在 3D 对象坐标和 2D 图片平面之间建立线性关系的相机校准方法。ABCA 算法的输出与 DE 算法的输出进行了比较。

        图片模板匹配

        目标是在已移动、缩放、旋转和/或部分模糊的目标景观场景中定位项目的图案或参考图片(模板)。结果,指定的参考图片将位于目标风景图像中。灰度和彩色图片的实验表明,ABC 比其他进化算法更快、更准确。

        医学图像的分割

        大脑磁共振 (MR) 图像的分割很复杂,被认为是图像处理中的巨大挑战。使用模糊 C 均值 (FCM) 算法的 ABC 算法对大脑图像进行分割。使用 ABC 算法的目的是减少时间并达到比以前算法获得的质量更高的质量。

4、算法的主页

Artificial Bee Colony (ABC) Algorithm Homepagehttps://abc.erciyes.edu.tr/        其他参考

Artificial bee colony algorithm - Scholarpediahttp://www.scholarpedia.org/article/Artificial_bee_colony_algorithm

优化算法——人工蜂群算法(ABC) - 云+社区 - 腾讯云一、人工蜂群算法的介绍    人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的...icon-default.png?t=M4ADhttps://cloud.tencent.com/developer/article/1064096

5、应用于函数优化问题

        假设有如下函数及约束:

         ABC算法的控制参数设置为:

        Colony size,CS = 6

        Limit for scout,L = (CS*D)/2 = 6

        问题的维度,D = 2

(1)初始化阶段

        介于下面公式

        这里X_{mi}是随机产生的初始食物来源之一。u_il_i 是目标函数的解空间的上界和下界,rand (0, 1) 是 [0, 1] 范围内的随机数。

        首先,我们使用范围 (-5, 5) 内的均匀分布随机初始化受雇蜜蜂的 3 个食物来源 (CS/2) 的位置。

        通过适应度函数计算的到其适应度向量。

 (2)雇佣蜜蜂阶段

(3)围观蜜蜂阶段

         从根据 p_i选择的解决方案x_i中为旁观者生成新的解决方案υ_i并评估它们。

(4)侦察蜂阶段

        侦察蜂随机搜索新的解决方案。

        该过程一直持续到达到终止标准。

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/124912037
今日推荐