算法分析 l欺字技术 叶 基于蚁群粒子群 混合算法的K均值聚类优化算法研究 饶酷’唐双喜 刘国平。 (1.海军工程大学兵器工程系湖北武汉430033;2.海军92840部队山东青岛266405) 摘要:K均值聚类算法是一种经典的数据挖掘算法,但该算法存在对初始值敏感且容易陷入局部最优问题,一定程度上影响分类结果的准确性。通 过分析蚁群算法和粒子群算法,将两者混合算法应用到K均值聚类算法,提出一种K均值聚类优化算法。仿真结果表明,该优化算法不易受到初始值取 值的影响,且具有较强的全局寻优能力,可作为聚类分析的一种有效方法.. 关键词:蚁群算法粒子群算法K均值聚类算法 中图分类号:TP181 文献标识码:A 文章编号:1007—9416(2015)04—0122 02 Abstract:K llleans clustering algorithm is a classic data mining method,but the algorithm is sensiive tto initial valne and easy to faU into local optimun1 problem.The accuracy of the classiifcation results are affected to a certain extent.Through the analysis of ant colony algorithm(ACA)and particle swarm a ̄orithm(PSO),the hybrid algorithm is appfied tO the K—means algorihm,we proposte an improved K—means algorithm.The simulation results show that the improved algoritm ihs not eas ̄y affected by the initial value ofthe influence,and has the strong abiliW ofglobal optimization.It is an effective method of cluster analysis. Key WoKtS:ant colony algorithm;particle swaml algorithm;K—means clustering algorithm 1引言 始,通过找到规律使解空间逐渐逼近直至最终达到全局最优。在 信息素更新公式为 针对要求较高、难以凭经验和先验知识准确分类的问题,通过 ACA算法中,聚类分析口 】,将样本数据按某些属性或准则分成多个类别,使得同 类样本相似程度尽可能大,同时,不同类别的样本差异程度也尽可 能大。K均值聚类算法是聚类分析中一种非监督实时聚类算法 sI, 该算法是在最小误差函数的基础上将数据划分成不同类别。本文在 蚁群算法和粒子群算法的基础上,通过对两种算法进行结合,提出 了一种基于蚁群粒子群混合算法的K均值聚类优化算法。 P)・ (t)+∑Ar: k=l 其中,P为消减因子, (t)为t时刻路径( ,',)上的信息素浓 度,Ar 为时刻t与时刻t+n之间第只J}j蚂蚁在路径(f, )上留下 的信息素浓度,且 = 2传统K均值聚类算法的不足 根据K均值聚类算法思想 首先对n个数据对象随机选择m个对 象,将这m个对象视为m个类的数据均值,则m个均值就分别表示初 始的m个不同聚类中心;然后计算剩余数据与聚类中心的相似度,并 分别赋给与聚类中心相似度最大的聚类;初始分类完成后,再以各 其中,Q表示信息素总量,三表示搜索路径总长度。则第只七蚂 类数据均值作为对应类别的聚类中心,进行重新聚类;如此反复迭 蚁从城市 到城市 的转移概率为 代计算,直至类收敛或达到最大的迭代次数时结束。K均值聚类算法 虽然具有计算简单,收敛速度快等优点bl,但该算法仍然存在如下不 足: : ∑《(t)rla(t )’ ,一 Ⅳ ”‘ N (1)在计算之前必须确定初始聚类的个数。聚类的个数直接影响 聚类结果及准确性。 (2)初始值的选取对聚类结果影响较大。当初始值选取不当时, 可能会出现无解情况。 ,2eNt 0, 其中,Ⅳ 是第k只蚂蚁在城市f的可行邻域城市集合, 和 (3)K均值聚类算法采用的是梯度法求得最优解,因而求得的结 分别为信息素浓度和启发式信息值在概率中的权重系数。 果是局部最优解,而不是全局最优解。 粒子群算法(ParticleSwarmOptimization,PSO)是一种基于群 3 K均值聚类优化算法 3.1蚁群粒子群混合算法 蚁群算法(AntColonyAlgoritb_ms,ACA)是一种源于大自然的 体智能理论的全局寻优算法,通过将每一个解看作搜索空间中具有 一定速度的粒子,根据该粒子当前搜索最优解和粒子群全局搜索最 优解两个极值进行动态调整粒子位置。在PSO算法中,粒子速度和位 置更新公式为 仿生类算法,它不需要任何先验信息,从最初的的随机搜索路径开 收稿日期:2015一O4—22 作者简介:饶菇(1988一),男,湖北武汉人,博士研究生,研究方向:制导与控制技术。 i 技术 1.6 l hkT, h} ’ . 自I 1.5 \ …~㈣l≈ LⅢ T ^ 且l玳 畀T℃ f. Z 1.4 | 旧 1.3 | 1.2 1 1 \ 1.0 O 2O 4O 60 8O 迭代次数 图1收敛曲线 V k+ = + ‘(p 一 ) +c (g 一x k) (4) (5) 其中,p 和g 分别表示个体极值和全局极值。CO为惯性权 重,七为迭代次数;c1为调节微粒飞向自身最好位置方向的步长,调 节微粒向全局最好位置飞行的步长, ̄1_C1,c2∈(0,2);,i和 为相 互独立的随机函数,且 ,rz c(0,1) 通过粒子群算法进行粗搜索,得 到聚类原型,再此基础上利用蚁群算法求得最优聚类结果[11 _]。由 式(3-5),可得ACA算法和PSO算法混合算法,即 (t+n)= (t) (t+ ) (7) 3.2 ACA-PSO ̄合算法对K均值聚类算法的优化 根据ACA-PSO混合算法的思想,对K均值聚类算法进行优化, 步骤如下: (1)粒子初始化。计算原始聚类中心,得到初始粒子的位置编码, 算法分析 同时计算粒子适应度并初始化粒子速度,生成Ⅳ个初始粒子群。+ (2)确定个体极值。比较每个粒子适应度与当前个体极值的最好 = 位置适应度,若前者大于后者,则用该粒子的位置代替最好位置。J r●L (3)确定全局极值。比较每个粒子适应度与当前全局极值的最好 位置适应度,若前者大于后者,则用该粒子的位置代替最好位置。∽ 托 厂 (4)根据式(5)和式(6)对粒子速度和位置进行更新。r,,L t , (5)K均值优化 对粒子的聚类中心编码,并根据最邻近法则确 、=:, — 定粒子类别,然后对各类别的聚类中心进行计算,同时更新粒子适 一 应度以确定新的聚类中心编码值。 (6)优化结束。确定最好位置和最大迭代次数时结束优化,否则 回到第2步中继续优化,直至优化结束。 + 4仿真分析 为验证蚁群粒子群?昆合算法优化的K均值聚类算法相比于传 统K均值聚类算法的优越性,通过仿真比较两种算法,如图1所示。在 相同条件下,传统K均值聚类算法收敛速度较快,但容易陷入局部最 优问题。而本文提出的改进K均值聚类算法具有很强的全局寻优能 力,解决了局部最优问题,从而证明本文方法的有效性。 5结语 针对传统K均值聚类算法存在的不足,提出了一种基于蚁群粒 子群混合算法的K均值聚类优化算法。仿真结果表明,该优化算法对 初始值不敏感,且具有较强的全局寻优能力,能够对大数据进行准 确分类,具有一定的应用价值。 参考文献 [1]周丽娟.改进粒子群算法和蚁群算法混合应用于文本聚类[J].长 春工业大学学报(自然科学版),2009,30(3):341—346. [2]loan Cristian Trelea.The particle swarm optimization aIgorithm:Convergence analysis and paramer selection[C]. Information processing Letters,2002:31 7-325. [3]Frans vanden Berth.An Analysis of Particle Swarm Optimizers [D].University of Pretoria,2001. [4]张宇飞.模拟电路多软件故障特征的智能优化提取方法研究[D]. 哈尔滨:哈尔滨理工大学,2014. [5]梁烨炜.K均值聚类算法的改进及其应用[D].湖南:湖南大学, 201 2. [6]张维存.蚁群粒子群混合优化算法及应用[D].天津:天津大学, 2007. [7]张建萍,刘希亚.基于聚类分析的K均值算法研究与应用[J].计算 机应用研究,2007,24(5):166—1 68.