一种两阶段混合粒子群优化聚类方法

文档序号:6368008阅读:180来源:国知局
专利名称:一种两阶段混合粒子群优化聚类方法
技术领域
本发明属于计算机技术领域,更进ー步涉及数据挖掘技术领域一种两阶段混合粒子群优化聚类方法,本发明可以广泛应用于数据压缩、信息检索、字符识别、图像分割与文本聚类等,同时可在生物学、市场营销和异常数据检测等方面有广泛的应用。
背景技术
聚类分析是数据挖掘中一种数据划分或分组处理的重要手段和方法。它无需任何先验知识,通过一定的相似性度量准则,把相似的样本归为ー个类簇,聚类的目的是使同一类簇内样本相似度较大,不同类簇之间样本相似度较小。在生物学方面,聚类分析可以用来对生物的基因进行聚类,从而获得对生物种群中ー些固有结构的认识,还能用于植物和 动物的分类;在商业数据分析方面,聚类技术被用来从客户信息库中发现不同的客户群的特征,能帮助市场销售人员准确掌握市场变化情况,及时调整销售策略;在图像处理方面,聚类可以直接用于进行初步图像分割;另外,聚类也能用于对网络上的大量文档进行分类;聚类分析也可以作为分类算法或者其他算法的预处理步骤,经聚类得到未标记样本的类别信息,然后利用这些标记样本作为训练样本创建分类器。聚类算法大体上可以分为划分方法、层次方法、基于密度的方法、基于网格的方法和基于模型的方法,其中划分方法和层次方法最为常用。层次方法是对给定的数据集合进行层次的分解。根据层次分解如何形成,层次方法又可以分为凝聚的和分裂的两种。层次方法具有两个基本优点簇的数目不需要事先确定,它与初始条件是相互独立的。层次方法的缺陷在于它是ー种静态的聚类方法,已做的合并或分裂操作不能被撤销,簇之间也不能交換数据对象,在某步没有选择好合并或分裂点的情况下,可能会导致低质量的聚类結果。如凝聚层次聚类算法在后期的后井中由于前期错误累积等原因容易将非同类子簇错误合并到一起。由于进行合并或分裂操作需要捜索和估算大量的对象或簇,使得层次方法的可伸縮性较差,同时由于缺乏关于全局状态或簇的规模等信息,该方法可能对有重叠的簇的 划分失效。划分方法则通过迭代重定位策略优化特定的目标函数,尝试确定数据集的ー个划分。划分方法主要有K均值和K中心点两种类型。K均值算法对处理大数据集是相对可伸缩的和高效的,K中心点算法能在一定程度上消除K均值算法对孤立点的敏感性。划分方法一般要求事先给定簇的个数,并且对初始值和噪声数据敏感。由于划分方法基于对象间的距离和对某种标准的优化进行聚类,这种方法只能发现球状簇而不能发现任意形状的簇,同时算法极易陷入局部最优。通过以上分析可以看出,层次方法和划分方法的优缺点交错对应,还没有ー种方法能同时具有它们的优点。粒子群优化(particle swarm optimization, PS0)算法是一种基于群体智能的全局寻优算法,由于该算法收敛速度快,需要设定的參数少,且编程实现简単,多数情况下比遗传算法更快地收敛于最优解,而且可以避免完全随机寻优的退化现象。最近,研究人员结合PSO的优点,提出了多种行之有效的粒子群优化聚类算法,大大降低了聚类结果对初始聚类中心的敏感性。
陶新民、徐晶等人在“一种改进的粒子群和K均值混合聚类算法”中提出了ー种改进的粒子群优化和K均值混合聚类算法(《电子与信息学报》,2010年I期,32(1))。该算法在运行过程中通过引入小概率随机变异操作增强种群的多祥性,提高了混合聚类算法全局捜索能力,并根据群体适应度方差来确定K均值算法操作时机,增强算法局部精确搜索能力的同时缩短了收敛时间。中科院半导体研究所申请的专利“ー种基于特征分析的粒子群聚类方法”(申请公布号CN 101894294A,申请号200910084161. 2)公开了ー种基于特征分析的粒子群聚类方法。该方法主要将原空间的数据点集的聚类转换为对特征空间的新点集通过粒子群方法进行聚类,克服了需手动挑选合适特征的麻烦,对变换到特征空间的点作出进ー步处理,比如尺度变换、归ー化处理等操作,有利于后续优化方法的应用。但其仍然存在的缺点是,核函数类型及其參数值需要人为选择,矩阵特征变换需要额外消耗时间。上述已有的粒子群优化聚类算法在粒子编码时都直接对m个聚类中心的d维样本向量进行编码,当样本维数较大吋,计算量较大,且在进化过程中d维样本的值在一定范围内变化时可能会取到不符合样本实际情况的数值而出现空簇。由于各维的取值范围可能变化较大,造成粒子群捜索空间过大,在有限次迭代搜索时会影响算法的收敛速度和聚类效果O

