基于K-means的改进差分进化聚类算法
基于改进粒子群的K-means聚类算法

基于改进粒子群的K-means聚类算法吴涤单【期刊名称】《电脑知识与技术》【年(卷),期】2014(000)006【摘要】针对传统的k-means算法处理离散型数据的不足以及选取初始聚类中心的随机性等缺点,提出了一种基于改进的粒子群优化k-means算法,根据文中提供的优化算法寻找初始聚类中心后,在阀值范围内进行数据样本间的迭代更新,直至聚类中心稳定。
经过实验结果验证分析表明,经过改进的粒子群优化k-means 算法与传统的k-means算法相比,更具有良好的聚类收敛效果,聚类效果也相对稳定。
%Random defects in the traditional K-means algorithm to process the discrete data insufficiency as well as the selection of initial clustering center, put forward an improved particle swarm optimization based on K-means algorithm, to find the initial cluster center according to the optimization algorithm is provided in this paper, are updated iteratively between data samples in the threshold range, until the clustering center. Through the experimental results verify the analysis shows that, by K-means algo-rithm, the improved particle swarm optimization k-means algorithm compared with the traditional clustering, has a good conver-gence effect, cluster effect is also relatively stable.【总页数】4页(P1238-1241)【作者】吴涤单【作者单位】南京信息职业技术学院,江苏南京210023【正文语种】中文【中图分类】TP18【相关文献】1.一种改进粒子群和K-means结合的聚类算法 [J], 钱伟强2.基于改进粒子群优化的K-means算法在学生状态分析系统中的应用 [J], 陆维3.基于改进粒子群和K-Means的文本聚类算法研究 [J], 钮永莉;武斌;4.基于改进粒子群和K-Means的文本聚类算法研究 [J], 钮永莉;武斌5.基于K-means聚类的改进粒子群优化算法研究 [J], 谭若洋;王治宇因版权原因,仅展示原文概要,查看原文内容请购买。
一种改进的K-Modes聚类算法

一种改进的K-Modes聚类算法K-modes是一种非常常用的聚类算法,它是K-means的扩展版,主要用于离散数据的聚类。
但是,传统的K-modes算法存在一些缺点,如容易陷入局部最优解、对初始质心的选择敏感等。
因此,近年来出现了一些改进的K-modes算法。
本文将介绍一种改进的K-modes聚类算法。
一、改进的算法1.基本思想我们知道,K-modes算法的核心是计算每个样本点与质心的距离,并将其划分到最近的簇中。
而改进的K-modes算法的基本思想是,在计算距离时不仅考虑样本点与质心之间的距离,还考虑到样本点与簇中其他点的距离。
具体地说,假设样本点$x_i$属于簇$C_j$,则其与簇中其他点的距离应该小于与其他簇中的点的距离。
这样可以使聚类结果更加合理。
2.算法流程(1)初始化:随机选取K个点作为质心。
(2)计算距离:对于每个样本点,计算它与每个质心之间的距离。
(3)分配样本点:将每个样本点分配到距离最近的质心所在的簇中。
(4)更新质心:对于每个簇,重新计算它的质心。
(5)评估聚类效果:计算每个簇内部样本点之间的距离,并将其作为聚类效果的评估指标。
(6)判断是否达到收敛条件:若满足收敛条件,则算法结束,否则返回步骤(2)。
3.距离度量为了满足上述思想,改进的K-modes算法采用了一种新的距离度量方法。
假设簇$C_j$中包含$n$个样本点$x_1,x_2,...,x_n$,则样本点$x_i$与簇$C_j$之间的距离$d(x_i,C_j)$可以表示为:$$\sum_{k=1}^n\min\{d(x_i,x_k),d(c_j,x_k)\}$$其中,$c_j$表示簇$C_j$的质心。
该距离度量方法考虑了每个样本点与簇中其他点的距离,从而使聚类结果更加合理。
4.优点分析相对于传统的K-modes算法,改进的K-modes算法具有以下优点:(1)避免陷入局部最优解:在计算距离时考虑了每个样本点与簇中其他点的距离,从而避免了陷入局部最优解的问题。
kmeans的聚类算法

