一种基于改进abc算法与de变异策略的自适应聚类方法

文档序号:9667777阅读:429来源:国知局
一种基于改进abc算法与de变异策略的自适应聚类方法
【技术领域】
[0001]本发明涉及一种聚类方法,特别是涉及一种基于改进ABC算法与DE变异策略的自 适应聚类方法,属于数据挖掘技术领域。
【背景技术】
[0002] 群体智能进化算法从20世纪90年代发展至今,以其对函数要求低、进化过程与初 始值无关、搜索速度快等优点,迅速成为进化算法的一个重要分支,并成为新的学术研究热 点。其中比较成熟的算法有Dorgo等人提出的蚁群算法(AntColonyOptimization)和 Kennedy等人提出的粒子群算法(ParticleSwarmOptimization)。近年来,人工蜂群 (ArtificialBeeColony,ABC)算法也越来越多地受到人们的关注。Karaboga于2005年提 出人工蜂群算法,该算法是基于蜜蜂群体智能的优化算法,通过模拟蜂群依各自分工不同 智能采蜜,交换蜜源信息找到最优蜜源。相比于其他经典的进化算法,ABC算法更简单易用。
[0003] 聚类是指将多个具有类似特性的对象组成多个类的过程,聚类的目的就是在相似 的基础上收集数据来分类。聚类目前在很多不同领域都得到非常广泛的应用并且得到了相 应的发展,包括计算机科学与技术、统计学、生物学等。最常见的聚类算法是k-means算法, 它具有优秀的局部搜索能力,能很好的解决一些聚类问题,但是自身还存在一定的缺陷,其 中比较严重的缺点就是容易陷入"早熟",即非常容易陷入局部最优的缺点。

【发明内容】

