APP下载

无监督分类中的人工蜂群算法及其优化研究

2024-12-01张志霄王森

电脑知识与技术 2024年32期

摘要:文章验证了人工蜂群算法(ABC) 在无监督分类中的有效性,并探讨其处理复杂数据集的优势。通过结合ABC算法和遗传算法(GA) ,利用欧几里得距离度量模式相似性,实现无监督分类中聚类中心数量和位置的自动确定。实验采用Landsat等遥感数据集,评估算法在大规模、非均匀数据上的性能,并自动调整聚类参数,以提高分类精度和效率。结果表明,ABC算法在分类精度和收敛速度方面均优于GA等算法,尤其在处理复杂数据集时优势明显。未来研究将进一步优化算法,以满足更多实际应用需求。

关键词:遗传算法;人工蜂群;Landsat TM图像;聚类

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2024)32-0005-03 开放科学(资源服务)标识码(OSID) :

0 引言

在遥感技术的推动下,无监督分类方法在土地覆盖制图中的应用日益重要。然而,面对复杂多变的地表覆盖类型和大规模的数据集,传统的分类方法往往受限于其计算复杂度和适应性,难以高效且准确地完成分类任务。因此,探索新型的人工智能优化算法以提升无监督分类的效率和精度成为当前研究的热点。

前人研究已经在人工智能优化算法领域取得了显著进展。例如,遗传算法[1](Genetic Algorithm,GA) 通过模拟自然选择和遗传机制,实现了搜索空间中的全局优化;差分进化算法[2](Differential Evolution Algo⁃rithm,DEA) 则通过差分变异和交叉操作,提高了算法的收敛速度和全局搜索能力;粒子群优化[3](ParticleSwarm Optimization,PSO) 则通过模拟鸟群的社会行为,实现了对复杂问题的有效求解。这些算法均在一定程度上提高了无监督分类的性能。

然而,现有研究仍存在一定的局限性。例如,遗传算法在处理高维数据时容易陷入局部最优;差分进化算法在参数设置上较为敏感;粒子群优化则可能因粒子间的相互作用而导致早熟收敛。针对这些问题,本研究旨在探索一种新型的人工智能优化算法——人工蜂群算法[4](Artificial Bee Colony,ABC) ,并尝试将其应用于无监督分类问题中。

人工蜂群算法是一种模拟蜜蜂采蜜行为的智能优化算法,具有适应性强、收敛速度快、全局搜索能力强等优点。已有研究表明,ABC算法在解决复杂优化问题方面表现优异,但在无监督分类领域的应用研究尚显不足。因此,本研究的创新点在于将ABC算法引入无监督分类领域,结合其独特的搜索机制和优化策略,以提高分类的精度和效率。同时,本研究还将对比GA、DEA、PSO等算法在无监督分类中的表现,以验证ABC算法的优势和适用性。

1 方法

目标函数的目的是找到类质心与像素之间的最小距离。最小化函数定义如下:

式中:xi 是第I类像素,xj 是第j类的质心,cj 是属于第j类的像素。在文献中,采用了mse、kappa系数和量化误差等不同的方法来评价聚类算法的性能。在本研究中,量化误差作为性能标准[5]。量化误差由公式(3)定义:

式中:p 为聚类中的每个像素,ms为类的质心,ns为聚类中的像素个数,d为距离,S为类的个数。

一般方法的定义如下:

归一化0到1之间的所有数据重复

1-用启发式方法(ABC, GA, DEA, PSO)生成类质心的人口

2-计算像素和类质心之间的距离以找到成本值

3-将像素分配到最近的类,直到最大迭代或期望的误差

1.1 人工蜂群算法(ABC)

自然界中生物的智能行为引导研究人员从这些行为中获得灵感,开发新的优化方法。Karaboga[6]通过模拟蜜蜂的觅食行为,开发了人工蜂群(Artificial BeeColony,ABC) 算法。在人工蜂群算法中,蜜蜂分为围观蜜蜂、侦察蜜蜂和雇佣蜜蜂三种。人工蜜蜂的工作原理如下:

1) 受雇蜜蜂根据记忆中周围的食物来源确定食物来源。

2) 被雇佣的蜜蜂告诉蜂巢里的旁观蜜蜂食物来源,旁观蜜蜂选择食物来源。