发明内容
本发明针对上述现有技术的缺点与不足,提出了一种两阶段混合粒子群优化聚类方法。本发明实现的具体思路是首先计算经过样本属性规范化处理的数据集的相异度矩阵,将聚类对象间的距离进行排序来避免合并类时重新计算类间距离,降低算法的计算复杂性。通过统计当前迭代层次下各个子簇的与其他子簇的平均相异度来指导类簇的合并。利用第一阶段聚类层次凝聚聚类获得准确率较高的初始聚类中心子簇集合作为粒子群优化K均值聚类算法初始聚类中心的捜索空间进行第二阶段聚类,将未被选作聚类中心的子簇全部打散重新进行划分聚类,从而克服层次聚类算法的某一次合并或分裂后不能更改对象所属的类的缺点,并且减小了粒子群优化K均值聚类对初始聚类中心随机选择敏感及容易陷入局部最优的问题,提高聚类的准确率。本发明提出了一种简化的粒子编码方式,结合新的粒子编码方式和前期已经计算获得的相异度矩阵,采用了最小化所有样本与类簇中心距离作为适应度函数进行粒子群优化K均值聚类,本发明方法融合了层次凝聚聚类、K均值聚类和粒子群优化方法的优点,解决当数据样本维数过高时粒子群优化K均值算法计算复杂度较大的问题,提高了全局收敛能力和聚类结果的准确率。本发明实现的具体步骤包括如下(I)读入数据集和聚类个数K ;(2)统计维度信息计算机遍历数据集所有样本,统计数据集各维的取值范围信息,获得数据集各维属性取值范围的最大值与最小值;(3)维度规范化 对数据样本各维属性值采用规范化公式进行处理,将数据集所有样本各维属性值映射到[O, I]区间;(4)计算相似度矩阵对所有样本采用欧式距离公式计算两两之间的相异度值,生成数据集各样本之间的相异度矩阵;(5)生成候选初始聚类中心5a)将所有样本看作一个子簇,加入当前轮子簇列表中,根据步骤(4)中获得的相互之间的相异度降序排序;
5b)按照平均相异度公式计算当前轮子簇列表中每个子簇与数据集其他子簇之间的平均相异度值;5c)对排序后的子簇对进行合并,若子簇对之间的相异度同时小于子簇对中两个子簇的平均相异度值,则将这两个子簇进行合井,加入到新一轮子簇列表中,否则将这两个子簇加入新一轮子簇列表中;5d)判断新一轮子簇列表中子簇的数目是否小于等于预定数目,若是,则停止迭代,输出生成的新一轮子簇列表中的子簇作为候选初始聚类中心;否则返回5b)继续进行层次凝聚聚类;(6)粒子群K均值划分聚类6a)采用粒子编码方式对选择的新一轮子簇列表中的子簇中的候选初始聚类中心子簇进行编码;6b)设定粒子种群中粒子的数目及最大迭代次数、整个粒子种群的位置和速度的捜索空间范围,设定每个粒子的初始位置和速度;6c)根据当前粒子编码位置各维的值获得初始聚类中心子簇的序号,采用K均值划分方法对数据集进行划分聚类,获得数据集的聚类结果;6d)根据适应度值公式,对数据集聚类结果计算粒子的适应度值;6e)判断当前粒子适应度值与该粒子的最优适应度值的大小,若小于则将该粒子最优适应度值用当前粒子适应度值替换,将该粒子最优位置用当前粒子位置替换,否则不变;6f)判断当前粒子适应度值与粒子种群的最优适应度值的大小,若小于则将粒子种群最优适应度值用当前粒子适应度值替换,将粒子种群最优位置用当前粒子位置替换,否则不变;6g)根据粒子速度更新公式更新粒子速度;6h)根据粒子位置更新公式更新粒子位置;6i)判断粒子群优化迭代次数是否到达预设的最大迭代次数,若是,则停止迭代,执行步骤(7);否则,返回6c)继续进行计算;(7)输出粒子种群最优适应度值和对应的数据集类簇划分結果。本发明与现有技术相比具有如下优点第一,本发明在进行数据聚类时,采用凝聚层次聚类对数据样本进行第一阶段聚类,从而获得大于聚类个数K若干倍的质量较高的候选初始聚类子簇集合,在凝聚合并时通过比较子簇对的相异度值与两个子簇的平均相异度决定是否将其合并,克服了现有技术层次聚类算法在聚类后期容易将非同类子簇错误合并到一起的缺点,使得本发明排除了噪声数据对聚类结果的影响,提高了聚类的准确率。第二,本发明在选择K均值聚类的初始聚类中心时,采用第一个阶段利用层次凝聚聚类获得质量较高的初始聚类中心子簇集合作为粒子群优化K均值聚类算法初始聚类中心的捜索空间,然后通过粒子群优化K均值聚类对数据进行聚类,将未被选作聚类中心的子簇中的样本全部打散重新进行划分聚类,克服了现有技术层次聚类算法某一次合并后不能更改对象所属的类的缺点,减小了初始聚类中心的选择范围,降低了 K均值聚类对初始聚类中心随机选择敏感性,提高了方法的全局收敛能力,解决了现有技术中K均值算法容易陷入局部最优的问题,使得本发明提高了聚类的准确率。第三,本发明在粒子群优化K均值聚类时,将第一阶段基于层次凝聚聚类算法中获得数据集子簇按I到子簇列表中子簇的数目数分配ー个整数序号,直接根据编号选择聚类个数K个子簇作为粒子的初始聚类中心,提出了一种将选择的初始聚类中心子簇序号直接进行编码的简化的粒子编码方式用来进行粒子群优化搜索,克服了已有粒子群聚类算法编码方式当样本维数较大时计算量较大,及在粒子位置更新过程中样本各维的值在一定范 围内变化时可能会取到不符合样本实际情况的数值而出现空簇的缺点。由于各维的取值范围可能变化较大,造成粒子群捜索空间过大,在有限次迭代搜索时会影响算法的全局收敛性。结合本发明提出的简化的粒子编码方式和前期已经计算获得的相异度矩阵进行粒子群优化K均值聚类,采用了最小化所有样本与类簇中心距离作为适应度函数。克服了现有技术粒子群优化K均值聚类方法当数据样本维数过高时计算复杂度较大、耗时较长的问题,使得本发明提高了全局收敛能力。


