本发明属于高维空间数据分析技术领域,尤其涉及一种克隆优化的粒子群聚类高维数据分析方法。
背景技术:
近年来,数据挖掘引起了信息产业界和整个社会的极大关注,原因是日常生活中存在大量可以广泛使用的数据,而且高维数据在实际中的存在更为普遍,迫切需要将数据转换成有用的信息和知识。目前,低维数据的聚类算法已比较成熟,但是在实际应用中,高维度的数据,例如,金融数据、零售业的数据、电信业的数据以及生物学数据普遍存在。数据受“维度灾”(thecurseofdimensionality)的影响,许多传统的聚类算法运用到高维数据上往往失效,存在如对初始值敏感、容易陷入到局部最优点、算法伸缩性较差、无法处理大规模数据等问题。因此,对高维数据聚类分析的研究具有非常重要的理论意义和应用价值。
高维数据是聚类分析中一个十分重要的任务,很多应用需要对包含大量特征项或者维数的对象进行分析。其数据特点是多个维之间可能是不相关的,随着维数的增加,数据变的越来越稀疏,使得成对点之间的距离失去意义,数据间的平均密度变得很低。传统聚类方法对高维数据集聚类时,存在的问题是:①高维数据集中存在大量无关的属性,使得在所有维中存在簇的可能性几乎为零;②高维数据空间的数据,较低维空间中的数据分布要稀疏,数据间距离几乎相等,难以用距离来度量。
在数据挖掘里面,为了满足不同应用领域中众多用户的需求,研究者们提出了很多针对高维数据的聚类方法,主要有(1)基于降维的聚类;(2)子空间聚类;(3)基于超图的聚类;(4)联合聚类。降维就是通过把数据点映射到更低维的空间上以寻求数据的紧凑表示的一种技术,这种低维空间的紧凑表示将有利于对数据的进一步处理。不同的降维方法,它们寻求高维数据的低维表示的方式不同,降维之后的数据与原始数据的近似程度也不同,从而它们的聚类性能也各不相同。其最大的缺点在于它没有提供一个具体的准则来评价从高维到低维转换的优劣。而且对于很高维的数据而言,其聚类的训练过程收敛会很慢。子空间聚类又称特征选择,它把原始数据空间划分为不同的子空间,只在那些相关的子空间上考察聚类的存在。此类算法在理论上可以找到任意数量维中任意类型和形状的簇,其结果由一组不同子空间的簇组成,并可由一个析取范式表达式所表示,且事先无须确定维数量。其缺点是如果参数设置不合适,在剪枝阶段很可能会删去一些重要的聚类,对一个指定的数据集来说,要确定这些参数非常困难。基于超图的聚类方法把高维数据问的关系映射到一个超图上,图中的每一条超边表达某些数据的关系,边上的权值则表示相应关系的密切程度。该方法最大的优点在于它在聚类的过程中不用计算高维数据之间的相似度,因此算法的时间复杂度较低。但不足点是聚类的数据类型受到限制。联合聚类的思想就是先将聚类数据集的属性分成若干组,然后针对每个属性组提出一个新的属性来代表该属性组,继而针对若干派生出来的属性进行高维数据聚类。这个方法的不足是数据集聚类质量的提高依赖于其属性的聚类,而对属性进行聚类也必须要依赖于相应的数据集。由于每种方法都有其优点与不足,并不是一种算法能够适用于所有的情况,在实际应用中,可根据具体问题的特点来选择合适的算法。
此方案提出的克隆优化粒子群聚类高维数据方法是结合降维和子空间聚类的优点设计的搜索方法。降维技术通常是经过特征选择(featureselection)或特征变换(featuretransforma-tion),将原来高维数据空间归约到较低维空间,可以利用传统的聚类方法完成聚类处理。特征选择方法是根据聚类目标的要求或数据集特性,从全体属性中选择重要的属性子集进行聚类。一般来讲,特征选择包括两个部分,一是对各特征子集进行搜索,二是通过一定的准则对特征子集进行评价。子空间聚类(subspaceclustering)不同的类存在于不同的子空间中,此类方法就是要有效地抽取出存在于子空间的簇。与全空间的降维方法不同,子空间聚类为每个簇搜索其相应的子空间。根据搜索方向的不同,将子空间聚类方法分成两大类:自底向上(bottom-upsubspacesearch)的搜索方法和自顶向下(top-bottomsubspacesearch)的搜索方法。自底向上的搜索方法利用了关联规则中的先验性质,合并邻近的密集单元以形成簇。clique算法首先利用关联规则的先验策略搜索和合并密度大于给定阈值的网格,形成候选子空间,并且将这些候选子空间按其子空间中点数量(覆盖)的大小排序,随后利用最小描述长度准则将规模较低的子空间剪枝。自顶向下的搜索方法则是按照从上到下的方向对子空间进行搜索。proclus算法,是最早的采用自顶而下搜索策略的投影聚类算法。proclus是一个基于中心点的算法,使用随机抽样和greedy方法结合选出一些簇中心点,然后用确定的判别函数计算每维对每个簇的权重,在不断迭代的过程中调整维的权重,最终找出围绕这些中心点的类。doc算法则是同时使用了自底向上的网格策略和自顶向下的迭代改善簇质量的策略,并且提出了一种最优投影聚类的定义,但是doc算法的精度及运行效率还有待进一步提高。
以上算法是与本方案相关的高维数据聚类算法的主要思想,特征选择或特征变换是在同一个特征子空间里面寻找所有的簇,忽略了在高维数据空间里面,不同的簇可能有不同的特征子空间;子空间聚类方法则可以使不同的簇存在不同的子空间,不过这类方法的计算复杂性较高。
综上所述,现有技术存在的问题是:传统聚类方法对高维数据集聚类时,由于高维数据集中存在大量无关的属性,较低维空间中的数据分布要稀疏,使得在所有维中存在簇的可能性几乎为零,在聚类时,难以做到快速收敛,并保证全局搜索最优。
粒子群算法是基于群体智能理论的优化算法,比较注重在全部维空间搜索最优类的中心点,搜索数据集密集型好的子空间进行聚类。通过种群粒子间的合作与竞争产生的群体智能指导优化搜索,收敛速度较快。进化理论具有较强的识别、学习、记忆和自适应能力,克隆操作实现抗体种群空间的扩张,为产生新的抗体提供基础。此研究一方面欲利用粒子群算法引导搜索方向,达到有效快速聚类收敛;另一方面对粒子群算法每次迭代产生的结果进行克隆,将粒子群算法的搜索结果扩张到更大的种群空间,通过对部分基因进行不同程度的变异实现更为精细的局部搜索,经过选择将搜索结果再压缩到原种群空间大小,从而保证聚类具有良好的全局搜索和局部搜索性能。
此专利的主要工作是将克隆选择与粒子群优化算法结合用于聚类分析中,建立基于粒子群算法的高维数据聚类模型,在改进目标函数的基础上,结合克隆选择机理,构造了针对数据聚类分析的粒子群动态聚类算法。与已有研究不同的是,在粒子变异与进化方面、粒子群编码和高维数据特征维的评估度量方面进行改进,克服传统聚类算法对初始值敏感的缺点,提高了高维数据聚类的稳定性,为高维数据聚类研究和应用提供技术参考。
技术实现要素:
针对现有技术存在的问题,本发明提供了一种克隆优化的粒子群聚类高维数据分析方法。
本发明是这样实现的,一种克隆优化的粒子群聚类高维数据分析方法,所述克隆优化的粒子群聚类高维数据分析方法产生n个粒子,调整这n个粒子的位置,计算相应的适应度;对n个粒子根据其抗体-抗原亲合力及抗体-抗体相似度进行不同数量的克隆;克隆的抗体在经过针对基因的选择后,与原抗体比较各自的抗体-抗原亲合力,通过克隆选择保留亲合力最高的粒子,进入下一次迭代;直到最后产生出捕获抗原的最佳抗体或者达到指定迭代次数为止。
进一步,所述克隆优化的粒子群聚类高维数据分析方法包括以下步骤:
步骤一,初始化粒子每个样本随机指派为某一类,作为最初的聚类划分,计算各类的聚类中心,作为初始粒子的位置编码;初始化粒子的速度,反复进行n次,共生成n个初始粒子群;
步骤二,计算每个粒子中每一类中每个维对该类的贡献率,贡献率最高的s个维的维的序号作为特征维,同时计算粒子的适应度;
步骤三,对每个粒子,比较适应度值和它所经历过的最好位置best_id的适应度值,如果更好,更新best_id;
步骤四,对每个粒子,比较适应度值和群体所经历的最好位置best_id的适应度值,如果更好,更新best_value;
步骤五,调整粒子的速度和位置;
步骤六,新个体的k均值聚类;
步骤七,达到算法结束条件,则结束;否则转步骤二。
进一步,所述步骤一中粒子初始化与编码包括:设计的编码空间拟由三部分组成(sup,cep,cpv),其中sup表示特征子空间的实数编码串,cep表示类中心的实数编码串,cpv表示类中心改变度(记录更新位置,用于调节全局和局部一致性)。初始种群以随机方式生成,随机的选取sup_maxnumber(最大的特征维数目)个特征维和cep_maxnnumber(最大的类数目)个数据对象进行编码组成个体,然后迭代n_size(预设的初始种群的规模)次,即完成初始种群的产生。
进一步,所述步骤二中适应度函数计算,用特征维对子空间聚类的贡献率表示;
k个以{c1,c2,…ck}为中心的子空间类{a1,a2,…ak},对每一个子类ai(i=1,2,…,k)进行度量,贡献率度量评价函数如下:
j表示子空间中含有特征维数,
由所有k个类的适应度之和表示所有粒子的适应度:
进一步,所述步骤一中克隆选择动态聚类具体包括:
●初始初始化粒子群的中每个粒子的位置zi={zi1,zi2,…,zik}与速度vi={vi1,vi1,…,vik};
●while(当前迭代次数t<t);//给出循环限定条件
●fori=1to粒子数n//聚类开始;
●按最小距离原则将x′中所有矢量x'j分到一个聚类中心zij代表的类簇中;
●计算每个粒子的适应值;
●计算克隆数量,对粒子进行克隆;
●对数据进行克隆选择;
●更新每个粒子的当前最优解;
●更新群体当前最优解;
●更新粒子的速度和位置;
●endfor
●endwhile//循环结束
●计算聚类效果的指标;
●输出聚类结果;
●结束
进一步,所述克隆优化的粒子群聚类高维数据分析方法包括:初始化粒子群大小n,最大迭代次数t,变异幅度系数λ,抗体相似性系数η,聚类数集x,按如下公式:
进一步,所述步骤五中根据公式对粒子进行评价和度量;
k个以{c1,c2,…ck,}为中心的子空间类{a1,a2,…ak,},对每一个子类ai(i=1,2,…,k)进行度量,贡献率度量评价函数如下:
j表示子空间中含有特征维数,
由所有k个类的适应度之和表示所有粒子的适应度:
进一步,所述步骤六中对于新一代粒子,按照以下k均值算法进行聚类:
(1)根据粒子的聚类中心编码,按照最近邻法则,确定对应该粒子的聚类划分;
(2)按照聚类划分,计算新的聚类中心,更新粒子的适应度值,更新原来的编码值。
进一步对粒子进行克隆,按亲和力成正相关,浓度反相关的克隆思想。公式定义表示如下:
其中a为克隆上限数量,fi_affinity表示亲合度,fsimilarity表示相似度,β表示抗体种群的大小,
进一步,所述克隆选择动态聚类算法的粒子位置和速度:
vi'd=wvid+n1rand1(pid-xid)+n2rand2(pgd-xid);
x′id=xid+vid;
参数选择中包括三个参数:w、n1、n2,最大速度vmax、最大位置xmax、种群大小:w取0.4到0.8,n1、n2取1.0到2.0、最大速度:vmax=0.2*xmax、最大位置xmax=max(xi)<每一维的最大值>、种群大小:n=20、30、40、50。
归一化为x′={x′1,x'2,…x'n},聚类效果指标i(k)取得最大值的k作为聚类数,还需要判定对应的分类数据集x最佳聚类结果。
本发明将粒子群(pso)理论应用于高维数据聚类分析中,利用粒子群算法的优化搜索机制在数据集中有指导地随机搜索聚类中心向量。初始化一群随机粒子,通过迭代找到最优解,在每一次迭代中,粒子通过跟踪两个“极值”来更新自己的位置,一个是粒子本身所找到的最好解,即个体极值(p_best),另一个极值是整个粒子群中所有粒子在历代搜索过程中所达到的最优解(g_best),即全局极值,具有强调分布式、相对简单、个体之间直接或间接的交互作用,具有很强的适应性和鲁棒性。
本发明改进了粒子群编码和子空间评估函数,一般的编码方法重点在类中心点空间编码,而项目改进为联合编码方式,将特征选择空间、类中心点空间(对应pso中粒子的位置)和中心点的改变量(对应pso中粒子的速度)三部分联合组成编码空间。改进了子空间评估方式,提出基于特征维对子空间聚类贡献率的适应度函数,为子空间聚类的评估函数,比较不同子空间聚类效果,把聚类结果联合子空间包含的特征维一起评价。
本发明将进化理论运用于聚类问题求解,在改进目标函数的基础上,结合克隆选择机理,将每个粒子视为抗体,看作是待聚类数据集的一种聚类簇划分方式,同时对粒子进行优化和免疫进化。进化过程中,粒子按其亲和度高低成正比进行克隆、按抗体浓度成反比进行克隆抑制、按亲和力高低成反比进行局部变异。
目前,数据挖掘和数据分析在研究中有广阔的应用前景,本发明通过克隆算子在同一粒子周围的多个方向进行全局或局部搜索,促使种群中的粒子快速进化,在解决高维数据的聚类问题时,不仅克服了传统聚类算法对初始值敏感的缺点,而且能有效地避免陷入局部最优,提高聚类算法的稳定性及可靠性。克服了传统聚类算法对初始值敏感的缺点,加快高维数据搜索过程,防止陷入局部最优化;生活和实际中的其它数据也多为高维数据,如生物数据、图像数据、网络数据、经济数据、医学数据等,对这些数据的利用和分析提供技术参考,对web数据、文本聚类以及类内模式为非球状散布的聚类问题的研究,尤其是在加速收敛和全局最优方面具有重要的理论意义和积极的促进作用。
附图说明
图1是本发明实施例提供的克隆优化的粒子群聚类高维数据分析方法流程图。
图2是本发明实施例提供的各算法在wine数据集上的聚类结果示意图。
图3是本发明实施例提供各算法在ionosphere数据集上的聚类结果示意图。
图4是本发明实施例提供的各算法在spambase数据集上的聚类结果示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明在粒子变异与进化方面、粒子群编码和高维数据特征维的评估度量方面进行研究和改进,克服传统聚类算法对初始值敏感的缺点,提高了高维数据聚类的稳定性,为高维数据聚类研究提供切实可行的理论和技术参考。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的克隆优化的粒子群聚类高维数据分析方法包括以下步骤:
s101:种群的初始化,在初始化粒子时,将每个样本随机指派为某一类,作为最初的聚类划分,并计算各类的聚类中心,作为初始粒子的位置编码,并初始化粒子的速度,反复进行n次,共生成n个初始粒子群;
s102:计算每个粒子中每一类中每个维对该类的贡献率,并把贡献率最高的s个维的维的序号作为该类得特征维,同时计算该粒子的适应度;
s103:对每个粒子,比较它的适应度值和它所经历过的最好位置best_id的适应度值,如果更好,更新best_id;
s104:对每个粒子,比较:适应度值和群体所经历的最好位置best_value的适应度值,如果更好,更新best_value;
s105:调整粒子的速度和位置;
s106:新个体的k均值聚类;
s107:如果达到算法结束条件,则结束,否则转步骤s102;在使用粒子群算法的过程中,在不足s106对新一代个体进行重新划分类别时,有可能会出现空类,如果出现空的聚类,则随机从其他某个非空的聚类中取出聚类中心最远的模式向量,将向量放入空聚类,重复这个过程,直到划分中没有空聚类为止。
在步骤s105中:根据公式调整粒子的速度和位置;
k个以{c1,c2,…ck}为中心的子空间类{a1,a2,…ak},对每一个子类ai(i=1,2,…,k)进行度量,贡献率度量评价函数如下:
j表示子空间中含有特征维数,
由所有k个类的适应度之和表示所有粒子的适应度:
那么整个粒子(特征子空间)的适应度就是求k个类的适应度之和。
在步骤s106中:对于新一代粒子,按照以下的k均值算法进行聚类:a、根据粒子的聚类中心编码,按照最近邻法则,确定对应该粒子的聚类划分;b、按照聚类划分,计算新的聚类中心,更新粒子的适应度值,更新原来的编码值。由于k均值具有较强的局部搜索能力,因此引入k均值聚类思想的粒子群的熟练速度可以大大提高。
本发明实施例提供的克隆优化的粒子群聚类高维数据分析方法采取针对待聚类数据设置聚类簇数k=2,并且递增到
首先,初始化粒子群大小n,最大迭代次数t,变异幅度系数λ,抗体相似性系数η,聚类数集x,按如下公式:
归一化为x′={x′1,x'2,…x'n},聚类效果指标i(k)取得最大值的k作为聚类数,还需要判定对应的分类数据集x最佳聚类结果。
下面结合具体实施例对本发明的应用原理作进一步的描述。
本发明实施例提供的克隆优化的粒子群聚类高维数据分析方法包括以下步骤:
1、粒子初始化与编码
编码空间拟由三部分组成(sup,cep,cpv),其中sup表示特征子空间的实数编码串,cep表示类中心的实数编码串,cpv表示类中心改变度(记录更新位置,用于调节全局和局部一致性),初始种群以随机方式生成,随机的选取sup_maxnumber(最大的特征维数目)个特征维和cep_maxnnumber(最大的类数目)个数据对象进行编码组成个体,然后迭代n_size(预设的初始种群的规模)次,即完成初始种群的产生。
2、适应度函数计算,用特征维对子空间聚类的贡献率来表示;
k个以{c1,c2,…ck,}为中心的子空间类{a1,a2,…ak,},对每一个子类ai(i=1,2,…,k)进行度量,贡献率度量评价函数如下:
j表示子空间中含有特征维数,
计算ai类中所有特征维对ai的贡献和表示为μi:
由所有k个类的适应度之和表示所有粒子的适应度:
3、克隆选择,粒子群算法在对粒子位置更新的时候是针对该粒子位置的所有矢量方向都更新,容易跳过更优或者最优位置,故克隆选择动态聚类中,基因变异操作对粒子群算法每次迭代后新的粒子(即抗体)的部分基因片段(每个基因片段对应一个聚类中心)按式进行变异操作,从而可加大对该粒子当前位置的动态局部搜索能力。
克隆定义如下方法:
粒子群克隆以亲和度和浓度来确定,亲和度越高,克隆数越大,抗体浓度越高,克隆数越小,按亲和力成正相关,浓度反相关的克隆思想。公式定义表示如下:
其中a为克隆上限数量,fi_affinity表示亲合度,fsimilarity表示相似度,β表示抗体种群的大小,
4、粒子位置和速度
v′id=wvid+n1rand1(pid-xid)+n2rand2(pgd-xid);
x′id=xid+vid;
参数选择中包括三个参数:w、n1、n2,最大速度vmax、最大位置xmax、种群大小:w在拟定实验中取0.4到0.8,n1、n2在拟定实验中取1.0到2.0、最大速度:vmax=0.2*xmax、最大位置xmax=max(xi)<每一维的最大值>、拟定实验种群大小:n=20、30、40、50。
5、迭代终止条件确定
通常算法的迭代终止准则选取有以下三个准则:
(1)最优个体的适应度达到给定的阈值。
(2)迭代次数达到预先设定的一个最大的迭代次数。
(3)当搜索过程中解的适应度在连续多代后不再发生明显改变时。
6.克隆选择动态聚类概要算法如下:
克隆选择动态聚类算法存在速度、位置等参数,每一个粒子每次的更新都是通过速度和位置进行的。
下面结合实验对本发明的应用效果作详细的描述。
为了验证本发明的可行性与有效性,通过实验进行分析与对比,对比应用经典算法k-means算法以及经典的子空间聚类算法—proclus算法,并比较与项目中的带克隆的粒子群高维聚类算法(实验中简称为:clone_pos_cluster)。
数据集选取:为了验证算法对高维数据聚类是否有效,并保证算法的实用性,选取的数据有两组,一是实际应用数据,二是经典机器学习数据。实际应用数据来源于银行同业拆借利率的官方shibor数据(http://www.shibor.org官方网站),选取1500个交易日,共9组数据。经典机器学习数据来源于uci数据集(来自http://archive.ics.uci.edu/ml/网址),所选得的其中的三组数据集分别是:wine数据集、ionosphere数据集、spambase数据集。
根据以下三个指标对聚类结果进行比较:
1)purity纯度:是通过算法运行所得的簇在多大程度上包含原单个类的对象的另一种度量:
如果纯度越大,算法所得聚类结果与已知的“基本事实”越相近,其聚类效果越好。
2)ri:rand统计量,是一种取理想的簇相似度矩阵与理想的类相似度矩阵的相关度作为聚类有效性的度量。理想的簇相似度矩阵,其第ij项为1,如果两个对象i和j在同一个簇,否则为0;理想的类相似度矩阵,其第ij项为1,如果两个对象i和j在同一个类,否则为0。rand统计量可按以下公式计算:
其中,f00=具有不同的类和不同的簇的对象对的个数;
f01=具有不同的类和相同的簇的对象对的个数;
f10=具有相同的类和不同的簇的对象对的个数;
f11=具有相同的类和相同的簇的对象对的个数;
由公式可以看出,rand统计量越大,算法所得聚类结果与已知的“基本事实”越相近,其聚类效果越好。
3)error_degree错误率,记原始数据中数据个数为t,第i类的数据个数为ti,通过聚类,得到第i1类对应原始数据的第i类,且第i1类的数据中属于原始第i类的数据个数为
记进行聚类后每个类找错的数据点(属于第i1类而不属于第i类)的个数为t1',则总错误率为:
计划分别运用不同算法,如k-means算法、proclus_clustering算法以及项目中的克隆粒子群高维聚类算法(clone_pos_cluster),分析对比两组不同数据集,并统计以上三个聚类有效性衡量指标,给出具体的实验参数和实验分析结果。
分别运行k-means算法、proclus_clustering算法以及克隆粒子群高维聚类算法(clone_pos_cluster),并统计以上三个聚类有效性衡量指标,具体的实验结果与分析如下:
运行proclus_clustering算法时,需要设定相关参数交叉概率pc、变异概率mp、选择特征维的个数max_fnum、簇数目max_cnum、种群规模popsize及迭代最大次数max_gen,这些参数的设定都要依据具体的数据集而定,具体实验参数如表1:
表1实验设置proclus_clustering算法的参数
运行粒子群高维聚类算法时,也要设定相关的参数:w一般取0.4到0.8,n1、n2一般取1.0到2.0,最大速度:vmax=0.2*xmax,最大位置xmax=max(xi)<每一维的最大值>,种群大小:n=20、30、40这些参数的设定也要根据具体的数据而定,具体的参数如表2:
表2实验设置proclus_clustering各参数
(1)表3是k-means算法、proclus_clustering算法以及克隆粒子群高维聚类算法(clone_pos_cluster)在wine数据集上聚类的征子空间,图2显示的是三个算法在wine数据集上的聚类结果。
表3各算法在wine数据集上聚类的特征子空间
从图2中可以看出,在wine数据集上,粒子群高维聚类算法的error_drgee的值最小,purity第二,ri也是第二,proclus_clustering算法所得的error_drgee值第二,purity和ri的值最大,效果最差的是k-means算法,并且从表5中可以看出,通过proclus_clustering算法和粒子群高维聚类算法(clone_pos_cluster)找到的最优解的维度都是8维,只是粒子群高维聚类算法每个类得维不一样,在这两个算法选出的维中共同含有的维度是:3、4、5、11,可以认为这几维在所有的维中比较重要,而k-means算法找到的最优解的维度是全维,即13维。从以上表和图中可以看出,克隆粒子群高维聚类算法所得解的聚类结果的错误率是最小的,聚类效果较好,而且特征子空间的维度也是最低的,在三个算法当中,proclus_clustering算法和粒子群高维聚类算法(clone_pos_cluster)所得的解是最好的,同时也说明,粒子群高维算法能够从一定程度上降低“维度灾”的影响,对高维数据聚类是有效的。
(2)表4是k-means算法、proclus_clustering算法以及克隆粒子群高维聚类算法(clone_pos_cluster)在ionosphere数据集上聚类的特征子空间,图3显示的是三个算法在ionosphere数据集上的聚类结果。
表4各算法在ionosphere数据集上聚类的特征子空间
从表4和图3中可以看出,在ionosphere数据集上,克隆粒子群高维聚类算法(clone_pos_cluster)所得解的purity值最打、ri值最大、error_drgee值最小;其次是k-means算法所得的解,效果最差的是proclus_clustering算法所得的解。proclus_clustering算法和克隆粒子群高维聚类算法都能把维度降到很低,但是clone_pos_cluster算法的错误率却更低,purity和ri更高,所以效果更好,很显然本粒子群高维数据聚类算法对降维是有效的,可以用于高维数据聚类。
(3)表5是k-means算法、proclus_clustering算法以及克隆粒子群高维聚类算法(clone_pos_cluster)在spambase数据集上聚类的特征子空间,图4显示的是三个算法在spambase数据集上的聚类结果。
表5各算法在spambase数据集上聚类的特征子空间
从表5和图4中可以看出,在spambase数据集上,粒子群高维聚类算法所得解的purity值最大、ri值最大、error_drgee值最小,效果最好;其次是proclus_clustering算法所得的解,效果最差的是k-means算法所得的解。gproclus_clustering算法和粒子群高维聚类算法对高维数据的优势显现出来了,又因为粒子群高维聚类算法的每个类的子空间的特征维可以不一样,所以能更准确的进行聚类,聚类效果要比proclus_clustering算法好。
k-means算法的聚类特征子空间维度是全维57维,proclus_clustering算法所得解的维度是每个类相同的13维,克隆粒子群高维聚类算法的维度是每个类不同的13维,相比较而言,clone_pos_cluster算法和proclus_clustering算法都大大地降低了数据集的维度,clone_pos_cluster算法却保持着更好的聚类效果,从这个角度讲,粒子群高维聚类算法所得解更优于k-means算法和proclus_clustering算法所得解。“维度灾”是由数据的维度高而引起的,因此,在保证聚类效果的前提下,是希望数据的维度越低越好。此实验也进一步证明了clone_pos_cluster算法对于高维数据聚类的可行性与有效性。
所以,对于以上三个算法的实验结果进行一个汇总,如下表:
表6不同算法实验结果汇总及对比
从上面两个图中可以看出,研究的克隆粒子群高维聚类算法(clone_pos_cluster)对维数为13的wine数据集,没有其他两种算法好,但是对维度为34的ionosphere数据集和维度为57的spambase数据集都取得了很好的效果,clone_pos_cluster算法大大地降低了数据集的维度,却保持着一样的聚类效果,从这个角度讲,粒子群高维聚类算法所得解更优于k-means算法所得解,也比proclus_clustering算法略优。
综上所述,不管是在人工数据上,还是在真实数据上,purity、ri、error_drgee三个衡量指标对其实验结果的评价,都说明了研究提出的算法对于高维数据聚类是有效的,能在一定程度上降低“维度灾”的影响。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。