3) 被雇佣的蜜蜂,其来源被抛弃,成为一个侦察兵蜜蜂,并开始寻找新的食物来源。

ABC算法基本步骤:

产生初始食物来源位置重复

1. 将受雇的蜜蜂送到食物来源的位置

2. 计算概率,选择使用的概率值

3. 选择食物来源位置

4. 放弃将被放弃的源并产生侦察蜂

5. 直到最大周期或期望的误差

1.1.1 生产食物来源位置

算法通过在搜索空间中产生与解相对应的随机食物源位置来启动程序。在确定下限和上限后,通过产生随机值来产生源位置。

xij = xmin j + rand (0,1) ⋅ (xmax j - xmin j ) (4)

这里,最小xmin j 和最大xmax j 分别为下限和上限。

1.1.2 把受雇的蜜蜂送到食物来源的位置

由于期望系统简单,在算法设计上做了一些让步。第一,每个来源都有一个受雇的蜜蜂。第二,受雇蜂和旁观蜂的数量相等。受雇蜂在其负责的食物来源附近确定新的食物来源并评估其质量。如果新来源的质量更高,雇佣蜂就会把这个新来源保存在记忆中。用现有源的邻域确定新源的公式如下:

vij = xij + θij (xij - xkj ) (5)

式中:θij 是一个随机生成的值,范围是[-1,1]。xij和xkj 分别是前解和后解。随着xij 和xkj 之间的差值减小,转换水平也自适应地减小,因为认为最优解是近似的。如果它们超过了上、下参数,则生成的vij 被设置回这些极限值,在这个范围内生成的向量表示一个新的源。用方程计算vij矢量的质量:

方程中的fnci 是vij 源的代价函数,贪心选择程序在xij 和vij 之间应用。记住较好的解决方案,而删除另一个解决方案。如果xij 继续使用,失败计数器(fitnessi)增加一个单位;否则,它被重置为没有找到解决方案。

1.1.3 围观者蜜蜂选择程序中使用的概率值的计算

被雇佣的蜜蜂完成了他们的搜寻过程,他们将花蜜的来源信息传递给围观的蜜蜂。围观者蜜蜂利用这一共享信息选择与食物花蜜信息概率成正比的来源。优化方法的选择过程是通过轮盘赌、比赛和随机抽样等方法实现。在ABC算法中,轮盘赌轮被用于此过程。扇形在车轮上的角度与适应度值成正比,计算如下:

式中:SN 表示工蜂(食物源)的数量。根据这个过程,随着适应度值的增加,选择机会也会增加。

1.1.4 旁观蜜蜂对食物来源位置的选择

在[0,1]范围内,将根据轮盘赌计算出的P值与每个源随机生成的数进行比较。当pi值大于这个数时,围观者蜜蜂和受雇蜜蜂一样,也会在这个源位置根据式(5)生成一个新的解。将新解与旧解进行比较,选择更好的解。然后,如果新的解决方案更成功,则重置失败计数器;否则,旧溶液将被保留,计数器I的失效将增加一个单位。

1.1.5 放弃枯竭的资源,生产侦察兵蜜蜂

在被雇佣蜂和围观者蜂完成搜索过程后(在一个周期结束时),失败计数器受到控制。一个源的花蜜是否耗尽由失败计数器控制。如果失败计数器(i fail⁃ure)大于用户为某个源设定的阈值,则放弃该源。之后,属于这个来源的被雇佣蜜蜂变成了侦察兵蜜蜂,重新开始寻找解决方案的过程。

1.2 粒子群优化

粒子群优化是受基于种群的群体智能的启发而发展起来的一种搜索算法。该方法考虑了鱼群和鱼群的社会行为。在PSO中,每一个可能的结果都被表示为群或群中的粒子。在这种方法中,寻找任何问题的解决方案被定义为种群中的个体寻找未知地点的食物,在寻找食物时,他们跟随离食物最近的个体。每一个被定义为粒子的溶液都是群体中的一个个体。当粒子移动时,通过将粒子的坐标发送给代价函数来计算粒子的适应度值。通过这种方法,可以计算出个体与食物的距离。种群中的每个粒子都要记住它的坐标、速度、最佳适应度值、它从哪里获得这个值以及它在搜索空间中的前进速度。