kmeans的聚类算法K-means是一种常见的聚类算法,它可以将数据集划分为K个簇,每个簇包含相似的数据点。
在本文中,我们将详细介绍K-means算法的原理、步骤和应用。
一、K-means算法原理K-means算法基于以下两个假设:1. 每个簇的中心是该簇内所有点的平均值。
2. 每个点都属于距离其最近的中心所在的簇。
基于这两个假设,K-means算法通过迭代寻找最佳中心来实现聚类。
具体来说,该算法包括以下步骤:二、K-means算法步骤1. 随机选择k个数据点作为初始质心。
2. 将每个数据点分配到距离其最近的质心所在的簇。
3. 计算每个簇内所有数据点的平均值,并将其作为新质心。
4. 重复步骤2和3直到质心不再变化或达到预定迭代次数。
三、K-means算法应用1. 数据挖掘:将大量数据分成几组可以帮助我们发现其中隐含的规律2. 图像分割:将图像分成几个部分,每个部分可以看做是一个簇,从而实现图像的分割。
3. 生物学:通过对生物数据进行聚类可以帮助我们理解生物之间的相似性和差异性。
四、K-means算法优缺点1. 优点:(1)简单易懂,易于实现。
(2)计算效率高,适用于大规模数据集。
(3)结果可解释性强。
2. 缺点:(1)需要预先设定簇数K。
(2)对初始质心的选择敏感,可能会陷入局部最优解。
(3)无法处理非球形簇和噪声数据。
五、K-means算法改进1. K-means++:改进了初始质心的选择方法,能够更好地避免陷入局部最优解。
2. Mini-batch K-means:通过随机抽样来加快计算速度,在保证精度的同时降低了计算复杂度。
K-means算法是一种常见的聚类算法,它通过迭代寻找最佳中心来实现聚类。
该算法应用广泛,但也存在一些缺点。
针对这些缺点,我们可以采用改进方法来提高其效果。
K-means聚类算法在面板数据分析中的改进及实证研究中期报告

K-means聚类算法在面板数据分析中的改进及实证
研究中期报告
K-means聚类算法被广泛应用于面板数据分析,尤其是在经济领域的研究中。
然而,传统的K-means算法存在着一些问题和限制,如需要选择初始中心、对离散和异常值敏感等。
因此,对K-means算法进行改进是必要的。
一些研究人员提出了基于遗传算法的改进方法,通过在K-means算法中引入遗传算法的优化过程,以寻找合适的初始聚类中心和优化聚类结果。
其他研究人员则提出了基于密度的聚类和基于层次的聚类,以解决K-means算法对密度和距离的敏感问题。
本文将对K-means聚类算法的改进进行实证研究。
首先,我们将介绍K-means算法和其存在的问题。
其次,我们将介绍基于遗传算法、密度、层次的聚类算法,并比较它们的表现。
最后,我们将通过实证结果来评估各算法的优缺点。
我们的研究结果表明,基于遗传算法的K-means算法的表现较优,在聚类结果的稳定性和准确性上都有较大的提升。
基于密度的聚类算法在密集聚类和不规则聚类的情况下表现较好,而基于层次的聚类算法在聚类数目较少的情况下表现较好。
总体而言,K-means聚类算法的改进可提高面板数据分析的效率和准确性。
基于改进差分进化的K-均值聚类算法

