CN102663100B - 一种两阶段混合粒子群优化聚类方法 - Google Patents
一种两阶段混合粒子群优化聚类方法 Download PDFInfo
- Publication number
- CN102663100B CN102663100B CN201210109141.8A CN201210109141A CN102663100B CN 102663100 B CN102663100 B CN 102663100B CN 201210109141 A CN201210109141 A CN 201210109141A CN 102663100 B CN102663100 B CN 102663100B
- Authority
- CN
- China
- Prior art keywords
- particle
- value
- submanifold
- sample
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种两阶段混合粒子群优化聚类方法,主要解决现有粒子群优化K均值聚类方法当样本维数较高时消耗时间较多,且准确率不高的问题。本发明的技术方案为:(1)读入数据集和聚类个数K;(2)统计维度信息;(3)维度规范化;(4)计算相似度矩阵;(5)生成候选初始聚类中心;(6)粒子群K均值划分聚类;(7)输出粒子种群最优适应度值和对应的数据集类簇划分结果。本发明首先采用凝聚层次聚类进行第一阶段聚类,提出了一种简化的粒子编码方式,通过粒子群优化K均值聚类对数据进行第二阶段聚类,融合了层次凝聚、K均值和粒子群优化方法的优点,加快了聚类速度,提高了方法的全局收敛能力和聚类结果的准确率。
Description
技术领域
本发明属于计算机技术领域,更进一步涉及数据挖掘技术领域一种两阶段混合粒子群优化聚类方法,本发明可以广泛应用于数据压缩、信息检索、字符识别、图像分割与文本聚类等,同时可在生物学、市场营销和异常数据检测等方面有广泛的应用。
背景技术
聚类分析是数据挖掘中一种数据划分或分组处理的重要手段和方法。它无需任何先验知识,通过一定的相似性度量准则,把相似的样本归为一个类簇,聚类的目的是使同一类簇内样本相似度较大,不同类簇之间样本相似度较小。在生物学方面,聚类分析可以用来对生物的基因进行聚类,从而获得对生物种群中一些固有结构的认识,还能用于植物和动物的分类;在商业数据分析方面,聚类技术被用来从客户信息库中发现不同的客户群的特征,能帮助市场销售人员准确掌握市场变化情况,及时调整销售策略;在图像处理方面,聚类可以直接用于进行初步图像分割;另外,聚类也能用于对网络上的大量文档进行分类;聚类分析也可以作为分类算法或者其他算法的预处理步骤,经聚类得到未标记样本的类别信息,然后利用这些标记样本作为训练样本创建分类器。
聚类算法大体上可以分为划分方法、层次方法、基于密度的方法、基于网格的方法和基于模型的方法,其中划分方法和层次方法最为常用。层次方法是对给定的数据集合进行层次的分解。根据层次分解如何形成,层次方法又可以分为凝聚的和***的两种。层次方法具有两个基本优点:簇的数目不需要事先确定,它与初始条件是相互独立的。层次方法的缺陷在于:它是一种静态的聚类方法,已做的合并或***操作不能被撤销,簇之间也不能交换数据对象,在某步没有选择好合并或***点的情况下,可能会导致低质量的聚类结果。如凝聚层次聚类算法在后期的后并中由于前期错误累积等原因容易将非同类子簇错误合并到一起。由于进行合并或***操作需要搜索和估算大量的对象或簇,使得层次方法的可伸缩性较差,同时由于缺乏关于全局状态或簇的规模等信息,该方法可能对有重叠的簇的划分失效。划分方法则通过迭代重定位策略优化特定的目标函数,尝试确定数据集的一个划分。划分方法主要有K均值和K中心点两种类型。K均值算法对处理大数据集是相对可伸缩的和高效的,K中心点算法能在一定程度上消除K均值算法对孤立点的敏感性。划分方法一般要求事先给定簇的个数,并且对初始值和噪声数据敏感。由于划分方法基于对象间的距离和对某种标准的优化进行聚类,这种方法只能发现球状簇而不能发现任意形状的簇,同时算法极易陷入局部最优。通过以上分析可以看出,层次方法和划分方法的优缺点交错对应,还没有一种方法能同时具有它们的优点。
粒子群优化(particle swarm optimization,PSO)算法是一种基于群体智能的全局寻优算法,由于该算法收敛速度快,需要设定的参数少,且编程实现简单,多数情况下比遗传算法更快地收敛于最优解,而且可以避免完全随机寻优的退化现象。最近,研究人员结合PSO的优点,提出了多种行之有效的粒子群优化聚类算法,大大降低了聚类结果对初始聚类中心的敏感性。
陶新民、徐晶等人在“一种改进的粒子群和K均值混合聚类算法”中提出了一种改进的粒子群优化和K均值混合聚类算法(《电子与信息学报》,2010年1期,32(1))。该算法在运行过程中通过引入小概率随机变异操作增强种群的多样性,提高了混合聚类算法全局搜索能力,并根据群体适应度方差来确定K均值算法操作时机,增强算法局部精确搜索能力的同时缩短了收敛时间。
中科院半导体研究所申请的专利“一种基于特征分析的粒子群聚类方法”(申请公布号:CN 101894294A,申请号:200910084161.2)公开了一种基于特征分析的粒子群聚类方法。该方法主要将原空间的数据点集的聚类转换为对特征空间的新点集通过粒子群方法进行聚类,克服了需手动挑选合适特征的麻烦,对变换到特征空间的点作出进一步处理,比如尺度变换、归一化处理等操作,有利于后续优化方法的应用。但其仍然存在的缺点是,核函数类型及其参数值需要人为选择,矩阵特征变换需要额外消耗时间。
上述已有的粒子群优化聚类算法在粒子编码时都直接对m个聚类中心的d维样本向量进行编码,当样本维数较大时,计算量较大,且在进化过程中d维样本的值在一定范围内变化时可能会取到不符合样本实际情况的数值而出现空簇。由于各维的取值范围可能变化较大,造成粒子群搜索空间过大,在有限次迭代搜索时会影响算法的收敛速度和聚类效果。
发明内容
本发明针对上述现有技术的缺点与不足,提出了一种两阶段混合粒子群优化聚类方法。
本发明实现的具体思路是:首先计算经过样本属性规范化处理的数据集的相异度矩阵,将聚类对象间的距离进行排序来避免合并类时重新计算类间距离,降低算法的计算复杂性。通过统计当前迭代层次下各个子簇的与其他子簇的平均相异度来指导类簇的合并。利用第一阶段聚类层次凝聚聚类获得准确率较高的初始聚类中心子簇集合作为粒子群优化K均值聚类算法初始聚类中心的搜索空间进行第二阶段聚类,将未被选作聚类中心的子簇全部打散重新进行划分聚类,从而克服层次聚类算法的某一次合并或***后不能更改对象所属的类的缺点,并且减小了粒子群优化K均值聚类对初始聚类中心随机选择敏感及容易陷入局部最优的问题,提高聚类的准确率。本发明提出了一种简化的粒子编码方式,结合新的粒子编码方式和前期已经计算获得的相异度矩阵,采用了最小化所有样本与类簇中心距离作为适应度函数进行粒子群优化K均值聚类,本发明方法融合了层次凝聚聚类、K均值聚类和粒子群优化方法的优点,解决当数据样本维数过高时粒子群优化K均值算法计算复杂度较大的问题,提高了全局收敛能力和聚类结果的准确率。
本发明实现的具体步骤包括如下:
(1)读入数据集和聚类个数K;
(2)统计维度信息
计算机遍历数据集所有样本,统计数据集各维的取值范围信息,获得数据集各维属性取值范围的最大值与最小值;
(3)维度规范化
对数据样本各维属性值采用规范化公式进行处理,将数据集所有样本各维属性值映射到[0,1]区间;
(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均值聚类时,将第一阶段基于层次凝聚聚类算法中获得数据集子簇按1到子簇列表中子簇的数目数分配一个整数序号,直接根据编号选择聚类个数K个子簇作为粒子的初始聚类中心,提出了一种将选择的初始聚类中心子簇序号直接进行编码的简化的粒子编码方式用来进行粒子群优化搜索,克服了已有粒子群聚类算法编码方式当样本维数较大时计算量较大,及在粒子位置更新过程中样本各维的值在一定范围内变化时可能会取到不符合样本实际情况的数值而出现空簇的缺点。由于各维的取值范围可能变化较大,造成粒子群搜索空间过大,在有限次迭代搜索时会影响算法的全局收敛性。结合本发明提出的简化的粒子编码方式和前期已经计算获得的相异度矩阵进行粒子群优化K均值聚类,采用了最小化所有样本与类簇中心距离作为适应度函数。克服了现有技术粒子群优化K均值聚类方法当数据样本维数过高时计算复杂度较大、耗时较长的问题,使得本发明提高了全局收敛能力。
附图说明
图1是本发明的流程图;
图2是本发明步骤5获得的候选初始聚类中心子簇的准确率示意图;
图3是本发明在数据集Iris上的适应度收敛曲线仿真示意图;
图4是本发明在数据集Wine上的适应度收敛曲线仿真示意图;
图5是本发明在数据集Glass上的适应度收敛曲线仿真示意图。
具体实施方式
下面结合附图对本发明进行详细说明。
参照图1,本发明实现的具体步骤如下:
步骤1、从UCI数据库测试数据集:Iris、Wine和Glass中任意选择一个数据集,计算机读取这个数据集所有样本数据载入内存,每条样本数据由若干维组成。读入聚类个数K的值。
步骤2、统计维度信息
计算机遍历数据集所有样本,统计数据集各维的取值范围信息,获得数据集各维属性取值范围的最大值与最小值。
步骤3、维度规范化
对数据样本各维属性值采用规范化公式进行处理,将数据集所有样本各维属性值映射到[0,1]区间,样本维度规范化公式如下:
其中,f′为样本某一维属性经过规范化后映射到[0,1]范围内的值,f为样本某一维属性原始值,minf为数据集中样本某一维属性f的最小值,maxf为数据集中样本某一维属性f的最大值。
步骤4、计算相似度矩阵
对所有样本采用欧式距离公式计算两两之间的相异度值,生成数据集各样本之间的相异度矩阵。
步骤5、生成候选初始聚类中心
5a)将所有样本看作一个子簇,加入当前轮子簇列表中,根据步骤(4)中获得的相互之间的相异度降序排序;
5b)按照平均相异度公式计算当前轮子簇列表中每个子簇与数据集其他子簇之间的平均相异度值,平均相异度公式定义如下:
其中,D为数据集第k个子簇的平均相异度值,m为子簇k中样本的数目,n为数据集中所有样本的数目,s(i,j)为数据集中样本i与样本j之间的相异度;
5c)对排序后的子簇对进行合并,若子簇对之间的相异度同时小于子簇对中两个子簇的平均相异度值,则将这两个子簇进行合并,加入到新一轮子簇列表中,否则将这两个子簇加入新一轮子簇列表中;
5d)判断新一轮子簇列表中子簇的数目是否小于等于预定数目,若是,则停止迭代,输出生成的新一轮子簇列表中的子簇作为候选初始聚类中心;否则返回5b)继续进行层次凝聚聚类;本发明设定的停止迭代计算的条件为新一轮子簇列表中子簇的数目为小于或等于聚类个数值K的3-8倍,本发明的实施例中设定的停止迭代计算的条件为新一轮子簇列表中子簇的数目为小于等于聚类个数值K的5倍。
图2是三个测试数据集第一阶段层次凝聚聚类方法获得的候选初始聚类中心子簇的数目与聚类结果子簇的准确率对应变化示意图。图2中三条曲线分别表示,从UCI数据库选择的Wine、Iris、Glass数据集,通过层次凝聚聚类方法获得的候选初始聚类中心子簇的数目与聚类结果子簇的准确率对应变化曲线,图2中三条曲线上的圆点表示层次凝聚迭代的次数。从图2中可以看出,Iris和Wine数据集进行了四次层次凝聚迭代,Glass进行了三次层次凝聚迭代,最后三个数据集生成的子簇数目分别为10,12和28个,而子簇的准确率分别为0.9292,0.9042和0.851,在子簇数目压缩合并后仍获得了较高的准确率,可见本发明提出的基于层次凝聚的初始聚类中心生成算法是有效的,较好地压缩了下一步粒子群优化K均值聚类时初始聚类中心的搜索范围,能提供准确率较高的候选初始聚类中心子簇集合。
步骤6、粒子群K均值划分聚类
6a)采用粒子编码方式对选择的新一轮子簇列表中的子簇中的候选初始聚类中心子簇进行编码,粒子编码方式是,为新一轮子簇列表中的子簇按1到子簇列表中子簇的数目数分配一个整数序号,粒子群编码维数为输入的聚类个数值,选择输入的聚类个数值的子簇作为粒子的初始聚类中心,将其序号进行编码,粒子编码的第i维的值为选择的某一候选聚类中心子簇的序号。已有粒子群聚类算法都采用基于聚类中心的编码方式,也就是每个粒子的位置是由m个聚类中心组成(m为输入的聚类个数值),粒子除了位置之外,还有速度和适应值。由于样本向量维数为d,因此粒子的位置是m×d维变量,所以粒子的速度也应当是m×d维变量,每个粒子还有一个适应度Y。这样,粒子采用以下的编码结构:
Z11Z12...Z1dZ21Z22...Z2d...Zm1Zm2...Zmd | V1V2...Vm×d | Y |
已有粒子群聚类算法编码方式当样本维数较大时,计算量较大,且在粒子位置更新过程中样本各维的值在一定范围内变化时可能会取到不符合样本实际情况的数值而出现空簇。由于各维的取值范围可能变化较大,造成粒子群搜索空间过大,在有限次迭代搜索时会影响算法的全局收敛性。与已有粒子群聚类算法编码方式不同,本发明将第一阶段基于层次凝聚聚类算法中获得数据集子簇按1到子簇列表中子簇的数目数分配一个整数序号,直接根据序号选择m个子簇作为粒子的初始聚类中心。在聚类过程中,通过根据编号直接从相异度矩阵中查找相异度值来计算样本和聚类中心的距离,消除了样本维数对粒子群优化K均值聚类算法的影响,降低了计算复杂度。提出的简化的粒子编码结构如下:
Z1 Z2 Z3...Zm | V1 V2...Vm | Y |
6b)设定粒子种群中粒子的数目及最大迭代次数、整个粒子种群的位置和速度的搜索空间范围,设定每个粒子的初始化位置和速度。粒子种群中粒子的数目取值范围为5-10个;最大迭代次数取值范围20-100次;整个粒子种群粒子的位置的搜索空间取值范围为1与子簇列表中子簇的数目数之间;整个粒子种群粒子的最大搜索速度取值范围为1-10;每个粒子的初始化位置为子簇列表中子簇的数目数乘以一个0到1之间的随机值;初始化速度为粒子种群最大搜索速度乘以一个0到1之间的随机值。本发明的实施例中粒子种群中粒子的数目取值为5个;最大迭代次数取值为50次;整个粒子种群粒子的位置的搜索空间取值范围为1与子簇列表中子簇的数目数之间;整个粒子种群最大搜索速度为1;每个粒子的初始速度为粒子种群最大搜索速度乘以一个0到1之间的随机值;初始位置为整个种群粒子的位置的搜索范围上限值减去下限值然后乘以一个0到1之间的随机值,再加上下限值。
6c)根据当前粒子编码位置各维的值获得初始聚类中心子簇的序号,采用K均值划分方法对数据集进行划分聚类,获得数据集的聚类结果。K均值划分方法采用以下步骤进行计算:
第一步.根据粒子编码位置各维中包含的初始聚类中心子簇序号初始化聚类个数值K个聚类中心,若编码中某一维值不是整数,则进行四舍五入取整;
第二步.计算样本d与K个聚类中心的相异度值,按照如下公式计算样本d与类簇C之间的相异度:
其中,S(d,C)为样本d与类簇C之间的相异度,n为类簇C中样本的个数,s(d,k)为数据集中样本d与类簇C中的样本k之间的相异度值;
第三步.将样本d与K个类簇中心的相异度值按降序排序,找出与样本d相异度值最小的类簇,将样本d划分到相异度值最小的类簇中;
第四步.判断数据集中是否还有样本未划分类簇,若是,则返回第二步,否则,输出聚类结果;
6d)根据适应度值公式,对数据集聚类结果计算粒子的适应度值,适应度值公式如下:
其中,Y为数据集聚类结果的适应度值,m为数据集类簇的数目,r代表第r个类簇,第一个求和符号∑表示对所有类簇求和;n为第r个类簇中的样本总数,i为第r个类簇中的样本i,第二个求和符号∑表示对第r个类簇中所有样本求和;j为第r个类簇中的样本j,s(i,j)为样本i与样本j之间的相异度值,第三个求和符号∑表示对样本i与类簇r中所有样本的相异度求和;
6e)判断当前粒子适应度值与该粒子的最优适应度值的大小,若小于则将该粒子最优适应度值用当前粒子适应度值替换,将该粒子最优位置用当前粒子位置替换,否则不变;
6f)判断当前粒子适应度值与粒子种群的最优适应度值的大小,若小于则将粒子种群最优适应度值用当前粒子适应度值替换,将粒子种群最优位置用当前粒子位置替换,否则不变;
6g)根据粒子速度更新公式更新粒子速度,粒子速度更新公式如下:
vid(t+1)=ωvid(t)+c1α(pid(t)-xid(t))+c2β(pgd(t)-xid(t))
其中,vid(t+1)为第i个粒子第d维在第t+1次迭代粒子的速度,t为当前迭代的次数,t=1,2...,Gmax,Gmax为最大迭代次数;ω为惯性权重:c1与c2为调节pid(t)和pgd(t)权重的学习因子,取值范围为1.5-2;α和β为0到1之间的随机数;pid(t)为第i个粒子第d维在第t次迭代的当前粒子最优位置;pgd(t)为粒子种群第d维在第t次迭代的所有粒子的最优位置;vid(t)为第i个粒子第d维在第t次迭代粒子的速度,当vid(t+1)的值的绝对值大于整个粒子种群粒子的最大搜索速度时,将vid(t+1)的绝对值置为整个粒子种群粒子的最大搜索速度乘以一个0到1之间的随机值,速度方向与vid(t+1)同正负;
6h)根据粒子位置更新公式更新粒子位置,粒子位置更新公式如下:
xid(t+1)=xid(t)+vid(t+1)
其中,xid(t+1)为第i个粒子第d维在第t+1次迭代粒子的位置,t为当前迭代的次数,t=1,2...,Gmax,Gmax为最大迭代次数;xid(t)为第i个粒子第d维在第t次迭代粒子的位置;vid(t+1)为第i个粒子第d维在第t+1次迭代粒子的速度;当xid(t+1)的值不在整个粒子种群粒子位置的搜索空间内时,将xid(t+1)的值置为整个种群粒子位置的搜索范围上限值减去下限值然后乘以一个0到1之间的随机值,再加上下限值;
6i)判断粒子群优化迭代次数是否到达预设的最大迭代次数,若是,则停止迭代,执行步骤(7);否则,返回6c)继续进行计算。
步骤7、输出粒子种群最优适应度值和对应的数据集类簇划分结果。
本发明的效果可以通过以下仿真实验作进一步说明。
1、仿真条件
本发明的仿真是在主频2.5GHZ的Pentium Dual_Core CPU E5200、内存2GB的硬件环境和Visual Studio 2010的开发环境下,用C#语言实现的***进行的。实验所用到的数据来源于UCI数据库的3组真实数据集:Iris、Wine和Glass,它们经常被用来检验聚类方法的有效性。Iris数据集样本的4个特征分别表示Iris数据的花瓣长度、花瓣宽度、萼片长度和萼片宽度。Wine数据集由3类共178个样本组成,每个样本有13个属性。Glass数据集每个样本含有9个特征,共6类,每类包含样本的数目相差较大。数据集详细信息如下表所示:
数据集 | 样本数 | 类别数 | 属性数 | 类别分布 |
Iris | 150 | 3 | 4 | 50,50,50 |
Wine | 178 | 3 | 13 | 59,71,48 |
Glass | 214 | 6 | 10 | 70,67,17,31,9,92 |
实验参数设置为:当层次凝聚算法生成的子簇数目为小于等于聚类个数值K的5倍;粒子群优化聚类的最大迭代次数为50次,粒子群种群数目为5,学习因子c1=c2=2,惯性权重ω在迭代过程中从0.9线性下降到0.4,使粒子群在前期具有较高的全局搜索能力,在后续迭代过程降低移动速度,能够在最优值的邻域内逐步逼近最优解,避免较大的移动速度在优化解邻域产生震荡。
2、实验内容
图3、图4、图5分别为本发明方法仿真生成的三个数据集Iris、Wine和Glass的粒子适应度函数收敛情况曲线示意图,三个图中上方五条曲线分别为粒子种群中5个粒子的最优适应度变化曲线,最下方曲线为粒子群全局最优适应度变化曲线。
本发明方法与原有的K-Means算法、粒子群优化K均值聚类算法(PSO-KMEANS)以及近邻传播聚类算法(AP)的实验结果进行了比较。其中AP算法相异度矩阵计算时也对样本各维属性进行了规范化,通过动态调节偏向参数值,让其形成数据集真实类簇数目的类簇。将本发明方法运行20次取聚类结果准确率的平均值,与其他算法的聚类结果的准确率值比较如下表所示:
数据集 | K-Means | AP | PSO-KMEANS | 本发明方法 |
Iris | 0.78 | 0.88 | 0.884 | 0.92 |
Wine | 0.68 | 0.76 | 0.72 | 0.94 |
Glass | 0.52 | 0.68 | 0.43 | 0.78 |
从表中可以看出本发明在各个数据集上都获得了最好的结果,特别是在Wine数据集上效果改进明显。通过将层次凝聚算法与粒子群优化与K均值算法的有机结合有效地解决了K均值聚类算法初始聚类中心的敏感度及陷入局部最小值的问题,获得了较好的聚类质量。
本发明方法与现有技术中的粒子群优化K均值聚类算法耗费时间的对比情况如下表所示,单位为秒:
数据集 | PSO-KMEANS | 本发明方法 |
Iris | 0.62 | 0.34 |
Wine | 3.4 | 0.47 |
Glass | 4.5 | 0.56 |
由上表可以看出,本发明虽然在层次凝聚生成子簇的时候需要额外消耗时间,但在层次聚类时对子簇间的相异度进行排序,通过统计当前层次下各个子簇的与其他子簇的平均相异度来指导类簇的合并,有效地保证了层次凝聚算法的聚类效果。在获得层次聚类的子簇集合基础上进行粒子群优化K均值聚类比直接在数据集所有样本上进行粒子群优化K均值聚类耗时减少,由于优化了初始聚类中心,减小了划分聚类对初始聚类中心的敏感性,加快了收敛速度。本发明采用了简化的粒子群编码方法,减小了数据集样本属性维数对计算复杂度的影响。综合采用的以上措施,本发明在整体上平均耗时较传统的粒子群优化聚类算法改进显著,随着数据集样本维数的增加,效果更加明显。Iris维数为4,方法耗时约为传统的粒子群优化聚类算法的1/2,Wine和Glass维数为13和10,本发明方法耗时约为原有PSO-KMEANS的1/7和1/8。
3.实验结果分析
从图3、图4、图5中可以看出由于粒子群优化K均值算法在产生下一代粒子群时随机性较大,因此不易陷入局部极小值,而且由于每代粒子之间社会信息的共享和各个粒子的自我经验的提高,使得每代种群中的解具有自我学***稳,很少有波动现象。实验中三个数据集粒子群适应度函数在50次迭代内都趋于收敛,收敛速度较快。
Claims (10)
1.一种两阶段混合粒子群优化聚类方法,包括如下步骤:
(1)读入数据集和聚类个数K;
(2)统计维度信息:
计算机遍历数据集所有样本,统计数据集各维的取值范围信息,获得数据集各维属性取值范围的最大值与最小值;
(3)维度规范化:
对数据样本各维属性值采用规范化公式进行处理,将数据集所有样本各维属性值映射到[0,1]区间;
(4)计算相异度矩阵:
根据样本维度规范化处理后的结果,对所有样本采用欧式距离公式计算两两之间的相异度值,生成数据集各样本之间的相异度矩阵;
(5)生成候选初始聚类中心:
5a)将每个样本看作一个子簇,加入当前轮子簇列表中,根据步骤(4)中获得的相互之间的相异度降序排序;
5b)按照平均相异度公式计算当前轮子簇列表中每个子簇与数据集其他子簇之间的平均相异度值;
5c)对排序后的子簇对进行合并,若子簇对之间的相异度同时小于子簇对中两个子簇的平均相异度值,则将这两个子簇进行合并,加入到新一轮子簇列表中,否则将这两个子簇加入新一轮子簇列表中;
5d)判断新一轮子簇列表中子簇的数目是否小于等于预定数目,若是,则停止迭代,输出生成的新一轮子簇列表中的子簇作为候选初始聚类中心;否则返回5b)继续计算平均相异度值;
(6)粒子群K均值划分聚类 :
6a)采用粒子编码方式对选择的新一轮子簇列表中的子簇中的候选初始聚类中心子簇进行编码;
6b)设定粒子种群中粒子的数目及最大迭代次数、整个粒子种群的位置和速度的搜索空间范围,设定每个粒子的初始位置和速度;
6c)根据当前粒子编码位置各维的值获得初始聚类中心子簇的序号,采用K均 值划分方法对数据集进行划分聚类,获得数据集的聚类结果;
6d)根据适应度值公式,对数据集聚类结果计算粒子的适应度值;
6e)判断当前粒子适应度值与该粒子的最优适应度值的大小,若小于则将该粒子最优适应度值用当前粒子适应度值替换,将该粒子最优位置用当前粒子位置替换,否则不变;
6f)判断当前粒子适应度值与粒子种群的最优适应度值的大小,若小于则将粒子种群最优适应度值用当前粒子适应度值替换,将粒子种群最优位置用当前粒子位置替换,否则不变;
6g)根据粒子速度更新公式更新粒子速度;
6h)根据粒子位置更新公式更新粒子位置;
6i)判断粒子群优化迭代次数是否到达预设的最大迭代次数,若是,则停止迭代,执行步骤(7);否则,返回6c)继续进行计算;
(7)输出粒子种群最优适应度值和对应的数据集类簇划分结果。
3.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤5b)所述的平均相异度公式定义如下:
;
其中,D为数据集第k个子簇的平均相异度值,m为子簇k中样本的数目,n为数据集中所有样本的数目,s(i,j)为数据集中样本i与样本j之间的相异度。
4.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤5d)所述的设定的停止迭代计算的条件为新一轮子簇列表中子簇的数目为小于 或等于聚类个数值K的3-8倍。
5.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤6a)中所述的粒子编码方式是,为新一轮子簇列表中的子簇按1到子簇列表中子簇的数目数分配一个整数序号,粒子群编码维数为聚类个数值K,选择聚类个数值的子簇作为粒子的初始聚类中心,用其序号进行编码,粒子编码的第i维的值为选择的某一候选聚类中心子簇的序号。
6.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤6b)所述的粒子种群中粒子的数目取值范围为5-10个;最大迭代次数取值范围20-100次;整个粒子种群粒子的位置的搜索空间取值范围为1与子簇列表中子簇的数目数之间;整个粒子种群粒子的最大搜索速度取值范围为1-10;每个粒子的初始位置为整个种群粒子位置的搜索范围上限值减去下限值然后乘以一个0到1之间的随机值,再加上下限值;初始速度为粒子种群最大搜索速度乘以一个0到1之间的随机值。
7.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤6c)中所述的K均值划分方法采用以下步骤进行计算:
第一步.根据粒子编码位置各维中包含的初始聚类中心子簇序号初始化聚类个数值K个聚类中心,若编码中某一维值不是整数,则进行四舍五入取整;
第二步.计算样本d与K个聚类中心的相异度值,按照如下公式计算样本d与类簇C之间的相异度:
;
其中,S(d,C)为样本d与类簇C之间的相异度,n为类簇C中样本的个数,s(d,k)为数据集中样本d与类簇C中的样本k之间的相异度值;
第三步.将样本d与K个类簇中心的相异度值按降序排序,找出与样本d相异度值最小的类簇,将样本d划分到相异度值最小的类簇中;
第四步.判断数据集中是否还有样本未划分类簇,若是,则返回第二步,否则,输出聚类结果。
8.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤6d)所述的适应度值公式如下:
;
其中,Y为数据集X聚类结果的适应度值,m为数据集聚类结果中类簇的数目,r代表第r个类簇,第一个求和符号Σ表示对所有类簇求和;n为第r个类簇中的样本总数,i为第r个类簇中的样本i,第二个求和符号Σ表示对第r个类簇中所有样本求和;j为第r个类簇中的样本j,s(i,j)为样本i与样本j之间的相异度值,第三个求和符号Σ表示对样本i与类簇r中所有样本的相异度求和。
9.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤6g)所述的粒子速度更新公式如下:
vid(t+1)=ωvid(t)+c1α(pid(t)-xid(t))+c2β(pgd(t)-xid(t));
其中,vid(t+1)为第i个粒子第d维在第t+1次迭代粒子的速度,t为当前迭代的次数,t=1,2...,G max,G max为最大迭代次数;ω为惯性权重: c1与c2为调节pid(t)和pgd(t)权重的学习因子,取值范围为1.5-2;α和β为0到1之间的随机数;Pid(t)为第i个粒子第d维在第t次迭代的当前粒子最优位置;pgd(t)为粒子种群第d维在第t次迭代的所有粒子的最优位置;vid(t)为第i个粒子第d维在第t次迭代粒子的速度,当vid(t+1)的值的绝对值大于整个粒子种群粒子的最大搜索速度时,将vid(t+1)的绝对值置为整个粒子种群粒子的最大搜索速度乘以一个0到1之间的随机值,速度方向与vid(t+1)同正负。
10.根据权利要求1所述的一种两阶段混合粒子群优化聚类方法,其特征在于,步骤6h)所述的粒子位置更新公式如下:
xid(t+1)=xid(t)+vid(t+1);
其中,xid(t+1)为第i个粒子第d维在第t+1次迭代粒子的位置,t为当前迭代的次数,t=1,2...,G max,G max为最大迭代次数;xid(t)为第i个粒子第d维在 第t次迭代粒子的位置;vid(t+1)为第i个粒子第d维在第t+1次迭代粒子的速度;当xid(t+1)的值不在整个粒子种群粒子位置的搜索空间内时,将xid(t+1)的值置为整个种群粒子位置的搜索范围上限值减去下限值然后乘以一个0到1之间的随机值,再加上下限值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210109141.8A CN102663100B (zh) | 2012-04-13 | 2012-04-13 | 一种两阶段混合粒子群优化聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210109141.8A CN102663100B (zh) | 2012-04-13 | 2012-04-13 | 一种两阶段混合粒子群优化聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102663100A CN102663100A (zh) | 2012-09-12 |
CN102663100B true CN102663100B (zh) | 2014-01-15 |
Family
ID=46772591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210109141.8A Expired - Fee Related CN102663100B (zh) | 2012-04-13 | 2012-04-13 | 一种两阶段混合粒子群优化聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102663100B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363810A (zh) * | 2018-03-09 | 2018-08-03 | 南京工业大学 | 一种文本分类方法及装置 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855440B (zh) * | 2012-09-13 | 2015-09-02 | 北京奇虎科技有限公司 | 一种检测加壳可执行文件的方法、装置和*** |
CN102916426B (zh) * | 2012-09-20 | 2015-01-21 | 中国电力科学研究院 | 一种基于数据聚类的小干扰稳定机组分群方法及其*** |
CN102999756B (zh) * | 2012-11-09 | 2016-01-06 | 重庆邮电大学 | 基于gpu实现pso-svm对道路标志的识别方法 |
CN103914373B (zh) * | 2012-12-31 | 2018-11-23 | 百度在线网络技术(北京)有限公司 | 一种用于确定模块特征信息所对应的优先级的方法和设备 |
CN104050162B (zh) * | 2013-03-11 | 2017-10-13 | 富士通株式会社 | 数据处理方法和数据处理装置 |
CN103218419B (zh) * | 2013-03-29 | 2016-08-31 | 新浪网技术(中国)有限公司 | 网络标签聚类方法和*** |
CN103605723B (zh) * | 2013-11-15 | 2017-11-07 | 南京云川信息技术有限公司 | 一种基于粒子群算法的视频推荐方法 |
CN104699707A (zh) * | 2013-12-06 | 2015-06-10 | 深圳先进技术研究院 | 一种聚类数据的方法和装置 |
CN103761511B (zh) * | 2014-01-17 | 2017-01-25 | 南京信息工程大学 | 基于rgb彩色特征双重流形鉴别分析的彩色人脸识别方法 |
CN104809136B (zh) * | 2014-01-28 | 2019-03-15 | ***股份有限公司 | 一种混合聚类方法和装置 |
CN104899232B (zh) * | 2014-03-07 | 2019-05-24 | 华为技术有限公司 | 协同聚类的方法和设备 |
CN104102726A (zh) * | 2014-07-22 | 2014-10-15 | 南昌航空大学 | 基于层次聚类的改进k均值聚类算法 |
CN104504127B (zh) * | 2014-12-29 | 2016-06-08 | 广东电网有限责任公司茂名供电局 | 用于电力用户分类的隶属度确定方法和*** |
CN105139037B (zh) * | 2015-09-06 | 2018-04-17 | 西安电子科技大学 | 基于最小生成树的集成多目标进化自动聚类方法 |
CN105631157A (zh) * | 2016-01-13 | 2016-06-01 | 西安电子科技大学 | 基于传播限制的标签传播方法 |
CN106991095B (zh) * | 2016-01-21 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 机器异常的处理方法、学习速率的调整方法及装置 |
CN105975460A (zh) * | 2016-05-30 | 2016-09-28 | 上海智臻智能网络科技股份有限公司 | 问句信息处理方法及装置 |
CN106815551B (zh) * | 2016-12-08 | 2019-09-10 | 新疆农业大学 | 一种森林资源管理的变异函数参数拟合的优化方法 |
CN107124410A (zh) * | 2017-04-25 | 2017-09-01 | 厦门卓讯信息技术有限公司 | 基于机器深度学习的网络安全态势特征聚类方法 |
CN107515892A (zh) * | 2017-07-07 | 2017-12-26 | 国网浙江省电力公司 | 一种基于大数据挖掘的电网低电压成因诊断方法 |
CN109496322B (zh) * | 2017-09-28 | 2022-04-19 | 深圳乐信软件技术有限公司 | 信用评价方法和装置以及梯度渐进决策树参数调整方法和装置 |
CN108304316B (zh) * | 2017-12-25 | 2021-04-06 | 浙江工业大学 | 一种基于协同迁移的软件缺陷预测方法 |
CN108241745B (zh) | 2018-01-08 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 样本集的处理方法及装置、样本的查询方法及装置 |
CN109002833B (zh) * | 2018-06-12 | 2019-08-27 | 国家卫生健康委科学技术研究所 | 一种微液滴数据分析方法及*** |
CN109255426B (zh) * | 2018-08-17 | 2020-12-29 | 长安大学 | 一种权重动态调整的地质断层参数粒子群优化搜索算法 |
CN109598291B (zh) * | 2018-11-23 | 2021-07-23 | 安徽大学 | 一种基于pso的rgbd图的协同显著目标检测方法 |
CN109739959B (zh) * | 2018-11-30 | 2021-02-26 | 东软集团股份有限公司 | 在话题关联计算中使用的方法及装置 |
CN109816034B (zh) * | 2019-01-31 | 2021-08-27 | 清华大学 | 信号特征组合选取方法、装置、计算机设备及存储介质 |
CN110020713B (zh) * | 2019-04-08 | 2023-06-02 | 上海科世达-华阳汽车电器有限公司 | 一种光伏的多峰值最大功率追踪方法及相关装置 |
CN110310297B (zh) * | 2019-06-17 | 2023-02-03 | 广州番禺职业技术学院 | 一种基于多分辨率搜索粒子群算法的图像分割方法及*** |
CN110443321B (zh) * | 2019-08-14 | 2023-06-02 | 北京百度网讯科技有限公司 | 模型结构调整方法及装置 |
CN110647032A (zh) * | 2019-10-31 | 2020-01-03 | 电子科技大学 | 一种基于粒子群与遗传算法优化的模糊pid的三轴稳定器 |
CN112308117A (zh) * | 2020-10-09 | 2021-02-02 | 广东工业大学 | 基于双指标粒子群算法的同质人群识别方法 |
CN112309577B (zh) * | 2020-10-10 | 2023-10-13 | 广东工业大学 | 一种优化帕金森语音数据的多模态特征选择方法 |
CN114648653A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种分类方法、装置、设备及存储介质 |
CN112784910A (zh) * | 2021-01-28 | 2021-05-11 | 武汉市博畅软件开发有限公司 | 一种垃圾数据深度过滤方法及*** |
CN112905716A (zh) * | 2021-02-24 | 2021-06-04 | 同济大学 | 一种半导体生产过程数据预处理方法及装置 |
CN113378954B (zh) * | 2021-06-23 | 2023-07-21 | 云南电网有限责任公司电力科学研究院 | 一种基于粒子群改进k均值算法的负荷曲线聚类方法及*** |
CN114358207A (zh) * | 2022-01-12 | 2022-04-15 | 国网浙江省电力有限公司电力科学研究院 | 一种改进的k-means异常负荷检测方法及*** |
CN117119384B (zh) * | 2023-08-28 | 2024-03-22 | 广州工程技术职业学院 | 出行热点提取方法、***、设备及存储介质 |
-
2012
- 2012-04-13 CN CN201210109141.8A patent/CN102663100B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363810A (zh) * | 2018-03-09 | 2018-08-03 | 南京工业大学 | 一种文本分类方法及装置 |
CN108363810B (zh) * | 2018-03-09 | 2022-02-15 | 南京工业大学 | 一种文本分类方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102663100A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102663100B (zh) | 一种两阶段混合粒子群优化聚类方法 | |
Bansal et al. | Improved k-mean clustering algorithm for prediction analysis using classification technique in data mining | |
CN105469096B (zh) | 一种基于哈希二值编码的特征袋图像检索方法 | |
CN105930862A (zh) | 一种基于密度自适应距离的密度峰聚类算法 | |
Zhang et al. | Novel density-based and hierarchical density-based clustering algorithms for uncertain data | |
CN103888541B (zh) | 一种融合拓扑势和谱聚类的社区发现方法及*** | |
CN102930301A (zh) | 基于特征权重学习与核稀疏表示的图像分类方法 | |
CN104346459B (zh) | 一种基于术语频率和卡方统计的文本分类特征选择方法 | |
CN107947921A (zh) | 基于递归神经网络和概率上下文无关文法的密码生成*** | |
CN102243641A (zh) | 大规模数据的高效聚类方法 | |
CN107526975A (zh) | 一种基于差分隐私保护决策树的方法 | |
CN102214215A (zh) | 一种基于文本信息的快速反近邻查询方法 | |
CN111259933B (zh) | 基于分布式并行决策树的高维特征数据分类方法及*** | |
CN103678274A (zh) | 一种基于改进互信息和熵的文本分类特征提取方法 | |
CN106991127A (zh) | 一种基于拓扑特征扩展的知识主题短文本层次分类方法 | |
CN104794496A (zh) | 一种改进mRMR算法的遥感特征优选算法 | |
CN108595499A (zh) | 一种克隆优化的粒子群聚类高维数据分析方法 | |
CN102722578B (zh) | 一种基于拉普拉斯正则化无监督的聚类特征选取方法 | |
CN102360436B (zh) | 一种基于部件的联机手写藏文字符的识别方法 | |
CN110364264A (zh) | 基于子空间学习的医疗数据集特征降维方法 | |
CN108664653A (zh) | 一种基于K-means的医疗消费客户自动分类方法 | |
CN105046323A (zh) | 一种正则化rbf网络多标签分类方法 | |
CN104200134A (zh) | 一种基于局部线性嵌入算法的肿瘤基因表数据特征选择方法 | |
CN102929977B (zh) | 一种面向新闻网站的事件跟踪方法 | |
Mandal et al. | Unsupervised non-redundant feature selection: a graph-theoretic approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140115 Termination date: 20200413 |