灰狼算法|灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法

谢亮亮+刘建生+朱凡
灰狼算法|灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法
文章图片

灰狼算法|灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法
文章图片

灰狼算法|灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法
文章图片

【灰狼算法|灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法】摘要:针对模糊C-均值聚类算法(FCM)存在易受初始聚类中心影响和容易陷入局部最优的问题,提出了一种将灰狼优化算法(GWO)和模糊C-均值相结合的新聚类算法(GWO-FCM)。该算法利用GWO算法强大的全局寻优能力对FCM算法的聚类中心进行优化,模拟灰狼优秀的搜寻猎物行为找到一组最佳聚类中心来提高FCM的聚类效果。通过UCI数据集的仿真结果和算法比较验证了该算法的有效性。关键词: 聚类分析;灰狼优化算法;模糊C-均值聚类;初始聚类中心;全局优化DOI:10.11907/rjdk.171030中图分类号:TP312文献标识码:A文章编号:16727800(2017)0040028030引言 聚类是数据挖掘领域中必不可少的技术,是在事先没有分类规则下,根据事物间的特征相似度对事物进行区分和分类。它的主要任务是按准则把所有数据按不同特性划分成各个不同的簇,即最小化每个簇内部数据间的差异性,并且最大化属于任意不同簇的数据间的差异性[1]。在模糊集理论提出之后,研究者使用模糊集理论来作聚类分析[2]。FCM聚类算法由Dunn[3]于1974年第一次提出,随后由Bezdek进一步完善。但FCM在聚类分析中存在易受随机产生的初始聚类中心的影响以及容易早熟收敛等缺点,对聚类的结果有很大影响。针对传统的FCM存在的缺陷,本文提出一种基于灰狼优化的模糊C-均值聚类算法(GWOFCM)。GWO具有结构简单,需要设置的参数较少,有强大的全局寻优能力,在实验编码中容易实现等优点,对FCM聚类结果有显著提高。1灰狼优化算法GWO算法由Seyedali Mirjalili[4]于2012年受大自然中灰狼寻找和捕捉猎物行为的启发而提出,是一种新的元启发式算法。本文从以下几个方面介绍算法步骤。1.1社会等级灰狼是食物链顶端的群体猎食者,狼群一般由5~12只灰狼组成。在种群中有着严格的社会等级。在GWO算法设计中,突出了灰狼的狩猎技术和社会等级层次。它们的社会等级由高级到低级依次为:α、β、δ、w [5]。α是灰狼中的头狼,占有统治地位,有各项决策的优先权;β是头狼的下属狼,听从头狼并且可以命令较低等级的灰狼,再反馈信息给头狼;δ服从α、β的命令,可以指挥最底层的灰狼;w是最底层的狼,服从等级高的灰狼。灰狼社会等级非常严格,逐级递减。狩猎主要由α、β、δ决定引导完成,w服从等级高的狼群支配来完成狩猎任务。1.2包围猎物行为灰狼在狩猎过程中首先需要将猎物包围[6],建立这种行为的数学模型,用以下公式来描述其中,t为当前迭代次数;A和C为协调系数向量;Xp为猎物的位置向量;X为灰狼的位置向量。a的值在迭代过程中从2下降到0;r1和r2是范围为[0,1]的随机向量。1.3狩猎行为灰狼在狩猎行为中有识别猎物方位的能力,并且可以缩小范围来围剿猎物。狩猎行为一般情况下是由α,β,δ来引导,直至结束。然而在抽象的搜索空间,灰狼也不会知道最佳(猎物)位置[5]。用数学公式来模仿灰狼的狩猎过程,并且α(最佳候选解),β和δ获得猎物具体方位的能力比其它灰狼更强。所以在每次迭代过程中保留目前获得的最好的3只灰狼,也就是α,β,δ。再通过它们的位置来使其它候选灰狼更新自己当前的位置。数学公式表示如下[4]: α,β,δ灰狼先预测判断猎物的大概位置,再通过引导其它灰狼在猎物周围更新位置,从而锁定猎物的具体位置。1.4攻击猎物行为一旦猎物的位置锁定,灰狼将捕抓猎物。由式(3)可知,减小a的值,A的值也会减小,在迭代过程中a值会由2线性下降为0,A的取值范围则为[-2a,2a]。当A在范围[-1,1]中,灰狼的位置会出现在与猎物距离之间范围中的任何可能位置上。当|A|<1时,灰狼开始攻击猎物。1.5搜索猎物行为搜索猎物过程中灰狼是根据α,β,δ的位置情況来搜索的。它们开始是相互独立地出去搜索猎物,最后再由猎物的位置聚集起来攻击猎物。分散过程中需要用一个A>1或者A<1的值让候选灰狼远离猎物,可以实现并提高全局寻优效果。在GWO算法中的另外一个全局搜索系数是C,通过式(4)可知,C是范围在[0,2]中的随机数。随机增加或者减少C的值会影响到式(5)、式(6)和式(7)中的距离,改变猎物的随机权重,并且C的值不是线性下降的,而是随机数,可以使GWO在迭代过程中从局部最优结果中跳出来,达到增强全局寻优的效果。2模糊C-均值聚类算法
3GWO优化FCM的混合聚类算法模糊C-均值聚类要达到最佳聚类效果需使得它的目标函数最小[7],但由于在这个过程中随机的初始聚类中心对算法的影响很大,使聚类效果差。针对此问题,通过引入一种新群体智能算法GWO与之结合,达到更佳的聚类效果。由于GWO是一种全局寻优很强的算法,并且能跳出局部收敛,找到一组全局最优的聚类中心,使FCM的聚类中心达到最优。这样可以使FCM的聚类正确率明显提高,从而获得更好的聚类效果。3.1种群初始化根据群体智能算法初始化常用方法,使得算法中的种群具有多样性、随机性,初始化公式设定为:其中的upperj,lowerj表示第j个元素的上、下解,n表示灰狼种群大小,d表示灰狼种群的维数。3.2适应度函数设置适应度函数是筛选个体好坏程度的基准,越大表示个体越好,越小则表示个体越差,是由目标函数设定的[5],在GWO中也是用来判断狼群中灰狼层次的准则。在GWO中,适应度前三的α、β、δ狼保留下来引导w以及更低层次的灰狼去搜索猎物。因为在FCM聚类中,目标函数值越小,聚类的结果会更好。所以结合GWO和FCM算法,本文将GWO的适应度函数设定为:由式(16)可得,当FCM的JFCM越小,也就是聚类结果更好时,GWO的fitness会越大,通过对算法中的α、β、δ不断迭代,最后得出最好的适应度函数值α,将α设定为FCM的聚类中心。3.3更新设置根据GWO的搜索方法,通过包围、狩猎、攻击行为更新灰狼位置。在迭代过程中,获得最优灰狼位置xα。通过总结上述过程,GWO-FCM算法流程如下:Step1:初始化参数a,A和C;Step2:初始化狼群种群xi(i=1...n);Step3:计算狼群适应度fitness,选出最好的3只灰狼xα,xβ,xδ;Step4:如果T
4.2实验结果及分析 实验参数设置中,FCM的加权指数都设置为m=2,粒子群种群规模大小设置为NP=20,wφ1从0.9线性减小到0.4,η1=η2=0.5,迭代次数T=100。在本文提出的GWOFCM中,设最大的迭代数T=100,灰狼的种群大小NP=20,FCM算法的加权指数m=2,a从2线性下降到0,r1、r2为[0,1]的随机数。在与对比实验环境和参数设置相同的情况下,将GWOFCM算法运行30次,取实验结果的平均值与FCM和PSOFCM在Iris和Car中的聚类正确率作比较,FCM和PSOFCM实验数据引自文献[7],如表2所示。
通过表2实验结果可以看出,上述3种聚类算法的结果都有明显的差别。本文提出的GWO-FCM在数据集Iris和Car的实验结果中聚类正确率均高于其它模糊聚类算法,而且较原始的FCM有很大的提高,在用PSO改进的FCM上也有明显提高,说明灰狼优化算法对FCM聚类算法的优化效果比用PSO优化的效果更有优势,能更大程度地解决全局最优问题。 在Iris,Car两个数据集上,GWO-FCM算法在運行30次后每次运行结果的正确率稳定性如图1所示。 由图1可见,算法在执行30次后,在Iris数据集上聚类的准确率较平稳,有一定波动,但总体上保持在一个稳定范围。Car数据集上每次运行的结果中正确率都非常稳定,浮动范围很小,不会出现跳跃性的变化,因此表明GWOFCM算法的稳定性很高。5结语 本文将GWO巧妙地运用在FCM上,首次用一种新的群体优化算法GWO对FCM加以改进,GWO结构简单,需要设置的参数少,具体强大的全局寻优能力,有效地解决了模糊C-均值聚类算法对初始聚类中心的过度依赖、易出现早熟收敛等缺点。并且通过与传统的FCM以及PSOFCM聚类算法比较,在聚类正确率以及算法稳定性上取得了较好的实验结果。参考文献:
[1]刘慧.改进的FCM和插值理论在数字图像修复中的应用研究[D].赣州:江西理工大学,2014.
[2]王纵虎,刘志镜,陈东辉.基于粒子群优化的模糊C-均值聚类算法研究[J].计算机科学,2012,39(9):166169.
[3]胡蒙,苑迎春,王雪阳. 改进模糊聚类的云任务调度算法[J].计算机工程与设计, 2015, 36(9):24372441.
[4]MIRJALILI S, MIRJALILI S M, LEWIS A. Grey wolf optimizer[J]. Advances in Engineering Software, 2014, 69(3):4661.
[5]吕新桥,廖天龙.基于灰狼优化算法的置换流水车间调度[J].武汉理工大学学报,2015,37(5):111116.
[6]龙文,赵东泉,徐松金.求解约束优化问题的改进灰狼优化算法[J].计算机应用,2015,35(9):25902595.
[7]蒲蓬勃,王鸽,刘太安.基于粒子群优化的模糊C均值聚类改进算法[J].计算机工程与设计,2008,29(16):42774279.(责任编辑:陈福时)

    推荐阅读