( 1 Xi n j e E l e c t r o n i c C o . , L t d . , Wu x i 2 1 4 0 0 0 , Ch i n a ; 2. Ke y L a b o r a t o r y o f A d v a n c e d P r o c e s s C o n t r o l f 0 r L i g h t I n d u s t y ( r Mi n i s -
I S SN 1 0 0 9 -3 0 4 4
E — m a i l : x s j l @ d n z s . n e t . c a
h t t p : / / ww w. d n z s . n e t . e n T e l : + 8 6 — 5 5 1 — 6 5 6 9 0 9 6 3 6 5 6 9 0 9 6 4
Ab s t r a c t : Th e c o n v e n t i o n a l k -me a n s a l g o i r t h ms a r e s e n s i t i v e t o t h e i n i t i l a c l u s t e r c e n t e r s , a n d t e n d t O b e t r a p p e d b y l o c a l o p t i -
算 法通过 引入基 于L a p l a c e 分布的 变异算子和 L o g i s t i c 变尺度混沌搜 索来增强全局寻优能力。 实验结果表明 , 该算法能够 较好地克服传统 K一 均值算法的缺 点, 具有较好 的搜 索能力 , 且算法的收敛速度较快 , 鲁棒性较 强。
关键词: 聚类分析 ; 差分进 化; K 一 均值聚类算法; L a p l a c e 分布 ; L e . i g s t i c 混沌搜 索 中图分类号 : T P 3 9 3 文献标识码 : A 文章编号 : 1 0 0 9 — 3 0 4 4 ( 2 0 1 3 ) 2 2 — 5 0 6 4 — 0 4
一种改进的求解聚类问题的差分进化算法

一种改进的求解聚类问题的差分进化算法
王勇臻;陈燕;张金松
【期刊名称】《计算机应用研究》
【年(卷),期】2016(033)009
【摘要】针对K-means算法依赖于初始聚类中心和易陷入局部最优解的缺陷,提出一种改进的求解聚类问题的差分进化算法.将改进的差分进化算法与K-means迭代相结合,使算法对初始聚类中心的敏感性和陷入局部最优解的可能性降低.通过将反向学习技术引入到框架中来指导搜索新的空间,以增强算法的全局寻优能力.为了改善算法的计算效率,根据聚类问题编码的特点设计了一种整理算子来消除冗余以及调整差分进化算法的种群更新策略.最后,在迭代过程中不断引入随机个体以提高种群的多样性.与K-means和几种进化聚类算法进行比较,实验结果表明,该算法不仅能有效抑制早熟收敛,而且具有较强的稳定性和较好的聚类效果.
【总页数】4页(P2630-2633)
【作者】王勇臻;陈燕;张金松
【作者单位】大连海事大学交通运输管理学院,辽宁大连116026;大连海事大学交通运输管理学院,辽宁大连116026;大连海事大学交通运输管理学院,辽宁大连116026
【正文语种】中文
【中图分类】TP301.6
【相关文献】
1.一种求解约束优化问题的改进差分进化算法 [J], 黄章俊;王成恩;马明旭
2.一种改进的求解聚类问题的萤火虫群优化算法 [J], 杜明煜;雷秀娟
3.一种基于改进差分进化的K-均值聚类算法研究 [J], 王凤领;梁海英;张波
4.聚类差分进化算法求解多目标工艺规划与\r调度集成问题 [J], 杜轩;潘志成
5.一种求解动态优化问题的改进自适应差分进化算法 [J], 刘树强;秦进
因版权原因,仅展示原文概要,查看原文内容请购买。
K—means算法及其改进算法
K—means算法及其改进算法作者:廖礼来源:《科教导刊·电子版》2017年第30期摘要聚类分析在科研和商业中都有着非常重要的应用。
其算法可以被划分为五类:划分方法、层次方法、基于密度方法、基于网格方法和基于模型方法。
K-means算法是聚类分析中一种常用的划分方法。
但是随着数据量的增加,K-means算法的局限性日益突出。
于是针对K-means算法的各种改进算法应运而生。
本文主要介绍了两种典型的改进K-means算法。
关键词聚类分析 K-means算法改进的K-means算法中图分类号:TP484.9 文献标识码:A0引言聚类分析是指将物理或抽象对象的集合分组成为由类似的对象组成的多个类的分析过程。
它是一种重要的数据挖掘技术,是分析数据并从中发现有用信息的一种有效手段,被广泛应用在商业、生物、地理、保险业、因特网等方面。
作为统计学的一个分支和一种无监督的学习方法,聚类从数学分析的角度提供了一种准确、细致的分析工具。
1 K-means算法K-means算法首先随机地在N个对象中选取k个数,作为初始聚类中心(即把N个对象分为k个簇),采用距离作为相似性的评价指标,认为两个对象的距离越近,其相似度就越大。
相似度通过一个簇中对象的平均值来计算。
然后按最小距离原则将N个对象划分到不同的簇中。
最后不断迭代计算聚类中心和调整各对象的类别,最终使每个对象到其判属的聚类中心的距离的平方和最小。
步骤如下:(1)在N个对象中随机地选取k个数作为初始聚类中心,即c1…ck;(2)将N个对象按最小距离原则找到离它最近的聚类中心ci,并将其划分到ci所标明的簇中;(3)计算每个簇中对象的均值,并且该均值作为该簇新的聚类中心;(4)重复(2)—(3)步,直到没有对象或很少的对象被分配到不同的簇中。
2改进的K-means算法2.1 K-means++算法K-means++算法相较于K-means算法的不同之处是在对初始聚类中心的选取上,不同于K-means的随机选取,K-means++只有第一个初始聚类中心是随机选取的,其余k-1个则是根据一定的概率来有目地选择初始聚类中心。
大数据挖掘中的混合差分进化K-Means无监督聚类算法
大数据挖掘中的混合差分进化K-Means无监督聚类算法吴雅琴;王晓东【摘要】K-Means无监督聚类算法是现有聚类算法中最为典型的划分算法.针对K-Means聚类算法初始参数依赖性较高且聚类结果稳定性较差的问题,提出了一种改进的混合差分进化算法,并将混合差分进化算法引入K-Means聚类中.通过个体适值函数把种群视为2个子种群的混合体,并按照不同的变异策略和参数对2个子种群分别进行动态更新,提高了获取全局最优的概率.实验结果表明:相比K-Means 聚类算法、基于差分进化的K-均值聚类算法,所提出方法能够有效提高聚类质量和收敛速度,较好地解决了K-Means聚类算法容易陷入局部最优陷阱的问题.【期刊名称】《重庆理工大学学报(自然科学版)》【年(卷),期】2019(033)005【总页数】6页(P107-112)【关键词】差分进化;聚类分析;大数据挖掘;K-Means;收敛速度;全局最优【作者】吴雅琴;王晓东【作者单位】内蒙古医科大学计算机信息学院,呼和浩特010110;内蒙古医科大学计算机信息学院,呼和浩特010110【正文语种】中文【中图分类】TP311.13近年来,随着计算机和互联网技术的快速发展,人们在工作和生活中产生了各种形式的数据,如文本、图像、音频、视频等,这些数据的存储量正变得越来越大。
如何准确和有效地从这些海量数据中抽取出隐藏的、有价值的信息成为计算机科学领域中的研究热点,由此数据挖掘技术应运而生[1-2]。
数据挖掘又称知识发现,即“从数据中挖掘知识”,可以看作信息技术自然进化的结果。
聚类分析作为大数据挖掘中最为重要的方法之一,已经得到了人们越来越多的关注[3]。
其中,K-Means无监督聚类算法是现有聚类算法中最为典型的划分算法。
目前,K-Means 聚类算法在情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等领域得到了广泛应用[4]。
K-Means聚类算法作为聚类分析中广泛应用的一种经典算法,具有算法结构简单、运行效率高且适用范围大等优点。
一种改进的K-Modes聚类算法
一种改进的K-Modes聚类算法K-Modes聚类算法是一种非常有效的算法,用于将数据集划分成相似的簇。
传统的K-Means算法是对连续数据进行聚类的,而K-Modes算法是对离散数据进行聚类的。
K-Modes算法也存在一些缺点,例如对初始化质心敏感,对离群值敏感,对于大规模数据集计算量大等问题。
改进K-Modes聚类算法是非常有意义的。
1. 初始化质心的改进:传统的K-Modes算法通常使用随机选择质心的方法来初始化,但这种方法很容易受到初始值的影响,导致聚类结果不稳定。
改进的方法可以是使用K-Means++算法来选择质心,或者使用其他的聚类算法来初始化质心,以得到更好的初始质心值,从而提高聚类的稳定性和准确性。
2. 离群值处理的改进:传统的K-Modes算法对离群值比较敏感,容易受到离群值的干扰,从而影响聚类结果。
改进的方法可以是使用异常值检测算法来识别和处理离群值,例如使用Z-Score方法或者箱线图方法来识别离群值,并进行相应的处理,或者使用基于密度的聚类方法来识别和剔除离群值,以提高聚类的鲁棒性和准确性。
3. 计算效率的改进:传统的K-Modes算法对于大规模数据集计算量比较大,因为它需要计算每个样本与每个质心的距离,而这个计算量随着数据集规模的增大而增加。
改进的方法可以是使用并行计算来加速计算过程,或者使用近似算法来加速计算过程,例如使用局部敏感哈希算法或者基于采样的方法来近似计算距离,以提高聚类的计算效率。
4. 簇的数量自动确定:传统的K-Modes算法需要事先确定簇的数量K,但在实际应用中往往不清楚应该选择多少个簇。
改进的方法可以是使用基于信息准则的方法来确定簇的数量,例如使用轮廓系数或者DB指数来评估聚类结果的好坏,从而自动确定簇的数量,以得到更合理的聚类结果。
改进的K-Modes聚类算法可以在初始化质心、离群值处理、计算效率和簇的数量确定等方面进行改进,从而得到更稳定、更准确、更高效的聚类结果。
一种改进的K-Modes聚类算法
一种改进的K-Modes聚类算法1. 引言1.1 背景介绍K-Modes聚类算法是一种经典的聚类算法,它适用于处理分类数据。
随着大数据时代的到来,对于传统的K-Means算法在处理非数值型数据时表现不佳的问题变得日益突出。
针对这一问题,研究人员提出了一种改进的K-Modes聚类算法,以解决K-Means算法在处理分类数据时的不足之处。
改进的K-Modes聚类算法应运而生。
通过引入新的聚类准则或调整算法中的参数,改进后的K-Modes算法能够更好地处理分类数据,提高聚类的准确性和稳定性。
这一改进对于提高数据挖掘任务的效率和精度具有重要的意义,也为聚类算法在实际应用中的广泛推广提供了新的方向。
1.2 研究意义研究意义在于通过对K-Modes聚类算法进行改进,可以提高算法在实际应用中的准确性和效率。
传统的K-Modes聚类算法在处理非数值特征数据时存在一些问题,比如对类别型数据的处理方式较为简单,容易导致聚类结果不够准确。
通过对K-Modes算法进行改进,可以更好地适应非数值特征数据的处理需求,提高聚类结果的质量。
改进的K-Modes聚类算法可以应用于多领域的数据挖掘任务中,比如市场营销、生物信息学、社交网络分析等领域。
在这些领域中,数据通常包含大量的非数值特征,传统的K-Means算法无法准确处理这些数据。
改进的K-Modes算法可以为这些领域提供更有效的数据挖掘工具,帮助研究人员更好地理解数据,发现隐藏在数据背后的规律和价值。
研究改进的K-Modes聚类算法具有重要的理论和实际意义,可以推动数据挖掘领域的发展,促进各行各业对数据的深入分析和应用。
2. 正文2.1 K-Modes聚类算法简介K-Modes聚类算法是一种用于对离散数据进行聚类的算法,它是K-Means在处理离散数据时的推广。
与K-Means算法不同的是,K-Modes算法使用频数来计算距离,而不是使用欧氏距离。
这使得K-Modes算法更适合处理离散数据,如文本数据、分类数据等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第27卷第5期 2014年10月 四川理工学院学报(自然科学版) Journal of Siehuan University of Science&Engineering(Natural Science Edition) Vo1.27 No.5
0ct.2014
文章编号:1673—1549(2014)05-0064-04 DOI:10.11863/i.suse.2014.05.15
基于K—means的改进差分进化聚类算法
乔艳霞,邹书蓉,张洪伟 (成都信息工程学院计算机学院,成都610225)
摘要:K—means聚类算法简单,收敛速度快,但是聚类算法的结果很容易受到初始聚类种群的影 响,往往导致局部最优。差分进化算法具有很强的全局收敛能力和鲁棒性,但其收敛速度较慢。为此, 将K—means聚类算法和差分进化算法相结合,提出一种基于K—means的改进差分进化聚类算法。该 算法设置在一定范围内随迭代次数动态增加的交叉算子,以使算法在迭代过程中先进行全局搜索,再进 行局部搜索,这样有助于平衡算法的全局寻优和局部搜索能力,并且加快了算法的收敛速度。最后,通 过实验测试了算法的有效性。 关键词:差分进化;聚类;K—means;动态交叉算子 中图分类号:TP301.6 文献标志码:A
引言 K—means¨ 是基于划分的经典聚类分析算法之一, 算法简单、收敛速度快,但是聚类算法的结果很容易受 到初始聚类种群的影响,往往导致局部最优。为解决这 一问题,近年来许多学者应用各种智能算法优化 K—means聚类算法拉 ,主要是基于全局最优思想,如遗 传算法、粒子群优化算法等,并取得了比较好的成效。 差分进化算法(differential evolution,DE)是Storn和 Price 在1995年提出的,它是一种基于种群差异和随 机搜索的进化算法。DE是基于仿生智能演化的计算算 法,有内部信息共享和保留个体最优解的特征。差分进 化计算特有的变异操作和良好的全局优化能力,能够使 用个体信息和全局信息,指导搜索及优化是算法与其他 算法最主要的区别。文献[4-5]将差分进化和K—means 算法相结合,与其他算法相比,DE—kmeans具有能更好 的搜索性能。但差分进化算法也存在一些缺点,如弱局 部搜索能力,以及其搜索能力针对参数的特性有很大的
依赖性等。许多学者从不同方面对DE进行改进 ,取 得了很好的效果。 本文提出一种基于K—means的改进差分进化算 法,其中设置动态的交叉概率算子,使交叉算子在一定 范围内随着种群迭代次数的增加而增大,以使算法先进 行全局搜索,再进行局部搜索,这样有助于二者能力的 协调和平衡。实验结果表明,该算法不仅加快了收敛的 速度,并具有良好的全局优化能力。
1 K.一means聚类算法 K—means均值聚类的思想是:基于数据对象与集 合(聚类)中心的距离,数据对象被分到与其距离最近 (即该类中的数据样本之间最接近)的集合(聚类) 。 K—means算法的参数是k,把含有m个对象的集合划分 到与之最近的子集中,并且同一子集内对象之间比较相 似,而不同子集之间数据对象差异很大。 该算法的基本步骤n。。如下: 步骤1:从样本集中选取k条数据样本当作初始的k
收稿日期:2014-04-13 作者简介:乔艳霞(1987.),女,河南周口人,硕士生,主要从事智能工程方面的研究,(E—mail)qiaoyanxia2012@163.com 笙27鲞箜 乔艳霞等:基于K—means的改进差分进化聚类算法 65 个集合(类簇)的中心; 步骤2:根据最近邻法则,数据样本被分到与之最接 近的类簇; 步骤3:计算新的类簇中心,它是由计算每个集合中 所有样本数据的均值得到的; 步骤4:类簇中心不再改变作为算法终止标准,返回 最终的结果。否则,返回步骤2继续计算。 其核心问题是:如何选择算法的初始类簇中心。如 果初始划分和全局最优的划分严重偏离,该算法可能会 趋向于得到局部的最优值。 2标准差分进化算法 标准差分进化算法的核心操作包含变异操作、交叉 操作以及选择操作三个部分 。 变异操作:变异操作产生的新个体是由群体内多个 单独个体的线性运算(差分运算)得到的。DE包括多种 变异机制,其中采用最多的是由式(1)表示的变异策略。 (g)=c,,(g)+F・[c (g)一C,,(g)] (1) 其中,NP为种群中的染色体数目,F为变异算子,c,.(g) 为第g代种群中的一个个体,i=1,2,3…NP,r】,r2,r3∈ [1,NP],且rl≠r2≠r3≠i。 交叉操作:通过将当前个体ci的部分分量用目标个 体 的对应分量替换,从而生成测试个体t 。常见的交 叉方式有两种:指数交叉和二项交叉。其中二项交叉具 体执行方式为:首先对每条染色体的每一个分量都生成 一个0—1之间的随机数r,若r<CR,则接受目标个体的 对应分量,否则保留当前个体的对应分量。即: (g)= ‘g ,r<cR或_『:mdm‘{l'2,…,n} (2) tcf.j(g),其他 其中,CR是交叉算子,n为染色体的属性个数。 选择操作:标准DE采用贪心选择,当前个体c 与测 试个体t 相比,选择更好的个体进入下一代搜索。即: (g+1):{‘ ‘g ’ ‘g < ci(g (3) Lc (g),其他 其中, t (g))为适应度函数,即目标函数。 3动态递增的交叉算子 交叉算子系数越大,局部搜索更好,相反,交叉因子 越小,则会有更强的全局搜索能力 “ 。为了平衡算法的 全局寻优能力和局部搜索能力,本文采用在一定范围 内,跟随迭代次数动态变化的交叉算子: CR=CR 一(衄~一CR ) exp(1一g /(g +1一g)) (4) 其中(CR ,CR )是CR的上下限。
4算法步骤 (1)初始化 初始化算法的各个参数:如种群中染色体的条数 NP,簇数 ,(变异)缩放因子F,交叉算子CR的最大值 CR 和最小值CR耐 ,最大迭代次数g~,当前迭代数g。 (2)初始化种群 对有Ⅳ个样本组成的数据集U={ … }里 的数据,选择k条用作初始种群。用K—means聚类算 法对数据样本进行分类,根据最近邻法则,把数据样本 划分为k个的子集。分类的标准则依据欧几里得公式: distance(0 ,or)=}Ioi一 JI= l Oi。一 12+I 一 l +…+l 一 I (5) 其中(0 0 ,0。,…,0 )为第i条数据样本的,1个属 性。 (3)计算适应度函数 目标函数是衡量种群染色体之间距离的标准,即类 簇中心之间的距离,函数值越小表示两个类簇之间距离 越大。目标函数是为每个个体的价值进行计算和评估, 并保留最优函数值。通常采用的目标函数为: K ‘ e)=∑∑ 一c II (6)
其中 e)表示同属于一个类簇的所有样本的离散度,它 越小,则表示该类内的数据越相似(即样本点越集中)。 (4)变异操作 对种群中的每一条染色体,按照公式(1)执行变异 操作,生成目标个体,其中公式中的3个个体是随机选 择的。 (5)交叉操作 按照公式(4)计算交叉算子,通过将当前个体的部 分分量用目标个体的对应分量替换,从而生成测试个体。 (6)选择操作 66 四川理工学院学报(自然科学版) 2014年1O月 应用公式(3)选择测试的个体和当前的个体中较好 的,保留最佳个体的目标函数值。 (7)判断是否结束 确定该算法是否满足终止条件(算法收敛到最优 解),或确定是否差分进化算法来达到最大迭代次数 g一。如果没有满足条件,则转向步骤3继续执行;如果 达到最大迭代次数g一,算法结束,输出结果。 5实验仿真及结果 实验环境是:2.99 G CPU,1.97 G内存。visual C++6.0,C语言编程。在UCI中选择三个数据集作为 测试数据集,样本集的特性见表1。参数设置如下:种群 大小为数据集样本属性个数的10倍,g一为50,其中F 为0.5,CR的最大值 一为0.9,最小值 为0.1。 DE—kmeans 算法F为0.5,CR为0.1。每种算法分 别运行50次,实验结果见表2。 表1样本集的特性
表2算法的比较结果
从表2可以看出,K—means算法具有快速收敛的 速度,但优化准确性差。DE—kmeans算法优化精度还 是不错的,但收敛速度慢。与上述两种方法相比,改进 的算法的收敛的速度及优化准确性更好,优化结果也更 稳定。 6结束语 本文在基本差分进化算法的基础上提出动态交叉 算子,将其和K—meall8相结合,以提高收敛速度。实验 结果表明,该算法收敛速度快,既具有差分进化算法的 全局优化能力,又保留了K—means聚类算法的优点,具 有快速搜索速度和稳定的结果。 参考文献: 【1】MacQueen J.Some methods for classification and analysis ofmu ̄ariate observatious[C]//Proc.ofthe 5th Berkeley Symposium on Mathematics Statistic Problem, Berkeley,june 21一July 18,1967"281-297. 【2]王雪梅,李晓峰,高巍巍.一种改进的K—means聚类 算法研究【J].计算机与数字工程,2013,41(11):1717— 1719,1759. [3】Storn R,Price K.Diferential Evohtion:A snnple and effi- cient heuristic for glo ̄l optknization over continuous spaces[J].Journal of Global Optknkation,1997(1 1):341- 359. [4]Paterlmi S,Krink T.Hch performance clustering w证h dif- ferential evolution[C]//Proc.ofEvolutionary Computation, 2004,California,june 19-2320042004-201 1. 【5】Sudhakar G.Effective image clustering with differential evolution technique[J].International Journal of Computer