一种自适应的蚂蚁聚类算法
- 格式:pdf
- 大小:231.50 KB
- 文档页数:6
一种改进的自适应蚁群聚类算法梁君玲;肖人岳;王向东【期刊名称】《计算机应用研究》【年(卷),期】2011(28)4【摘要】提出了一种改进的自适应蚁群聚类算法(improved adaptive ant clustering,IAAC).该算法改进了原来的AM(ant movement)模型,并在此基础上提出了一种网格化的移动策略来改善蚂蚁移动的随机性,使蚂蚁有意识地往模式较多的区域移动,极大地减少了蚂蚁无效的移动,使蚂蚁迅速地找到合适的位置放下模式;并提出了一种自适应调整蚂蚁运动阈值的方法以简化参数的选取,使得算法可以根据当前的聚类情况不断调整阚值,以达到更好的聚类结果.结果表明,该算法具有运行效率高、参数选取简单及自适应性等优点.%This paper proposed an improved adaptive ant clustering algorithm(IAAC).IAAC was improved from AM (ant movement) model.To reduce the randomness of ant's movement, a tactics of partitioning the area into some grids was came up to guide the ant's movement to reach the grids including more data objects.In this way, the ant's movement was much more effective and the ants could quickly find the suitable position.Moreover, resented a method to self-adaptively adjust the threshold of ant' s movement according to the current situation, which simplified the parameter' s selection.The results show that the proposed algorithm has high efficiency, simple parameters and adaptivity.【总页数】3页(P1263-1265)【作者】梁君玲;肖人岳;王向东【作者单位】华南理工大学,理学院,广州,510640;华南理工大学,理学院,广州,510640;华南理工大学,理学院,广州,510640【正文语种】中文【中图分类】TP18【相关文献】1.一种基于遗传算法改进的蚁群聚类算法 [J], 秦福高2.一种改进的K-means蚁群聚类算法 [J], 李振;贾瑞玉3.一种改进的蚁群聚类算法在客户细分中的应用 [J], 宋中山;周腾;周晶平4.一种改进的基于K-Means的蚁群聚类算法 [J], 尚玉新5.一种新型的自适应蚁群聚类算法 [J], 张蕾;曹其新;李杰因版权原因,仅展示原文概要,查看原文内容请购买。
粒子群算法及其参数设置摘要本文对标准蚁群算法、MMAS蚁群算法、自适应蚁群算法做了较详细系统的总结,其中主要讨论了自适应蚁群算法在DNA序列比对中的应用,主要的过程是:首先,我们设一个计分函数和一个得分策略,在任意给出一对DNA序列,建立一个序列比对矩阵。
现由4只蚂蚁从左上角向右下角移动,并且最终到达右下角,那么这4只蚂蚁随意走出4条路径,根据4条路径得出4对等长的比对,再依照计分函数分别计算出4条路径的比对得分,再由5.3式进一步验证4条路径的平均得分值,取其中得分最高(即最优路径)路径;进行第二次信息素增量的调整,方法是根据蚂蚁所走过的方向和该方向上得分比例计算出来的,信息素的变化量利用矩阵来存储,那么下一次蚂蚁所选的路径就要根据以前在各条路径上的信息素浓度总和的大小选择移动方向,最终经过有限次迭代,蚂蚁就会找到一条最优路径,也就是一条与原来DNA最相似的DNA链。
关键词:标准蚁群算法,MMAS算法,自适应蚁群算法,DNA序列比对目录1.引言 (1)2.标准蚁群算法 (1)2.1蚁群算法原理 (1)2.2蚁群算法的实现 (2)2.3 基本蚁群算法的优缺点 (4)2.3.1 基本蚁群算法的优点 (4)2.3.2 基本蚁群算法的缺点 (4)3.标准蚁群算法和MMAS(Max-Min Ant System)蚁群算法 (5)3.1 MMAS的概念 (5)3.2 AS与MMAS的对比 (5)3.3 MMAS和AS的区别 (6)3.4 最好、最坏路径信息素全局更新策略 (7)3.5 MMAS蚁群算法的特点 (7)4.自适应蚁群算法 (7)4.1 自适应蚁群算法的概述 (7)4.2 自适应的信息更新策略 (8)4.2.1 引题 (8)4.2.2 改进的蚁群算法过程 (8)4.2.3 自适应蚁群算法的稳定性和收敛性 (10)5.自适应蚁群算法在DNA中的应用 (10)5.1 序列比对 (10)5.2 动态蚁群算法和DNA序列比对的联系 (12)5.3 自适应调整信息素的改进算法 (18)6.结束语 (18)1.引言在二十世纪九十年代初期,意大利M.Dorigo,V.Maniezzo,A.Colorni等人从蚂蚁觅食的自然现象中受到启发,经过大量的观察和实验发现,蚂蚁在觅食过程中留下了一种外激素,又叫信息激素,它是蚂蚁分泌的一种化学物质,蚂蚁在寻找食物的时候会在经过的路上留下这种物质,以便在回巢时不至于迷路,而且方便找到回巢的最好路径。
kmeans聚类蚁群算法(原创版)目录一、引言二、K-means 聚类算法概述1.基本原理2.算法流程三、蚁群算法概述1.基本原理2.算法流程四、K-means 聚类算法与蚁群算法的结合1.结合方式2.优势与不足五、应用实例与结果分析六、结论正文一、引言在数据挖掘和机器学习领域,聚类算法是一种重要的方法,它可以将大量的数据进行分类和整理,从而方便后续的分析和处理。
本文将介绍一种常见的聚类算法——K-means 聚类算法,以及一种优化算法——蚁群算法,并探讨它们在实际应用中的结合与应用。
二、K-means 聚类算法概述1.基本原理K-means 聚类算法是一种基于距离的聚类方法,它的目标是将数据分为 K 个簇(cluster),使得每个数据点与其所属簇的中心点(均值)之间的距离最小。
2.算法流程K-means 聚类算法的流程如下:(1) 随机选择 K 个数据点作为初始中心点。
(2) 将剩余的数据点分别归入距离最近的中心点所在的簇。
(3) 更新每个簇的中心点,即计算簇内所有数据点的均值。
(4) 重复步骤 (2) 和 (3),直到中心点不再发生变化,或者达到预设的最大迭代次数。
三、蚁群算法概述1.基本原理蚁群算法是一种基于自然界蚂蚁觅食行为的优化算法,它通过模拟蚂蚁在寻找食物过程中的信息素更新和路径选择,来解决最优化问题。
2.算法流程蚁群算法的基本流程如下:(1) 初始化信息素和路径。
(2) 蚂蚁随机选择一条路径,并根据路径上的信息素浓度更新信息素。
(3) 蚂蚁根据信息素浓度选择新的路径。
(4) 重复步骤 (2) 和 (3),直到达到预设的最大迭代次数。
四、K-means 聚类算法与蚁群算法的结合1.结合方式K-means 聚类算法与蚁群算法的结合,主要是将蚁群算法应用于K-means 聚类算法的初始中心点选择和簇划分过程。
具体来说,可以将蚁群算法视为一种启发式方法,用于在初始阶段为 K-means 聚类算法提供较好的中心点候选集,从而提高聚类的准确性和效率。
自适应蚁群算法流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 初始化参数:设置蚂蚁数量、迭代次数、信息素挥发因子等参数。
基于自适应蚁群算法的模糊聚类算法本文提出了一种基于自适应蚁群算法的模糊聚类算法。
该算法将自适应蚁群算法和模糊聚类算法结合起来,通过蚁群算法的自适应性和模糊聚类算法的模糊性,对数据进行聚类分析。
实验结果表明,该算法能够有效地解决高维数据聚类问题,并且具有较高的聚类精度和较快的收敛速度。
关键词:自适应蚁群算法、模糊聚类、聚类分析、高维数据、收敛速度1. 引言在现代科学技术中,数据挖掘和聚类分析是非常重要的研究领域。
在实际应用中,我们经常需要对大量的数据进行分类和聚类分析,以便更好地理解数据之间的关系和规律。
模糊聚类算法是一种常用的聚类算法,它可以处理具有模糊性的数据,但是在处理高维数据时,其计算复杂度会急剧增加,导致算法效率较低。
自适应蚁群算法是一种优秀的搜索算法,具有自适应性和强大的全局搜索能力,但是其在处理大规模数据时,也会面临计算复杂度高的问题。
因此,如何将两种算法结合起来,提高聚类算法的效率和精度,是一个值得研究的问题。
2. 相关工作目前,已经有一些研究者将自适应蚁群算法和模糊聚类算法结合起来,提出了一些新的算法。
例如,Liu等人[1]提出了一种基于自适应蚁群算法的模糊聚类算法,该算法利用蚁群算法的搜索能力和模糊聚类算法的模糊性,对数据进行聚类分析。
实验结果表明,该算法能够有效地解决高维数据聚类问题,并且具有较高的聚类精度和较快的收敛速度。
但是该算法仍然存在一些问题,例如参数选择和收敛速度等。
3. 算法设计本文提出的基于自适应蚁群算法的模糊聚类算法,主要包括以下几个步骤:(1)初始化:确定聚类数K和蚂蚁数量M,初始化蚁群的位置和速度。
(2)计算适应度函数:根据模糊聚类算法的定义,计算每个点属于每个聚类的概率。
(3)更新速度和位置:根据自适应蚁群算法的原理,更新蚂蚁的速度和位置。
(4)更新信息素:根据蚂蚁的搜索结果,更新信息素的值。
(5)判断终止条件:当满足一定的迭代次数或者达到一定的收敛阈值时,停止算法。
• 46 •测控技术2018年第37卷第5期先进算法与人工智能基于自适应蚁群的FCM聚类优化算法研究谈玲珑,汪青,李长凯(安徽新华学院电子通信工程学院,安徽合肥230088)摘要:模糊C均值聚类算法在算法初始化时需要人为设定聚类类别数、随机初始化聚类中心,致使该算 法容易陷入局部最优值。
为解决此类问题,在蚁群算法中引入信 新机制,使 聚类中心更具全局优化 鲁棒性的特点;用蚁群算法得到的聚类中心来初始化F C M算法的聚类中心,解决了 F C M算法对初始聚类中心 问题;使用 信 数 聚类 性 方法F C M算法和优化F C M算法 ,优化的F C M算法性能更优。
在仿真 中,利用优化算法和F C M算法 图像、纹理图像和S A R图像 ,从图像 性和算法的实时性 ,验证了优化算法 性。
关键词:模糊聚类;蚁群算法;优化模糊聚类;有效性指标中图分类号:T P301.6文献标识码:A文章编号:000 -8829(2018)05 -0046 -05Optimization of Fuzzy C-Means Clustering Based on AdaptiveAnt Colony AlgorithmT A N Ling-long,W A N G Qing,LI Chang-kai(Electronic Communication Engineering College,Anhui Xinhua University,Hefei 230088, China) Abstract:The fuzzy C-means (F C M)clustering algorithm needs to artificially set the number of clusters when initializing the algorithm,and randomly initializes the clustering center,which makes the F C M algorithm easily f all into the local optimal solution.The optimized F C M clustering algorithm was used to solve the above problems.The adaptive ant colony algorithm created the initial clustering center and the number of the centers,the data were used as the input of F C M clustering algorithm.The F C M algorithm and the optimized F C M algorithm were evaluated by clustering validity evaluation method of entropy and data geometric structure.Experimental results and analysis show the effectiveness of the method.Key words:F C M;ant colony algorithm;optimized F C M clustering algorithm;validation index作为图像分析中的核心技术之一,图像分割的主 要方法有阈值分割法、边缘检测法、最大熵法、区域法、聚类分析法等。
ISSN 1000-9825, CODEN RUXUEW E-mail: jos@Journal of Software, Vol.17, No.9, September 2006, pp.1884−1889 DOI: 10.1360/jos171884 Tel/Fax: +86-10-62562563© 2006 by Journal of Softwar e. All rights reserved.∗一种自适应的蚂蚁聚类算法徐晓华1, 陈崚2,3+1(南京航空航天大学信息科学与技术学院,江苏南京 210016)2(扬州大学计算机科学与工程系,江苏扬州 225009)3(计算机软件新技术国家重点实验室(南京大学),江苏南京 210093)An Adaptive Ant Clustering AlgorithmXU Xiao-Hua1, CHEN Ling2,3+1(College of Information Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)2(Department of Computer Science and Engineering, Yangzhou University, Yangzhou 225009, China)3(State Key Laboratory for Novel Software Technology (Nanjing University), Nanjing 210093, China)+ Corresponding author: Phn: +86-514-7978307, E-mail: lchen@, /xyweb/xxxy/xykk/xrld_cl.htmXu XH, Chen L. An adaptive ant clustering algorithm. Journal of Software, 2006,17(9):1884−1889./1000-9825/17/1884.htmAbstract: Enlightened by the behaviors of gregarious ant colonies, an artificial ant movement (AM) model and anadaptive ant clustering (AAC) algorithm for this model are presented. In the algorithm, each ant is treated as anagent to represent a data object. In the AM model, each ant has two states: sleeping state and active state. In thealgorithm AAC, the ant’s state is controlled by both a function of the ant’s fitness to the environment it locates anda probability function for the ants becoming active. By moving dynamically, the ants form different subgroupsadaptively, and consequently the whole ant group dynamically self-organizes into distinctive and independentsubgroups within which highly similar ants are closely connected. The result of data objects clustering is thereforeachieved. This paper also present a method to adaptively update the parameters and the ants’ local movementstrategies which greatly improve the speed and the quality of clustering. Experimental results show that the AACalgorithm on the AM model is much superior to other ant clustering methods such as BM and LF in terms ofcomputational cost, speed and quality. It is adaptive, robust and efficient, and achieves high autonomy, simplicityand efficiency. It is suitable for solving high dimensional and complicated clustering problems.Key words: swarm intelligence; ant clustering摘 要: 受蚂蚁分巢居住行为的启发,提出一种人工蚂蚁运动(ant movement,简称AM)模型和在此模型上的一个自适应的蚂蚁聚类算法(adaptive ant clustering,简称AAC).将人工蚂蚁看成一个行为简单的Agent,代表一个数∗ Supported by the National Natural Science Foundation of China under Grant No.60074013 (国家自然科学基金); the ChineseNational Foundation for Science and Technology Development under Grant No.2003BA614A-14 (国家科技攻关项目); the NaturalScience Foundation of Jiangsu Province of China under Grant No.BK2005047 (江苏省自然科学基金); the Open Foundation of State KeyLaboratory for Novel Software Technology (Nanjing University) of China (计算机软件新技术国家重点实验室(南京大学)开放基金)Received 2004-06-13; Accepted 2005-08-29徐晓华等:一种自适应的蚂蚁聚类算法1885据对象.在AM中,人工蚂蚁有睡眠和活跃两种状态.在AAC算法中,定义了一个适应度函数用来衡量蚂蚁与其邻居的相似程度.人工蚂蚁通过其适应度和激活概率函数来决定处于活跃态或者睡眠态.整个蚂蚁群体在移动中动态地、自适应地、自组织地形成多个独立的子群体,使不同类别的蚂蚁之间相互分离;而同类的蚂蚁之间高度紧密地排列,从而形成聚类.提出了对参数的自适应的更新方法,使得人工蚂蚁的移动仅仅使用少量的局部信息,这对加快聚类速度和提高聚类质量有非常显著的效果.模拟实验充分显示出,该蚂蚁聚类算法与BM和LF算法相比,在模型上更直观,操作上更简单,可自适应地修改参数,对参数的限制少,计算成本较小,聚类质量高,具有速度快、高效、自组织性和鲁棒性的优点,适用于解决高维、复杂的聚类问题.关键词: 群体智能;蚁群聚类中图法分类号: TP301文献标识码: A科学家们发现,自然界中的蚂蚁群体能够完成单个蚂蚁所无法胜任的工作.蚂蚁群体的这种能力与它们的协同作用有关.协同作用是指由多个个体或部分合作产生的“整体大于局部之和”的效果.人们受蚂蚁等社会性昆虫的繁衍后代、寻找食物、构造巢穴、清除垃圾、保卫领地等行为的启发,已经设计了一系列蚁群算法,并成功地应用于组合优化[1−4]、网络路由[5]、机器人技术[6]等领域.Grassé等人用术语stigmergy[7]来解释蚂蚁通过改变周围环境来进行间接交流的形式.一些研究人员模拟含有stigmergy的人工蚂蚁的群体智能来处理数据挖掘中的问题,已经取得了一定成效.Deneubourg[7]等人提出了一种基本模型(basic model,简称BM)用来解释蚂蚁尸体堆积成蚂蚁墓的行为.Lumer和Faieta[7]扩展了BM模型,给出了数据对象的相似性度量表达式,设计了用于数据聚类的LF算法.Ramos等人[8]和Handl等人[9]又将LF算法应用于文本的聚类,取得了很好的效果.Holland 等人[9]则将它们运用到机器人领域.吴斌等人[10]将群体智能聚类模型运用于Web文档聚类,取得了满意的效果.但是,BM和LF算法在处理聚类问题时,存在着比较难以解决的问题:一方面,人工蚂蚁在捡起一个数据对象或丢下一个数据对象之前,都是在做大量、无效的随机移动,有一些位置可能重复多次达到,从而使得算法的时间成本较高,要形成高质量的聚类则需要很长的时间;另一方面,BM和LF算法中对参数设置具有敏感性,特别是关键参数α的确定,非常依赖于使用者的经验,使得聚类缺少鲁棒性,聚类的效果受到影响.虽然Handl等人[9]已经做了一些提高LF算法性能方面的工作,但基于蚂蚁尸体堆积模型的聚类效果还有待改善.鉴于BM的时间消耗过大的弱点,本文提出了一种人工蚂蚁聚类模型,即蚂蚁运动模型(ant movement,简称AM)和在此模型上的一个自适应的蚂蚁聚类算法(adaptive ant clustering,简称AAC).AM模型通过模拟蚂蚁因为安全需求而产生聚集的行为,利用一个人工蚂蚁代表一个数据.人工蚂蚁遵循我们提出的激活概率函数和聚类规则而不停地寻找合适位置,从而使得蚂蚁群体动态自组织地形成聚类.我们的实验证明:AM比BM更直观,操作更简单,它可以自适应地修改参数,对参数的限制少、计算成本小、聚类质量高,具有快速、高效、自组织等优点.我们的方法对于解决高维的、复杂的数据聚类问题也十分有效.1 蚂蚁运动模型生物学家在考察蚂蚁群居住的巢穴时发现,蚂蚁的巢穴是相互靠近的,这样蚂蚁之间可以互相照应,共同抵御外来者的入侵.但蚂蚁的巢穴之间不是均匀分布的,而是分群而居,各方面习性比较相近的蚂蚁会居住得比较近;反之,习性相对较远的就居住得比较远.即使是在同一群蚂蚁内部,也存在着蚂蚁之间关系的亲疏差别.蚂蚁在栖息的时候,总是倾向于跟同类或者习性相近的在一起.即使在同一蚂蚁群体内部,蚂蚁更喜欢与熟悉的伙伴作邻居.蚂蚁因为安全性的需求,总是会选择对它来说更有利、更舒适的环境来栖息.因为单个蚂蚁的能力非常微小,它需要与同伴相互协作才能满足自身对安全性的需求.所以,对于像蚂蚁这样弱小的个体,为了安全性的考虑,很自然地便会产生同类相聚、异类相斥的行为.AM模拟蚂蚁在生存环境中“寻找一个舒适的位置来休息”的行为,其中的每个人工蚂蚁表示一个简单的Agent.它的行为很简单:当它没有找到适合的位置休息时,就继续移动去寻找,而当它找到了相对舒适的位置就停在原地;当周围环境的改变使得它不满意当前位置时,它又活跃起来,开始新的移动以寻找新的合适的位置.1886 Journal of Software 软件学报 V ol.17, No.9, September 2006 如此重复,直到所有蚂蚁都找到合适的位置.AM 不同于BM:在BM 中,人工蚂蚁承担着搬运数据对象的任务;而在AM 中,一个Agent 代表一个数据对象,这更加接近自然蚂蚁的行为.自然界中的蚂蚁之所以能够归类而居,是因为蚂蚁有“物以类聚,人以群分”的智能,而不是因为蚂蚁有对物体进行分类的能力.在AM 中,蚂蚁活动的空间是一个[0..w (n )−1]×[0..h (n )−1]的二维网格.这里,w (n )=h (n )=ceil (n 0.5),其中ceil 为上取整函数.网格的上、下边界相连,左、右边界相连.在BM 及LF 模型中,网格是一般的长方形;而这里选用的是拓扑等价于球面的网格,这样可以使得Agent 生存环境中,每个位置的邻域都是相似的,避免有中心与边界、角落的差异,给Agent 的移动和计算带来方便.我们将agent i 的状态记为q i ,q i =(x i ,y i ,c i ,s i )(1≤i ≤n ),这里,n 为数据个数;x i 和y i 为agent i 所在位置的坐标;c i 表示它所在类的类号;s i 反映它当前是处于活跃还是睡眠状态.我们使用Moore 型邻域,使得蚂蚁在网格上的任何一个位置的周围都有8个邻居,并记N (agent i )为agent i 的邻域.定义agent i 在当前位置的适应度函数f (agent i )为 ⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎟⎟⎠⎞⎜⎜⎝⎛⋅−=∑∈)(),(),(191,0max )(i j agent N agent ij i j j i i agent agent d agent agent d agent f α (1) 这里,d (agent i ,agent j )表示Agent 所代表的数据对象i 和数据对象j 之间的距离,即相异度,通常使用欧几里德距离,它可以在聚类的预处理阶段被计算出来.参数αij 的值由如下公式确定: ⎟⎟⎠⎞⎜⎜⎝⎛⋅⎟⎟⎠⎞⎜⎜⎝⎛=∑∑==n k k j nk k i ij agent agent d n agent agent d n 11),(1),(1α (2) 蚂蚁在环境中转为活跃状态的激活概率p a 用来表示: )(e )(i agent f i a agent p ⋅−=β (3) 这里的参数β∈R +,称为激活阈值.在AM 中,用δ来表示聚类规则的集合,agent i 的类别信息c i 通过δ中以下的规则来更新:(a) 若agent i 到达一个合适的位置而变为睡眠态,那么它的类号将改变,取它邻域中与其相异度最小的Agent 的类号;(b) 若agent i 由睡眠态变为活跃态,那么它的类号也将改变,以它的标号作为其在移动期间的类号;(c) 若agent i 继续保持睡眠态不变,则其类号也将保持不变.在BM 中,蚂蚁和被聚类的数据分开,增加了处理对象,使用了较多的参数和信息.而且,因为被聚类的数据对象不能直接地、自主地运动,蚂蚁在未负载数据时的运动是无效的随机运动,由此会带来大量额外的信息存储和计算负担.在BM 中,一方面存在着蚂蚁饥饿现象,即蚂蚁随机运动中找不到相应的负载,这会耗费大量的时间;另一方面存在着数据累赘现象,即当蚂蚁捡起的数据是孤立点时,它就很难找到恰当的位置将数据放下来,从而使得聚类过程处于停滞状态,这对于蚂蚁较少的情况尤为明显.以上这些问题极大地影响了基于BM 的聚类速度和效果.而我们提出的AM 中,用蚂蚁代表数据对象,减少了处理对象,降低了计算时间和存储空间的需求,避免了蚂蚁的无效移动,提高了聚类的速度和质量.AM 操作简单,无中心控制,Agent 只需要局部信息就可以更新其状态,Agent 通过相互协作,从而动态地形成聚类.AM 具有直观性,可以从可视的网格上获得直观的Agent 聚类信息.此外,在算法中,聚类的结果由数据对象所在的类号给出,比BM 更直观、更简单.2 蚂蚁聚类算法及其参数设置通过以上的定义和说明,AM 处理聚类问题的算法可描述如下:算法. 自适应的蚂蚁聚类(AAC).01. 初始化参数设置和数据预处理02. foreach Agent do03. 将Agent 随机放置于网格的某个格点中,并置Agent 的类号为其标号04. end for05. while (not termination)06. foreach Agent do徐晓华 等:一种自适应的蚂蚁聚类算法188707. 计算Agent 的活跃概率p a (Agent)08. 产生一个[0,1]区间中满足均匀分布的随机数r09. if r ≤p a (Agent) then10. Agent 在N (Agent)中选择一个位置,如果该位置空闲,. 则Agent 移动到该位置11. end if12. 依照δ规则更新Agent 类号13. end for14. 更新参数β值15. end while16. 输出所有Agent 的聚类信息 参数β的初始值设为常数10.在算法的运行过程中,为了提高聚类的质量,我们让β值自适应地变化,目的是快速地形成高质量的聚类.记第t 代Agent 的平均适应度为f avg (t ),它可用来衡量该时刻的聚类质量.在算法的第14行更新参数时,根据Agent 的平均适应度的变化,相应地对t 时刻的β值β(t )作自适应的调整,其增量Δβ(t )为 Δβ(t )=k ⋅Δf avg (t ) (4) 这里,k 为常数,我们取k =−10.为了避免过于频繁地更新β值,可以设定每间隔10次迭代更新一次参数β值.这样的设置在聚类的初始阶段,使β值相对较小,Agent 的激活概率就比较大,这样可以快速地形成粗糙的聚类轮廓;而在整体聚类质量提高时,β值相对变大,已经处于合适的类中的Agent 的激活概率就比较小,这样有利于维持并形成质量较高的聚类.这样,通过Agent 的移动策略和自适应的参数更新进行整体调节,使得本算法能够比较好地解决蚂蚁聚类算法中的收敛速度和聚类质量之间的矛盾,有效地提高了聚类的速度,改善了聚类的质量. 3 实验结果我们选用的测试数据集是来自UCI 机器学习库[11]的Iris,Wine 和Glass.测试数据集分别用LF,AAC 和k -means 算法进行测试.实验结果表明,对各个测试数据集,AAC 在第5 000代时的聚类结果都比LF 算法1 000 000代时的要好.因而我们在每次测试中,对LF 算法迭代到1 000 000代,而对AAC 算法迭代到5 000代.LF 算法的参数设定:k 1=0.10,k 2=0.15[7],AAC 算法的参数可以由聚类数据直接定出.我们对每个测试数据集重复进行100次测试.图1所示的是Iris 数据集中150个数据的前两个属性组成的投影图.图2是AAC 算法对Iris 数据集聚类的结果.图中分别用符号o,+,*表示Setosa,Versicolor 和Virginica 三个类别的数据.对3个数据集用AAC 及LF 进行测试的结果见表1.Fig.1 Distribution of the first attributes of Iris Fig.2 Results of clustering by AAC on Iris图1 Iris 数据按前两个属性的分布 图2 AAC 的聚类的结果1888Journal of Software 软件学报 V ol.17, No.9, September 2006Table 1 Test results of AAC and LF on Iris, Wine and Glass表1 AAC 与LF 对Iris,Wine 和Glass 数据集合的测试结果 DataSet Iris Wine GlassAlgorithm LF AAC LF AAC LF AACMaximum iterations 1 000 000 5 000 1 000 000 5 000 1 000 000 5 000Average running time (s) 56.81 1.3662.37 1.44106.21 2.37Average errors 6.68 4.398.05 4.8310.25 7.59Percentage of the errors (%) 4.45 2.94 4.52 2.71 4.79 3.55从实验结果可以看出,AAC 算法只需不超过5 000代就可以达到LF 算法迭代1 000 000代的聚类效果.因此,LF 算法所需要的时间代价较大.这主要是因为蚂蚁在捡起数据、放下数据的过程中,大量的时间花费在寻找数据上.在聚类的质量上,一方面因为LF 算法参数确定较为困难,特别是α值的敏感性会显著影响聚类效果;另一方面,参数缺少自适应的变化,也使得聚类的效果在短时间内不明显.而AAC 算法的聚类由Agent 直接进行,可以加快聚类的速度.我们通过β值自适应地变化,可以快速地形成聚类,有效地改善了聚类的质量.表2显示的是对3个数据集用AAC 与k -means 进行测试结果的比较,对于k -means 算法,在实验中使用的k 值我们假定已知.可以明显看出:AAC 除了时间开销高于k -means 外,在聚类的性能上要远远优于k -means 算法.由于k -means 必须预知类的个数,否则无法进行,因此我们为它预先设定了类的正确个数,使得它的聚类速度较快;而AAC 要在聚类过程中探索聚类的个数,这需要花费大量时间.在进行了一定的迭代次数后,k -means 算法很快收敛,无法继续进行,但所得到的解的质量较差.例如:k -means 对于数据集Glass 的测试时不能将前3类分开,从而使得结果正确性较差,平均错误率大于50%;而AAC 的平均错误率仅有3.55%,聚类质量远优于k -means.Table 2 Test results of AAC and k -means on Iris, Wine and Glass表2 AAC 与k -means 对Iris,Wine 和Glass 数据集合的测试结果 DataSet Iris Wine GlassAlgorithm AAC k -means (k =3)AAC k -means (k =3)AAC k -means (k =6)Average running time (s) 1.36 0.03 1.440.03 2.370.17Average errors 4.39 16 4.8353 7.59≥107Percentage of the errors (%) 2.94 10.67 2.7129.78 3.55≥504 结 论本文提出了一种简单的蚂蚁运动模型AM,并用AM 有效地处理数据挖掘中的聚类问题.在AM 中,用人工蚂蚁即一个Agent 代表一个数据.Agent 在二维网格上移动,根据它对生存环境的适应度和激活概率来确定它的下一个要移动的位置.同时依照聚类规则集合δ,动态更新Agent 的类号.Agent 的移动使得Agent 与它的邻域内的邻居相互影响、相互作用,经过一定代数的迭代后,自组织地形成聚类.基于AM 的自适应的人工蚂蚁聚类算法AAC 无须中心控制,仅利用少量的局部邻域信息,就可以自组织地形成较好的聚类结果.我们给出了AAC 中参数的自适应设置方法,使得本算法能够比较好地解决蚂蚁聚类算法中的收敛速度和聚类质量之间的矛盾.基于AM 的自适应人工蚂蚁聚类算法AAC 与BM 和LF 算法相比,模型上更直观,操作上更简单.由于自适应地修改参数,算法对参数取值的限制较少,使得计算成本减少,速度加快.实验的结果显示了AM 对加快聚类有非常显著的效果,并且使得聚类的质量更高,它具有高效、自组织、自适应、动态可视等优点.实验表明,我们的方法对于解决高维的、复杂的数据聚类问题也十分有效.致谢 美国伊利诺斯大学Urbana-Champaign 计算机科学系的陈一昕给本文的研究工作提出了有益的建议,扬州大学计算机科学与工程系的屠莉协助我们为本文做了一些工作,在此表示感谢. References :[1] Bonabeau E, Dorigo M, Théralaz G. Swarm Intelligence: From Natural to Artificial Systems. Santa Fe Institute in the Sciences of the Complexity. New York: Oxford University Press, 1999.徐晓华等:一种自适应的蚂蚁聚类算法1889[2] Dorigo M, Maniezzo V, Colorni A. Ant system: Optimization by a colony of cooperative learning approach to the traveling Agents.IEEE Trans. on Systems, Man, and Cybernetics, 1996,26(1):29−41.[3] Dorigo M, Gambardella LM. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans.on Evolutionary Computation, 1997,1(1):53−66.[4] Stutzle T, Hoos H. MAX-MIN ant systems. Future Generation Computer Systems, 2000,16(8):889−914.[5] Di Caro G, Dorigo M. AntNet: A mobile agents approach for adaptive routing. Technical Report, IRIDIA, 1997. 97−12.[6] Holland OE, Melhuish C. Stigmergy, self-organization, and sorting in collective robotics. Artificial Life, 1999,5(5):173−202.[7] Dorigo M, Bonabeau E, Théraulaz G. Ant algorithms and stigmergy. Future Generation Computer Systems, 2000,16(8):851−871.[8] Vitorino R, Juan JM. Self-Organized stigmergic document maps: Environment as a mechanism for context learning. In: Alba E,Herrera F, Merelo JJ, eds. Proc. of the 1st Int’l Conf. On Metaheuristics, Evolutionary and Bio-Inspired Algorithms. 2002.284−293.[9] Handl J, Meyer B. Improved ant-based clustering and sorting in a document retrieval interface.LNCS 2439,2002. 913−923.[10] Wu B, Zheng Y, Liu SH, Shi ZZ. CSIM: A document clustering algorithm based on swarm intelligence. In: Proc. of the 2002Congress on Evolutionary Computation. IEEE Press, 2002. 477−482.[11] Blake CL, Merz CJ. UCI Machine Learning repository of machine learning databases. 1998. /~mlearn/MLSummary.html徐晓华(1979-),男,江苏通州人,博士生,主要研究领域为并行计算,计算分子生物学,数据挖掘. 陈崚(1951-),男,教授,博士生导师,主要研究领域为并行计算,人工智能.。