收稿日期:20170109;修回日期:20170221
作者简介:杨菊蜻(1993),女,贵州贵阳人,硕士研究生,主要研究方向为数据挖掘(1029735033@qq.com);张达敏(1967),男,贵州贵阳人,
教授,主要研究方向为计算机应用技术、网络拥塞控制、病毒传播机制.
基于改进 BA算法的 Kmeans聚类
杨菊蜻,张达敏
(贵州大学 大数据与信息工程学院,贵阳 550025)
摘 要:针对传统 BA(蝙蝠)算法易被局部极值吸引、发生过早收敛等问题,将莱维飞行搜索策略引入传统 BA
算法对蝙蝠的位置和速度更新方式进行改进,从而提高算法的全局搜索能力;通过引入非线性惯性权重平衡算
法的全局和局部搜索能力并提高算法搜索精度;结合 limit阈值的思想避免算法过快陷入局部极值。通过对六
个标准测试函数的实验表明,改进后的
BA算法不仅在全局搜索能力上有所提高,而且具有较好的搜索精度。
最后将改进后的 BA算法同 Kmeans聚类算法进行结合,提出了一种基于改进 BA算法的 Kmeans聚类算法。
实验结果表明,改进的算法提高了聚类准确率及算法鲁棒性。
关键词:蝙蝠算法;莱维飞行;惯性权重;limit阈值;Kmeans算法
中图分类号:TP39304 文献标志码:A 文章编号:10013695(2018)05145404
doi:10.3969/j.issn.10013695.2018.05.038
KmeansclusteringalgorithmbasedonimprovedBAalgorithm
YangJuqing,ZhangDamin
(CollegeofBigData&InformationEngineering,GuizhouUniversity,Guiyang550025,China)
Abstract:Thetraditionalbatalgorithmiseasytofallintolocaloptimumandprematureconvergencesolution,inordertoim
provetheglobalsearchcapabilityofthebatalgorithm,thispaperconsideredtotakeLévyflightsearchstrategyintothebatal
gorithmtoupdatebat’spositionandvelocity,atthesametimebyintroducingthenonlinearinertiaweighttobalancetheglobal
andlocalsearchcapabilitytoimprovethesearchprecisionofthealgorithm.Thenitcombinedthelimitthresholdtheorytoavoid
gettingtrappedintolocaloptima.Theresultsonsixstandardtestfunctionsshowthattheimprovedbatalgorithmnotonlyim
provestheglobalsearchabilityandhasbetteraccuracy.Finally
,combiningtheimprovebatalgorithmwithKmeansclustering
algorithm
,thispaperproposedaKmeansclusteringalgorithmbasedontheimprovedbatalgorithm.Theexperimentalresults
showthatthealgorithmimprovestheclusteringqualityandtherobustnessofthealgorithm.
Keywords:BAalgorithm;Lévyflight;inertiaweight;limitthreshold;Kmeansalgorithm
聚类分析是一种重要的数据挖掘技术,其目的是将数据集
合分成若干类,使得同一个类内样本间的相似度尽可能大,而
不同类间样本相似度尽可能小
[1]
。目前聚类分析已经广泛地
应用于许多应用领域,包括商务智能、图像模式识别、
Web搜
索、生物学等
[2]
。现今越来越多的学者将人工智能应用到聚
类问题中,将群体智能优化算法同聚类算法进行结合,弥补了
传统聚类算法的缺陷
[3]
。蝙蝠算法 (BA)是 Yang教授
[4]
于
2010年提出的一种通过模拟蝙蝠回声定位行为来搜索全局最
优解的新型群体智能优化算法。蝙蝠算法也是一种群体智能
优化算法,具有较强的随机搜索能力,且具有收敛速度快、鲁棒
性好的优点
[5]
。由于蝙蝠算法具有概念简单、易于实现等优
势,使得该算法在多个学科和工程领域得到了广泛应用
[6,7]
。
本文针对传统蝙蝠算法易被局部极值吸引、发生过早收敛
等问题,将 Lévy飞行搜索模式引入蝙蝠算法,通过利用 Lévy
飞行能够产生较大跳跃的这种不均匀随机游走的特性,提升算
法的全局寻优能力和搜索精度;受 PSO算法的启发,对 BA算法
引入非线性惯性权重因子来达到平衡全局搜索和局部搜索目
的,防止过早收敛;为了提高算法跳出局部最优的能力,引入
limit阈值思想,避免算法过早陷入局部最优。最后将改进后的
蝙蝠算法同 Kmeans聚类算法进行结合,提出一种基于改进 BA
算法的 Kmeans聚类,实现聚类结果的优化,提高聚类质量。
!
蝙蝠算法
!
!
经典
>&
算法
蝙蝠算法是通过模拟现实生活中蝙蝠的回声定位搜索行
为的一种群体智能优化算法。蝙蝠在搜索过程中本质上是通
过频率
f对蝙蝠的移动步伐和范围的控制来进行速度和位置
更新的;蝙蝠在寻优的过程中,通过对脉冲发射率 r和声音响
度
A的调节寻找最优解,开始时,蝙蝠只具有较小的脉冲发射
率和较大的响度,随着迭代的增加,脉冲发射率增加,响度减
小,蝙蝠不断对目标进行扫描定位,最终搜索得到最优解。
经典蝙蝠算法流程如图
1所示。
蝙蝠算法中对蝙蝠位置和速度的更新采取以下公式:
f
i
=f
min
+(f
max
-f
min
)×
#
(1)
v
t
i
=v
t-1
i
+(x
t
i
-x
)×f
i
(2)
x
t
i
=x
t-1
i
+v
t
i
(3)
其中:
# ∈
[0,1]是一个随机向量;v
t
i
和 v
t-1
i
是蝙蝠在 t代和 t-
1代搜索过程中的速度;x
t
i
和 x
t-1
i
是蝙蝠在 t代和 t-1代搜索
第 35卷第 5期
2018年 5月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol35No5
May2018