粒子群算法由一个随机粒子群(随机解)发起,在每次迭代中,根据两个最优值更新粒子位置,试图达到最优解。这两个值中的第一个是属于粒子在那一刻之前达到的最佳解的坐标,它通常被定义为“pbest”。对于第二个值,它是提供所有粒子在该时刻之前达到的最佳解的坐标。该值是总体中的最佳值(全局最佳值),定义为“gbest”。k维空间中由n个粒子组成的粒子矩阵如下式:

在 上 面 定 义 的 矩 阵 中 ,第 i.th 个 粒 子 为[ x11,x12,x13,...,x1k ],定义适合度值最佳的粒子位置为pbesti = [ xi1,xi2,xi3,...,xik ]。对于gbest,它在所有粒子的每次迭代中都是单一的gbest = [ p1,p2,p3,...,pk ]。第i个粒子的速度定义为vi = [ vi1,vi2,vi3,...,vik ]。用这个方程更新粒子的位置和速度:

vt (t + 1) = vi (t) + c1 ⋅ randt1 ⋅ ( pbesti (t) - xi (t))+c2 ⋅ randt2 ⋅ (gbesti (t) - xi (t)) (9)

xi (t + 1) = xi (t) + vi (t + 1) (10)

在方程(9)中,c1 和c2 是引导每个粒子到pbest 和gbest 位置的学习因子。c1 参数使粒子按照pbest 值移动,c2 参数使粒子按照gbest 值移动。通过这种方式,每个粒子都能从自己的经验和种群中其他个体的经验中获益。式中的randt1 和randt2 表示在[0,1]范围内正态分布的随机数,t表示迭代次数。

1.3 方法参数

选取合适的参数是启发式方法成功的重要因素。对于参数的选择,可以根据数据和成本函数要求使用不同的变量。在本研究中,所有方法的种群/粒子数为50,循环/迭代/代数为5 000。具体参数:ABC参数为limit=1 000, MR=0.8;遗传参数为:选择:锦标赛,交叉:两点,突变率:0.006;DEA参数CR=0.4, F=0.4, PSO 参数c1 = 0.5, c2 = 1.3,vmax = 12, wmax = 0.9,wmin = 0.45。

2 结果

基于ABC、DEA、GA和PSO的分类算法已被应用于Landsat TM图像的处理。除了进行图像分类外,我们还利用从UCI数据库中获取的葡萄酒数据、乳腺组织数据和图像分割基准数据来执行聚类操作,旨在验证所开发方法的稳定性。具体而言,葡萄酒数据有13 个属性3类,乳腺组织数据有9个属性6类,图像分割数据有19个属性7类。基准数据的测试结果见表1。我们基于ABC的方法针对不同数量的类进行了测试。Landsat影像的实验结果见表2。

3 结束语

本研究验证了人工蜂群算法(ABC) 在遥感图像无监督分类中的有效性。实验结果表明,ABC算法在分类精度和效率方面均优于GA、PSO等算法,尤其在处理复杂数据集时优势明显。ABC算法通过模拟蜜蜂觅食行为,有效优化了聚类中心,降低了类质心与像素间的距离。本研究的贡献在于将ABC算法应用于遥感图像无监督分类,并通过与其他算法的对比,验证了其优越性。未来研究将探索ABC算法与其他方法的结合,以及在更多实际应用场景中的推广。

参考文献:

[1] 陆泽浩.基于遗传算法的人工智能优化研究[J].轻工科技,2012,28(4):77-79,132.

[2] 苗晓锋,刘志伟.引入反向学习机制的自适应差分进化算法研究[J].计算机与数字工程,2019,47(12):2953-2956,3120.

[3] 蒋文骏.基于进化性粒子群优化算法的概率潮流计算方法研究[J].科学与信息化,2020(8):187-189,194.

[4] 包婉莹,罗小玲,潘新.基于人工蜂群与K-Means的改进混合聚类算法[J].人工智能与机器人研究, 2020, 9(2):8.

[5] TINGYUYE,JUNYE,HUIWANG,et al.结合人工蜂群优化的粗糙K-means 聚类算法[J].Journal of Frontiers of Computer Science and Technology, 2022, 16(8):1923-1932.

[6] KARABOGA D, OZTURK C.A novel clustering approach: Arti⁃ficial Bee Colony (ABC) algorithm[J].Applied Soft Computing,2011, 11(1):652-657.

【通联编辑:代影】