图I是本发明的流程图;图2是本发明步骤5获得的候选初始聚类中心子簇的准确率示意图;图3是本发明在数据集Iris上的适应度收敛曲线仿真示意图;图4是本发明在数据集Wine上的适应度收敛曲线仿真示意图;图5是本发明在数据集Glass上的适应度收敛曲线仿真示意图。
具体实施例方式下面结合附图对本发明进行详细说明。參照图1,本发明实现的具体步骤如下步骤IJAUCI数据库测试数据集IriS、Wine和Glass中任意选择ー个数据集,计算机读取这个数据集所有样本数据载入内存,每条样本数据由若干维组成。读入聚类个数K的值。步骤2、统计维度信息计算机遍历数据集所有样本,统计数据集各维的取值范围信息,获得数据集各维属性取值范围的最大值与最小值。步骤3、维度规范化对数据样本各维属性值采用规范化公式进行处理,将数据集所有样本各维属性值映射到
区间,样本维度规范化公式如下
权利要求
1.一种两阶段混合粒子群优化聚类方法,包括如下步骤 (1)读入数据集和聚类个数K; (2)统计维度信息 计算机遍历数据集所有样本,统计数据集各维的取值范围信息,获得数据集各维属性取值范围的最大值与最小值; (3)维度规范化 对数据样本各维属性值采用规范化公式进行处理,将数据集所有样本各维属性值映射到
区间; (4)计算相似度矩阵 对所有样本采用欧式距离公式计算两两之间的相异度值,生成数据集各样本之间的相异度矩阵; (5)生成候选初始聚类中心 5a)将所有样本看作一个子簇,加入当前轮子簇列表中,根据步骤(4)中获得的相互之间的相异度降序排序; 5b)按照平均相异度公式计算当前轮子簇列表中每个子簇与数据集其他子簇之间的平均相异度值; 5c)对排序后的子簇对进行合并,若子簇对之间的相异度同时小于子簇对中两个子簇的平均相异度值,则将这两个子簇进行合并,加入到新一轮子簇列表中,否则将这两个子簇加入新一轮子簇列表中; 5d)判断新一轮子簇列表中子簇的数目是否小于等于预定数目,若是,则停止迭代,输出生成的新一轮子簇列表中的子簇作为候选初始聚类中心;否则返回5b)继续进行层次凝聚聚类; (6)粒子群K均值划分聚类 6a)采用粒子编码方式对选择的新一轮子簇列表中的子簇中的候选初始聚类中心子簇进行编码; 6b)设定粒子种群中粒子的数目及最大迭代次数、整个粒子种群的位置和速度的捜索空间范围,设定每个粒子的初始位置和速度; 6c)根据当前粒子编码位置各维的值获得初始聚类中心子簇的序号,采用K均值划分方法对数据集进行划分聚类,获得数据集的聚类结果; 6d)根据适应度值公式,对数据集聚类结果计算粒子的适应度值; 6e)判断当前粒子适应度值与该粒子的最优适应度值的大小,若小于则将该粒子最优适应度值用当前粒子适应度值替换,将该粒子最优位置用当前粒子位置替换,否则不变; 6f)判断当前粒子适应度值与粒子种群的最优适应度值的大小,若小于则将粒子种群最优适应度值用当前粒子适应度值替换,将粒子种群最优位置用当前粒子位置替换,否则不变; 6g)根据粒子速度更新公式更新粒子速度; 6h)根据粒子位置更新公式更新粒子位置; 6i)判断粒子群优化迭代次数是否到达预设的最大迭代次数,若是,则停止迭代,执行步骤(7);否则,返回6c)继续进行计算;(7)输出粒子种群最优适应度值和对应的数据集类簇划分結果。
2.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤(3)所述的规范化公式如下
3.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤5b)所述的平均相异度公式定义如下
4.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤5d)所述的本发明设定的停止迭代计算的条件为新ー轮子簇列表中子簇的数目为小于或等于聚类个数值K的3-8倍。
5.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤6a)中所述的粒子编码方式是,为新一轮子簇列表中的子簇按I到子簇列表中子簇的数目数分配一个整数序号,粒子群编码维数为聚类个数值K,选择聚类个数值的子簇作为粒子的初始聚类中心,用其序号进行编码,粒子编码的第i维的值为选择的某一候选聚类中心子簇的序号。
6.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤6b)所述的粒子种群中粒子的数目取值范围为5-10个;最大迭代次数取值范围20-100次;整个粒子种群粒子的位置的捜索空间取值范围为I与子簇列表中子簇的数目数之间;整个粒子种群粒子的最大捜索速度取值范围为ι- ο ;每个粒子的初始位置为整个种群粒子位置的搜索范围上限值减去下限值然后乘以ー个O到I之间的随机值,再加上下限值;初始速度为粒子种群最大捜索速度乘以ー个O到I之间的随机值。
7.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤6c)中所述的K均值划分方法采用以下步骤进行计算 第一歩.根据粒子编码位置各维中包含的初始聚类中心子簇序号初始化聚类个数值K个聚类中心,若编码中某ー维值不是整数,则进行四舍五入取整; 第二步.计算样本d与K个聚类中心的相异度值,按照如下公式计算样本d与类簇C之间的相异度
8.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤6d)所述的适应度值公式如下
9.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤6g)所述的粒子速度更新公式如下 Vid (t+Ι) = ω vid(t)+c1 a (pid (t) _xid (t))+C2 β (pgd (t) _xid (t)) 其中,vid(t+l)为第i个粒子第d维在第t+Ι次迭代粒子的速度,t为当前迭代的次数,t= 1,2..., Gmax, Gmax 为最大迭代次数;ω 为惯性权重
10.根据权利I所述的ー种两阶段混合粒子群优化聚类方法,其特征在于,步骤6h)所述的粒子位置更新公式如下 xid (t+1) = xid (t)+vid (t+1) 其中,xid(t+1)为第i个粒子第d维在第t+Ι次迭代粒子的位置,t为当前迭代的次数,t = 1,2... ,Gmax7Gmax为最大迭代次数;xid(t)为第i个粒子第d维在第t次迭代粒子的位置;vid(t+l)为第i个粒子第d维在第t+Ι次迭代粒子的速度;当xid(t+l)的值不在整个粒子种群粒子位置的捜索空间内时,将xid(t+l)的值置为整个种群粒子位置的捜索范围上限值减去下限值然后乘以ー个O到I之间的随机值,再加上下限值。
全文摘要
一种两阶段混合粒子群优化聚类方法,主要解决现有粒子群优化K均值聚类方法当样本维数较高时消耗时间较多,且准确率不高的问题。本发明的技术方案为(1)读入数据集和聚类个数K;(2)统计维度信息;(3)维度规范化;(4)计算相似度矩阵;(5)生成候选初始聚类中心;(6)粒子群K均值划分聚类;(7)输出粒子种群最优适应度值和对应的数据集类簇划分结果。本发明首先采用凝聚层次聚类进行第一阶段聚类,提出了一种简化的粒子编码方式,通过粒子群优化K均值聚类对数据进行第二阶段聚类,融合了层次凝聚、K均值和粒子群优化方法的优点,加快了聚类速度,提高了方法的全局收敛能力和聚类结果的准确率。
文档编号G06F17/30GK102663100SQ20121010914
公开日2012年9月12日 申请日期2012年4月13日 优先权日2012年4月13日
发明者刘志镜, 刘慧 , 唐国良, 姚勇, 屈鉴铭, 熊静, 王纵虎, 王静, 王韦桦, 袁通, 贺文骅, 陈东辉 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1