[0004] 本发明所要解决的技术问题是:提供一种基于改进ABC算法与DE变异策略的自适 应聚类方法,通过改进ABC的变异策略,并增加了自适应机制,在一定程度上解决了容易陷 入局部最优的缺点。
[0005] 本发明为解决上述技术问题采用以下技术方案:
[0006] -种基于改进ABC算法与DE变异策略的自适应聚类方法,包括如下步骤:
[0007]步骤1,初始化自适应聚类的各参数,包括:聚类数目、蜜蜂种群数目、开采极限以 及最大迭代次数;根据聚类数目随机对待聚类样本进行聚类划分,且聚类划分次数等于蜜 蜂种群数目,得到蜜蜂种群数目的聚类划分;计算各聚类划分的适应度,并找出最优适应度 及其对应的聚类划分;
[0008]步骤2,对于步骤1得到的聚类划分,从第一个聚类划分开始,采用变异和交叉两个 过程产生新的聚类划分,计算新的聚类划分的适应度,并与当前最优适应度比较,若新的适 应度优于当前最优适应度,则用新的聚类划分替换第一个聚类划分,且新的聚类划分的开 采次数置为〇,否则,第一个聚类划分的开采次数加1;重复上述过程,直至最后一个聚类划 分结束;
[0009]步骤3,对于步骤2迭代之后的聚类划分,计算各聚类划分的概率值,计算公式为 prob= (0·9*Fitness/max( Fitness) )+0· 1,其中,prob表不各聚类划分的概率值,Fitness 表示当前计算的聚类划分的适应度,maX(FitneSS)表示迭代之后的聚类划分适应度的最大 值;
[0010] 步骤4,随机产生一 0-1之间的随机数,并与步骤3得到的概率值比较,对概率值大 于随机数的聚类划分重复步骤2的迭代过程;重复上述过程,且产生随机数的次数等于蜜蜂 种群数目;
[0011] 步骤5,对于步骤4迭代之后的聚类划分,判断各聚类划分的开采次数是否大于开 采极限,若大于开采极限,则随机生成一新的聚类划分替换开采次数大于开采极限的聚类 划分,且将新的聚类划分的开采次数置为〇;
[0012] 步骤6,重复步骤2-步骤5,直至达到步骤1的最大迭代次数,输出最优的聚类划分。
[0013] 作为本发明的优选方案,步骤1所述适应度的计算公式为:
其中,FV表示适应度,k表示聚类数目,Xi表示待聚类样本,Q表示第j个聚类的聚类中心,d(fj表示待聚类样本&到对应聚类中心Cj的距离。
[0014] 作为本发明的优选方案,步骤2所述变异的计算公式为:
中,F为随机数,Ve+1表示新的聚类划分,义匕表 示当前最优适应度对应的聚类划分,A^、Xg、Χ,Ι、分别表示当前聚类划分中除最 优适应度对应的聚类划分之外的随机聚类划分。
[0015] 作为本发明的优选方案,步骤2所述交叉的计算公式为:
其中,f为随机数,ve+1表示新的聚类划分,;、 Aj、Z,&4、分别表示当前聚类划分中的随机聚类划分。
[0016] 作为本发明的优选方案,所述F的计算公式为
其中,G表示当前 迭代次数,maxCycle表示最大迭代次数。
[0017] -种指纹自适应聚类方法,包括如下步骤:
[0018]步骤1,获取指纹样本集,并对指纹样本集中的各指纹样本编号;
[0019] 步骤2,利用如上所述基于改进ABC算法与DE变异策略的自适应聚类方法对指纹样 本集进行聚类,得到指纹聚类结果。
[0020] 本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0021] 1、本发明基于改进ABC算法与DE变异策略的自适应聚类方法,将改进ABC算法与DE结合,重新定义人工蜂位置更新公式,使算法尽可能的跳出局部最优,从而找到全局最优 解。
[0022] 2、本发明基于改进ABC算法与DE变异策略的自适应聚类方法,增加了自适应概率 选择机制,扩大了蜂群的搜索范围,从而提高了算法的搜索效率。
[0023] 3、本发明基于改进ABC算法与DE变异策略的自适应聚类方法,能够增快收敛速度, 提高其局部搜索能力,提高后期搜索速度。
【附图说明】
[0024]图1是本发明基于改进ABC算法与DE变异策略的自适应聚类方法的流程图。
[0025]图2是算法参数与具体问题的对应关系。
[0026]图3是实施例待聚类样本及其对应编号,其中手写体为待聚类样本,右下角数字为 对应编号。
[0027]图4是实施例采用本发明聚类方法得到的最优解,即待聚类样本的最终聚类号。
【具体实施方式】
[0028]下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过 参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0029]人工蜂群算法受启发于蜜蜂的觅食行为,这种算法主要基于蜜蜂群的觅食行为模 型。这个模型包含了三种核心元素:雇佣蜂、非雇佣蜂和食物源,前两者负责搜寻蜂巢附近 的富源。这种模型也定义了两种指引模式:富源会反馈积极信号,从而引导更多的蜜蜂来采 蜜;贫源会反馈消极信号,会导致放弃这个食物源。这两种行为是自组织的和群智能的。
[0030]如图1所示,本发明聚类方法的工作流程如下:
[0031]步骤1,初始化各个参数
[0032] 1.1初始化聚类数目CN,聚类划分种群P,聚类样品开采极限limit,迭代次数maxCycle;
[0033] 1.2设定最初的聚类划分,这里每个类中的样品都是随机指定的,处于假设情况, 并不是最优解;
[0034]1.3按照公式(1)计算聚类划分种群P的适应度FV,并找出最优适应度及其对应的 聚类划分。
(1)
[0035]
[0036]步骤2,雇佣蜂阶段
[0037] 2.1对于选择的聚类划分,雇佣蜂采用变异和交叉两个过程产生一个新的划分,具 体公式如(2)、(3)所示;
[0038] (2)
[0039] ⑶
[0040] 2.2计算新的聚类划分的适应度,然后使用贪婪选择比较雇佣蜂的新聚类划分与 原聚类划分的适应度比较,如果计算得到的新的适应度得到改善,则雇佣蜂替换为在新位 置开采,并将聚类样品开采极限limit置为0。否则,继续在原来的蜜源开采,并将limit的次 数加1。
[0041 ] 步骤3,采用方法prob= (0· 9*Fitness/max(Fitness) )+0 · 1计算选择概率值。原算 法使用轮盘赌产生概率,而我们改进后用当前适应度与最大适应度的比值作为参考计算, 这样做的好处是可
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1