基于量子粒子群优化改进的模糊C-均值聚类方法
技术领域
本发明涉及一种聚类方法,尤其是一种基于量子粒子群优化改进的模糊C-均值聚类方法,属于数据挖掘和人工智能的技术领域。
背景技术
传统的聚类方法属于硬划分方法,即所研究的对象“非此即彼”,而实际由于科学技术、经济管理中的分类界限并不是很分明。为了使聚类结果更加符合实际要求,由Dunn提出的模糊C-均值(FCM)算法“Dunn JC.A fuzzy relative ofthe ISODATA process and its use in detecting compact well separated cluster[J].JCybemet,1974,v3:32~57”是一种将硬C—均值聚类算法和模糊数学理论结合的经典聚类算法,它虽以某个隶属度隶属于某个类,使得类内误差平方和目标函数最小。但相关研究“J.C.Bezdek.Pattern Recognition with Fuzzy ObjectiveFunction Algorithm.Plenum Press,New York,1981:10-16”、“S.Ramathilagam,Yueh-Min Huang.Extended Gaussian kernel version of fuzzy c-means in theproblem of data analyzing.Expert Systems with Applications,2011,38(4):3793-3805”表明此类算法易受聚类数目、初始点影响且极易陷入局部最小。
为了克服上述缺点,近年来很多文献“Sudhakar G. Effective image clustering withdifferential evolution technique.International Journal of Computer andCommunication Technology,2010,2(1):11-19”、“Thomas A.Runkler and ChristinaKatz,Fuzzy Clustering by Particle Swarm Optimization.IEEE InternationalConference on Fuzzy Systems,2006,601-608”结合各种常用群智能进化算法对模糊C-均值算法进行改进,并取得了不错的效果。
粒子群(PSO)算法“Kennedy J,Eberhart R C.Particle swarmoptimization[C].Proceeding of IEEE International Conference on NeuralNetworks,1995,1942~948”是源于Eberhart博士和Kennedy博士对自然界中生物捕食现象的模拟而提出的一种新型的群体智能算法,是一种有效的全局寻优算法。PSO算法计算简单、易于实现,然而,Frans Van de Bergh“Bergh F V d.A newlocally convergent particle swarm optimizers[C].IEEE International Conference onsystems,Man and Cybernetics,2002”引入Solis和Wets关于随机性算法的收敛准则证明该算法在进化后期微粒的飞行速度缺乏有效的控制与约束,很容易飞越最优解,使得算法的收敛速度慢,精度差。针对这些缺点,Sun等人将量子力学的相关概念引入粒子进化过程,提出一种新的基于全局水平的参数控制方法的PSO算法模型,即量子行为粒子群优化(QPSO)“Sun J,Xu W B.A global searchstrategy of Quantum-behaved Particle Warm Optimization[C]//Proceedings of IEEEConference on Cybernetics and Intelligent Systems,2004:111-116.”算法,并在许多领域“Sun,J.,Xu,W.-B.,Feng,B.:Adaptive Parameter Control forQuantum-behaved Particle Swarm Optimization on Individual Level.Proc.2005IEEE International Conference on Systems,Man and Cybernetics.Piscataway,NJ(2005)3049-3054”取得了优于PSO算法的效果。QPSO算法是利用分布式随机搜索特性提高全局优化能力,但在收敛速度上有所逊色。一个聚类分析过程的质量取决于度量标准的选择,许多经典的算法“K.S.Chuang et al,Fuzzy c-meansclustering with spatial information for image segmentation,Comput.Med.ImagingGraph.(30)(2006)9–15.”、“C.H.Cheng,L.Y.Wei,Data spread-based entropyclustering method using adaptive learning,Exp.Syst.Appl.(36)(2009)12357–12361.”中都是选择Euclidean标准,基于这种度量标准的聚类算法一般只能发现具有类似大小和密度的图形或球状聚类,得到的聚类的精确度也不高。许多学者开始致力于一种新的距离度量标准“Wu Kuo-lung,Yang Miin-shen.Alternative c-means clustering algorithms[J].Pattern Recognition,2002,35:2267-2278”的研究,这种度量比Euclidean标准更具有健壮性,能处理具有不同大小和密度的图形或有噪声存在的环境数据,缩小聚类误差。
因此如何能够较好地克服模糊C-均值算法的缺点,在保证收敛速度的同时增强算法的全局搜索能力,提高聚类精度非常重要。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于量子粒子群优化改进的模糊C-均值聚类方法,其操作方便,在保证收敛速度的同时能提高聚类的精度。
按照本发明提供的技术方案,一种基于量子粒子群优化改进的模糊C-均值聚类方法,其特征是,所述模糊C-均值聚类方法包括如下步骤:
步骤一、聚类参数设定:给定所需的聚类类别c、粒子群规模N、最大迭代次数MAXTER,当前迭代次数t,收缩扩张系数α;
步骤二、种群的初始化:定义距离标准
d(xk,vi)=1-exp(-β||xk-vi||2) (1)
其中, 且
利用单次AFCM算法进行快速分类,结合公式(1)得到目标函数
其中,X={x1,x2,…xk,…xn}是给定的数据集,n为数据集中样本的个数,xk(xk1,xk2,…,xkd)表示具有d个属性的数据对象,聚类个数为c,聚类中心集合V={v1,v2,…,vc},其中vi(vi1,vi2,…,vid)表示第i个聚类中心,Uik表示第k个样本属于第i类的模糊隶属度,对于任意k,i和模糊加权指数m,使公式(2)达到最小值的必要条件为:
中心向量为:
利用公式(4)得到的聚类中心向量作为种群中的一个初始粒子,并重复进行N次,生成初始种群;
步骤三、粒子的全局搜索:在一个d维的目标搜索空间中,QPSO算法由N个代表潜在问题解的粒子组成群体X(t)={X1(t),X2(t),…,XN(t)},在t时刻,第i个粒子位置为
粒子没有速度向量,个体最优位置Pbest表示为pi(t)=(pi1(t),pi2(t),…,pid(t)),全局最优位置Gbest表示为G(t)=(G1(t),G2(t),…,Gj(t)…,Gd(t)),且G(t)=pg(t),其中g为粒子群体处于全局最优位置的下标,g∈{1,2,…,N};定义所有粒子个体的最优平均位置C(t),即
粒子的个体最优位置Pbest由下述公式确定为
其中,f[X]=JAFCM(X,U,V);
整个粒子群的全局最优位置Gbest由下述公式确定为
G(t)=Pg(t) (9)
更新粒子时,首先得到粒子的个体最优位置Pbest及整个粒子群的全局最优位置Gbest,其次利用公式(2)更新所有粒子个体的适应度值,并将每一个粒子的当前个体位置适应度值与全局最优位置的适应度值比较;若每一个粒子的当前个体位置适应度值优于全局最优位置的适应度值,更新公式(9)中的G(t);
令
则粒子的进化方程为:
其中,
u
i,j(t)为符合正态分布的辅助参数;G
j(t)粒子群体的全局最优位置;
步骤四、输出聚类结果:重复上述粒子更新操作,如果当前的迭代次数达到预先设定的最大次数MAXTER,则停止迭代输出最佳聚类效果。
所述收缩扩张系数α为α=(1.0-0.5)*(MAXITER-T)/MAXITER+0.5。
本发明的优点:首先利用新距离标准取代Euclidean(欧几里德)标准,以提高传统聚类算法下的模糊精确度,同时通过AFCM算法单次快速分类替代随机分配初始聚类中心,来降低聚类算法对初始聚类中心的敏感度,最后在聚类过程中引入基于距离改进的QPSO(AQPSO)并行优化思想使其聚类算法具有较强的全局搜索能力、更高的收敛精度,保证收敛速度也明显改善了聚类效果,能较好地克服了传统模糊C-均值聚类算法的缺点,在保证收敛速度的同时较好地提高了聚类的效果。
附图说明
图1为数据集iris收敛时间比较示意图。
图2为数据集LearnSample收敛时间比较示意图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
本发明基于量子粒子群优化改进的模糊C-均值聚类方法过程如下:
步骤一、通过已给定的聚类类别c,设定粒子群规模N,最大迭代次数MAXTER,当前迭代次数T,收缩扩张系数α;
其中粒子个体采用基于聚类中心的实数编码方式,假设要求把数据分成c类,数据维数为d,每个粒子是有c个聚类中心组成的向量,且每个聚类中心是d维的向量,其中每个个体是c·d维向量 b=1,2,…,N,N为种群规模的数量;其中vi(vi1,vi2,…,vid)表示第i个聚类中心;
步骤二、种群的初始化编码:在现有技术中,种群的初始化采用随机初始化样本的中心矩阵V,并赋值给各个粒子。
为降低传统模糊C-均值算法对初始化数据中心的敏感性,增强鲁棒性,本发明实施例中,采用基于新距离标准的模糊C-均值(AFCM)算法初始化种群。先利用新距离标准公式(1)取代Euclidean标准,再使用AFCM算法(这里模糊加权指数m=0)进行单次快速分类,按照公式(4)返回的c个聚类中心向量作为种群中的一个初始粒子,反复进行N次,生成初始种群。
假设X={x1,x2,…xk,...xn}是给定的数据集,n为数据集中样本的个数,xk(xk1,xk2,…,xkd)表示具有d个属性的数据对象,聚类个数为c,聚类中心集合V={v1,v2,…,vc},其中vi(vi1,vi2,…,vid)表示第i个聚类中心,Uik表示第k个样本属于第i类的模糊隶属度,新的度量标准“Wu Kuo-lung,Yang Miinshen.Alternative c-means clustering algorithms[J].Pattern Recognition,2002,35:2267-2278”为:
d(xk,vi)=1-exp(-β||xk-vi||2) (1)
这里β是一个常量,定义为: 且
单次AFCM算法快速分类描述如下:
对于任意k,i和模糊加权指数m,使公式(2)达到最小值的必要条件为:
中心向量为:
利用公式(4)得到的聚类中心向量作为种群中的一个初始粒子,并重复进行N次,生成初始种群;
步骤三、为了提高聚类算法全局搜索能力,可以让好的粒子保持较多的选择机会,从而很快控制整个群体的运动趋势。本发明在聚类过程中引入基于距离改进(此处的距离改进是指采用公式(1)的新距离标准)的QPSO(AQPSO)优化思想:群体的Gbest完全取决于最优适应度,按照平均最小距离原则公式(8)和公式(9),利用目标准则函数JAFCM更新粒子的适应度值(此时模糊加权指数m取为0)。在粒子更新前,每个粒子中包含c个聚类中心向量,并按照目标函数公式f[X]=JAFCM(X,U,V),计算所有粒子个体的适应度值。粒子的个体最优位置Pbest设置为粒子的初始位置,将具有min JAFCM的Pbest定义为种群的初始全局最优位置Gbest。利用公式(6)计算mbest的位置C(t)。AQPSO优化思想描述如下:
假设在一个d维的目标搜索空间中,QPSO算法由N个代表潜在问题解的粒子组成群体X(t)={X1(t),X2(t),…,XN(t)},在t时刻,第i个粒子位置为
粒子没有速度向量,个体最优位置Pbest表示为pi(t)=(pi1(t),pi2(t),…,pid(t)),全局最优位置Gbest表示为G(t)=(G1(t),G2(t),…,Gj(t)…,Gd(t)),且G(t)=pg(t),其中g为粒子群体处于全局最优位置的下标,g∈{1,2,…,N}。在算法中引入平均最优位置mbest,记为C(t)。它定义为所有粒子个体最优位置的平均,即
对于最小化问题,目标函数值越小,对应的适应值越好,本发明中适应性函数值按照目标函数公式(2)计算,即f[X]=JAFCM(X,U,V),其中,X为数据集,U表示Uik的简写。粒子的个体最优位置Pbest由下述公式确定为
整个粒子群的全局最优位置Gbest由下述公式确定为
G(t)=Pg(t) (9)
更新粒子时,首先得到粒子的个体最优位置Pbest及整个粒子群的全局最优位置Gbest,其次利用公式(2)更新所有粒子个体的适应度值,并将每一个粒子的当前个体位置适应度值与全局最优位置的适应度值比较;若每一个粒子的当前个体位置适应度值优于全局最优位置的适应度值,更新公式(9)中的G(t)。
则粒子的进化方程为:
其中,ui,j(t)为符合正态分布且随机取值的辅助参数,当ui,j(t)>0.5时,公式(11)中的“±”取-;否则取+,公式(11)中下标j的范围为1到d,Gj(t)粒子群体的全局最优位置。α是QPSO的收缩扩张系数,它是QPSO收敛的一个重要参数,对参数α控制可以采用固定取值,或者线性减小的方式。本文采用α=(1.0-0.5)*(MAXITER-T)/MAXITER+0.5可以达到比较好的效果,其中,MAXITER是迭代的最大次数,T为当前迭代次数。
群体的Gbest完全取决于最优适应度,按照平均最小距离原则式(8),利用目标准则函数JAFCM更新粒子的适应度值(此时模糊加权指数m取为0)。
粒子个体的更新操作:粒子更新迭代过程中,为保证收敛速度同时明显改善了聚类效果。本发明在AQPSO聚类算法中再次引入单步AFCM操作并行优化,通过公式(3)和公式(4)计算隶属度,修正所有的聚类中心,更新各个粒子的适应度,取代当前粒子的位置。对每个粒子,比较它的适应度和它经历过的最优位置的适应度,如果更好,则更新该粒子的最优位置;对每个粒子,比较它的适应度和群体所经历的最优位置的适应度,如果更好,则更新全局最优位置;即根据适应度大小进行选择操作,适应度更优的个体作为子代。
步骤四、重复粒子更新操作,如果当前的迭代次数达到预先设定的最大次数MAXTER,则停止迭代输出最佳聚类效果。在输出聚类效果中,本发明实施例的输出结果为由公式(4)得到的聚类中心向量和公式(3)得到的隶属度。
实施例
以下实施例选择聚类的目标函数、聚类内部的距离(Intra-cluster Distances)、聚类之间的距离(Inter-cluster Distances)和正确率指标准则来评价聚类效果。
(1)、聚类的目标函数;
(2)、聚类内部的距离(Intra-cluster Distances),即是一个聚类中所有数据向量到聚类中心的距离;
(3)、聚类之间的距离(Inter-cluster Distances),即是聚类的中心向量之间的距离;Inter-cluster Distances=||vi-vj||;
(4)、正确率(作为已知测试集的重要评价方法)
一般来讲,对聚类来说,目标函数越小越能保证聚类比较精确;聚类内部的距离较小,可以保证了聚类样本与中心的偏离程度低,内部相似性较大;聚类之间的距离较大,可以保证不同聚类之间的相异性较大;而对于已知测试集,正确率的高低可以决定整个聚类算法的好坏。
实验分别采用Iris、Wine、breastCancer和LearnSample这4个知名数据集作为测试样本集。其中Iris数据集包含150个4维的模式向量,分为3类;Wine数据集包含178个13维的模式向量,分为3类;breastCancer数据集包含683个9维模式向量,分为2类。LearnSample数据集包含571个3维的模式向量,分为6类。参数设置如下:五种聚类算法的最大迭代次数均设为100,模糊聚类算法(FCM,AFCM聚类算法)设置模糊指数m=2[12],两类算法分别运行100次,取各指标的平均值。粒子群优化聚类算法(QPSO,AQPSO,AF-AQ-AF聚类算法)的种群粒子数按照实验数据集大小依次分设为30,40,100,120,收缩扩张系数α随着迭代次数从1.0线性减小到0.5,其中,QPSO和AQPSO算法迭代寻优中,适应度函数指数m为0,三类算法每次进行80次目标函数评估求均值,运行100次,并对评价聚类效果的指标(包括Intra-cluster Distances、Inter-cluster Distances、正确率等)求得平均值,运行结果如表1所示。
表1聚类结果比较
从表1可以看出:
(1)、对四个数据集使用新度量标准进行聚类,除breastCancer数据集外,得出的Intra-cluster Distances比Euclidean度量得出的数值小,而Inter-clusterDistances都比Euclidean度量得出的数值大,这样既保证聚类内部较紧凑也使得聚类之间差异性较大。因此采用新距离的聚类算法有优越性。
(2)、虽然模糊C均值聚类算法运算时间要小得多,但是基于QPSO的聚类算法在类间距离与正确率的值都比FCM好,即具有更可靠的分类,陷入局部最优的可能性要小,且聚类之间的相似性较小。所以在聚类效果方面,基于QPSO的聚类算法相比FCM算法具有一定的优势。
(3)、本文提出的AF-AQ-AF聚类算法对iris数据集来讲,虽在聚类之间的偏差效果不是太明显,但是在目标函数、类内距离方面得到的数值要明显优越于AFCM、AQPSO聚类算法;而对于其他三个数据集,相比较于基本聚类算法FCM和QPSO,新算法不仅保证类内紧凑,类外偏差大,而且在正确率方面有较大提高。
FCM聚类算法收敛速度快,但是易限于局部最优。QPSO聚类算法虽能提高聚类效果,但往往付出的时间代价大。本文新算法不但在目标函数、Inter-clusterDistances、Intra-cluster Distances方面优于FCM和AFCM,而且相对于QPSO和AQPSO聚类算法,在收敛时间上有所改进,以数据集iris和LearnSample为例,如图1和2所示。
从图1和图2可以看出,粒子规模数较小时,三种聚类算法的收敛时间相差不大,但是随着粒子规模数变大,本文提出的新算法收敛性要优于QPSO和AQPSO聚类算法。当粒子数达到一定规模时,算法的收敛性趋于一致。因此,若选取适当的规模数,本发明在缩减收敛时间方面比较有优势。
实验表明相比现有技术,本发明能够较好地克服模糊C-均值算法的缺点,在保证收敛速度的同时提高了全局搜索能力,明显改善了聚类效果。
针对FCM聚类算法本质上是基于梯度下降的局部搜索算法,容易对初值敏感,陷入局部极小值的缺点,而基于种群操作的QPSO算法具有全局搜索能力,不易陷入局部区域。本发明提出一种基于量子粒子群优化改进的模糊C-均值聚类方法,即采用基于距离改进的QPSO算法中的粒子群在解空间中的飞行搜索代替FCM的迭代过程寻找更好的全局最优值,这类有导向的聚类算法在提高收敛速度,保证聚类效率的同时获得较高的精确度,能较好地克服了传统模糊C-均值聚类算法的缺点,在保证收敛速度的同时较好地提高了聚类的效果。