CN111860622B - 一种应用于编程现场大数据的聚类方法及系统 - Google Patents
一种应用于编程现场大数据的聚类方法及系统 Download PDFInfo
- Publication number
- CN111860622B CN111860622B CN202010631987.2A CN202010631987A CN111860622B CN 111860622 B CN111860622 B CN 111860622B CN 202010631987 A CN202010631987 A CN 202010631987A CN 111860622 B CN111860622 B CN 111860622B
- Authority
- CN
- China
- Prior art keywords
- clustering
- value
- particle
- optimal solution
- algorithm
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 239000002245 particle Substances 0.000 claims abstract description 117
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 115
- 238000003064 k means clustering Methods 0.000 claims abstract description 35
- 238000005457 optimization Methods 0.000 claims abstract description 32
- 238000002922 simulated annealing Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000000638 solvent extraction Methods 0.000 claims description 11
- 238000011065 in-situ storage Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用于编程现场大数据的聚类方法及系统,该方法包括:基于粒子群优化算法,求解对数据聚类时K均值聚类算法中的K值的最优解;在每次迭代过程中,基于模拟退火算法,以一定概率接受非极值最值的粒子,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。本发明基于粒子群优化算法和模拟退火算法求取K值最优解,有效解决了K均值聚类算法中初始聚类点选取不恰当所导致的陷入局部最优的问题,可提高编程现场大数据的处理准确度和速度。
Description
技术领域
本发明涉及大数据分析处理技术领域,特别涉及一种应用于编程现场大数据的聚类方法及系统。
背景技术
编程现场大数据是在软件生产的编程现场所产生的数据集合的总称,其在程序员编写代码过程中瞬时涌现,在程序员间交互,并随软件技术与开发环境不断演变,具有海量、瞬时、多样和可变等大数据典型特征。编程现场大数据对于正确理解、呈现、分析软件生产的微过程,改善软件生产方式,将人类从繁重的软件生产脑力劳动中解放出来,具有非常重要的意义。因此,如何利用编程现场大数据,构建新型智能化软件现场开发方法与环境,提升软件生产率与品质,成为软件产业重要科学问题。
根据大数据的“4V”特征:数据体量巨大(Volume);数据种类繁多(Variety);流动速度快(Velocity);价值密度低(Value),得知,数据量呈指数増长的同时,隐藏在海量数据的有用信息却没有相应比例增长,反而获取有用信息的难度加大。目前,传统数据分析是指用适当的统计方法对收集来的大量第1手资料和第2手资料进行分析,把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,找出所研究对象的内在规律,以求最大化地开发数据资料的功能,发挥数据的作用。大数据分析可以视为对种特殊数据的分析,因此很多传统的数据分析算法也可用于大数据分析,比如聚类分析。
聚类算法大致分为基于划分的聚类、基于层次的聚类、基于网格的聚类、基于密度的聚类、基于模型的聚类这几种,但由于每一种算法都有缺陷,再加上实际问题的复杂性和数据的多样性,使得无论哪一种算法都只能解决某一类问题。
Macqueen提出的k-Means算法(K均值聚类算法)是解决聚类问题的一种经典算法。它的主要优点是算法简单、高效。缺点是对不同的K值可能会导致不同的聚类结果。其次,该算法不能发现非凸面的簇,或大小差別很大的簇。而且对“噪声”和孤立点很敏感,因为少量“噪声”能对平均值产生极大的影响。
发明内容
本发明提供了一种应用于编程现场大数据的聚类方法及系统,以解决K均值聚类算法中初始聚类点选取不恰当所导致的陷入局部最优的技术问题。
为解决上述技术问题,本发明提供了如下技术方案:
一方面,本发明提供了一种应用于编程现场大数据的聚类方法,其包括:
基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,所述K均值聚类算法中的K值的最优解;
在每次迭代过程中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;
当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。
进一步地,在每次迭代过程中所述粒子群优化算法采用下式更新粒子速度和位置:
Vid(t)=ωVid(t-1)+C1ρ1(Pbestid-Xid(t-1))+C2ρ2(Pgd-Xid(t-1))
Xid(t)=Xid(t-1)+Vid(t)
其中,Vid(t)表示第t次迭代时粒子i速度矢量的第d维分量,C1、C2表示学习常数,ρ1、ρ2表示0~1之间的随机数,Pbestid表示粒子i到目前为止所出现的最佳位置,Pgd表示粒子群体到目前为止所出现的最佳位置,Xid(t)表示第t次迭代时粒子i位置矢量的第d维分量;ω表示惯性权重,其表达式如下:
其中,ωmin表示ω的下限,ωmax表示ω的上限,fitmax表示粒子群体到目前为止所出现的最佳位置的适应度,fitid表示粒子i目前所在位置的适应度,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
进一步地,C1、C2的表达式如下:
其中,e表示自然指数。
进一步地,所述预设概率的表达式如下:
其中,Pid表示所述预设概率,e表示自然指数,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
进一步地,基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类,包括:
S1,基于求解出的K值的最优解确定初始聚类中心;
S2,基于所述初始聚类中心,按照最近距离原则对目标数据进行划分聚类;
S3,根据划分结果计算每个类簇内的所有数据对象的平均值作为该类簇新的聚类中心,如果存在某个类簇为空,则删除该类簇,并将K值减1;
S4,基于更新后的聚类中心,按照最近距离原则对目标数据重新划分聚类;
S5,迭代执行S3~S4,直至满足预设终止条件,得到目标数据的聚类结果。
另一方面,本发明还提供了一种应用于编程现场大数据的聚类系统,其包括:
K值最优解求解模块,用于基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,所述K均值聚类算法中的K值的最优解;其中,在每次迭代过程中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
数据聚类模块,用于基于所述K值最优解求解模块所求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。
进一步地,在每次迭代过程中所述K值最优解求解模块采用下式更新粒子速度和位置:
Vid(t)=ωVid(t-1)+C1ρ1(Pbestid-Xid(t-1))+C2ρ2(Pgd-Xid(t-1))
Xid(t)=Xid(t-1)+Vid(t)
其中,Vid(t)表示第t次迭代时粒子i速度矢量的第d维分量,C1、C2表示学习常数,ρ1、ρ2表示0~1之间的随机数,Pbestid表示粒子i到目前为止所出现的最佳位置,Pgd表示粒子群体到目前为止所出现的最佳位置,Xid(t)表示第t次迭代时粒子i位置矢量的第d维分量;ω表示惯性权重,其表达式如下:
其中,ωmin表示ω的下限,ωmax表示ω的上限,fitmax表示粒子群体到目前为止所出现的最佳位置的适应度,fitid表示粒子i目前所在位置的适应度,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
进一步地,C1、C2的表达式如下:
其中,e表示自然指数。
进一步地,所述预设概率的表达式如下:
其中,Pid表示所述预设概率,e表示自然指数,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
进一步地,所述数据聚类模块具体用于执行以下步骤:
S1,基于求解出的K值的最优解确定初始聚类中心;
S2,基于所述初始聚类中心,按照最近距离原则对目标数据进行划分聚类;
S3,根据划分结果计算每个类簇内的所有数据对象的平均值作为该类簇新的聚类中心,如果存在某个类簇为空,则删除该类簇,并将K值减1;
S4,基于更新后的聚类中心,按照最近距离原则对目标数据重新划分聚类;
S5,迭代执行S3~S4,直至满足预设终止条件,得到目标数据的聚类结果。
再一方面,本发明还提供了一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。
又一方面,本发明还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。
本发明提供的技术方案带来的有益效果至少包括:
本发明通过基于粒子群优化算法,迭代求解采用K均值聚类算法对目标数据进行聚类时K均值聚类算法中的K值的最优解;在每次迭代中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。从而可解决K均值聚类算法中初始聚类点选取不恰当所导致的陷入局部最优的问题,提高编程现场大数据的处理准确度和速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的应用于编程现场大数据的聚类方法的流程图;
图2为本发明第三实施例的应用于编程现场大数据的聚类方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
第一实施例
本实施例提供了一种应用于编程现场大数据的聚类方法,该方法可以由电子设备实现,该电子设备可以是终端或者服务器。该应用于编程现场大数据的聚类方法的执行流程如图1所示,包括以下步骤:
S101,基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,K均值聚类算法中的K值的最优解;
需要说明的是,在上述步骤中,本实施例采用下式更新粒子的速度与位置:
Vid(t)=ωVid(t-1)+C1ρ1(Pbestid-Xid(t-1))+C2ρ2(Pgd-Xid(t-1))
Xid(t)=Xid(t-1)+Vid(t)
其中,Vid(t)表示第t次迭代时粒子i速度矢量的第d维分量,C1、C2表示学习常数,ρ1、ρ2表示0~1之间的随机数,Pbestid表示粒子i到目前为止所出现的最佳位置,Pgd表示粒子群体到目前为止所出现的最佳位置,Xid(t)表示第t次迭代时粒子i位置矢量的第d维分量,ω表示惯性权重;
而且,本实施例提出了一种新的ω定义,其表达式如下:
其中,ωmin表示ω的下限,ωmax表示ω的上限,fitmax表示粒子群体到目前为止所出现的最佳位置的适应度,fitid表示粒子i目前所在位置的适应度,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
上述公式分为三方面,第一部分为模型设计中ω的最小值,第二部分为受粒子适应度影响的ω取值,第三部分为受时间推移影响的ω取值。
进一步地,本实施例的C1,C2也根据Xid(t)与Pid和Pgd差距进行调整,顾及到了前期的迭代速度和到达极值点附近后开始放慢迭代速度寻找极值点;
具体地,C1、C2的表达式如下:
其中,e表示自然指数。
S102,在每次迭代中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;
需要说明的是,在本实施例中,预设概率的表达式如下:
其中,Pid表示预设概率,e表示自然指数,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
根据上式计算每一次接受非极值最值的概率,按照一定概率随机接受非极值最值,从而有一定可能跳出局部最优,达到全局最优。
S103,当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
S104,基于K值的最优解,采用K均值聚类算法对目标数据进行聚类。
需要说明的是,在本实施例中,上述步骤具体包括以下步骤:
S1,基于求解出的K值的最优解确定初始聚类中心;
S2,基于所述初始聚类中心,按照最近距离原则对目标数据进行划分聚类;
S3,根据划分结果计算每个类簇内的所有数据对象的平均值作为该类簇新的聚类中心,如果存在某个类簇为空,则删除该类簇,并将K值减1;
S4,基于更新后的聚类中心,按照最近距离原则对目标数据重新划分聚类;
S5,迭代执行S3~S4,直至满足预设终止条件,得到目标数据的聚类结果。
本实施例通过基于粒子群优化算法,迭代求解采用K均值聚类算法对目标数据进行聚类时K均值聚类算法中K值的最优解;在每次迭代中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。从而可解决K均值聚类算法中初始聚类点选取不恰当所导致的陷入局部最优的问题,提高编程现场大数据的处理准确度和速度。
第二实施例
本实施例提供了一种应用于编程现场大数据的聚类系统,该系统包括:
K值最优解求解模块,用于基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,所述K均值聚类算法中的K值的最优解;其中,在每次迭代过程中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
数据聚类模块,用于基于所述K值最优解求解模块所求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。
本实施例的应用于编程现场大数据的聚类系统与上述第一实施例的应用于编程现场大数据的聚类方法相对应;其中,本实施例的应用于编程现场大数据的聚类系统中的各功能模块所实现的功能与上述第一实施例的应用于编程现场大数据的聚类方法中的各流程步骤一一对应;故,在此不再赘述。
第三实施例
请参阅图2,本实施例提供了一种应用于编程现场大数据的聚类方法,该方法可以由电子设备实现,该电子设备可以是终端或者服务器。该应用于编程现场大数据的聚类方法的执行流程如图2所示,包括以下步骤:
S1,在初始化范围内,对粒子种群进行随机初始化;
具体地,上述初始化过程包括:首先,设置最大迭代次数,目标函数的自变量个数,粒子的最大速度,位置信息为整个搜索空间,在速度区间和搜索空间上随机初始化速度和位置,设置粒子群规模,每个粒子随机初始化一个飞翔速度。
S2,每个粒子根据选取的中心按照最小距离原则划分聚类数据集,并计算每个粒子的适应度值,寻找极值最值;其中,本实施例所使用的距离度量公式如下:
其中,dist(xi,xj)表示粒子xi和粒子xj之间的距离,xi,d表示粒子xi坐标的第d维分量(总维度为D),xj,d表示粒子xj坐标的第d维分量。
S3,动态调整因子,更新粒子的速度与位置;
考虑到粒子群优化算法前期和后期的速度和位置更新力度是不同的,在前期为了提高粒子群优化算法的优化速度,而且前期的粒子适应度较低,所以前期的速度和位置更新浮动较大,随着算法进入迭代后期,粒子适应度逐渐增大,所以粒子运动速度和未知更替逐渐趋于平稳。对此,采用下列位置和速度更新公式:
Vid(t)=ωVid(t-1)+C1ρ1(Pbestid-Xid(t-1))+C2ρ2(Pgd-Xid(t-1))
Xid(t)=Xid(t-1)+Vid(t)
其中,Vid(t)表示第t次迭代时粒子i速度矢量的第d维分量,C1、C2表示学习常数,ρ1、ρ2表示0~1之间的随机数,Pbestid表示粒子i到目前为止所出现的最佳位置,Pgd表示粒子群体到目前为止所出现的最佳位置,Xid(t)表示第t次迭代时粒子i位置矢量的第d维分量,ω表示惯性权重;
而且,本实施例提出了一种新的ω定义,其表达式如下:
其中,ωmin表示ω的下限,ωmax表示ω的上限,fitmax表示粒子群体到目前为止所出现的最佳位置的适应度,fitid表示粒子i目前所在位置的适应度,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
上述公式分为三方面,第一部分为模型设计中ω的最小值,第二部分为受粒子适应度影响的ω取值,第三部分为受时间推移影响的ω取值。
进一步地,本实施例的C1,C2也根据Xid(t)与Pid和Pgd差距进行调整,顾及到了前期的迭代速度和到达极值点附近后开始放慢迭代速度寻找极值点;
具体地,C1、C2的表达式如下:
其中,e表示自然指数。
本实施例通过改进粒子速度和位置迭代更新模型,加快迭代的速度,同时为避免错过最优解,在迭代前期速度较大,随着迭代次数逐渐增加,速度慢慢变小。
此外,本实施例在动态调整因子,更新粒子的速度与位置过程中需要对每个粒子当前位置的适应度进行评估。具体地,本实施例用Davies-Bouldin Index指数(DBI)来衡量粒子的适应度fit,公式如下:
其中,μ代表簇C的中心点avg(C)对应于簇C内样本间的平均距离,dcen(μi,μj)为对应Ci和Cj中心点之间的距离。
S4,计算更新后的每个粒子的适应度值;
S5,使用模拟退火算法随机接受粒子群中非极值最值得粒子;
需要说明的是,模拟退火算法的原理是从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。基于此,本实施例提出一种随机接受非极值最值点(粒子群中极值不变且不为全局最优的粒子)的概率;
由模拟退火算法收到的每个粒子到目前为止所出现的最佳位置和每个粒子到目前所在位置,通过下列公式计算每一次接受非极值最值的概率,按照概率随机接受,以跳出局部最优:
其中,Pid表示预设概率,e表示自然指数,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
在每次模拟退火算法进行过一次迭代,并且用模拟退火算法根据概率随机接受非极值最值点后,模拟退火算法就要进行一次“降温”。即:
timeid=timeid-1-1
S6,判断当前种群适应度是否低于设定阈值(低于设定阈值说明种群已经收敛)或者达到最大迭代次数,如果是,则转向S7;否则转向S3;
S7,使用粒子群算法得到的最佳K值作为初始中心,建立类别矩阵;
S8,按照最近距离原则对数据集进行划分聚类;其中,距离公式为:
其中,dist(xi,xj)表示粒子xi和粒子xj之间的距离,xi,d表示粒子xi坐标的第d维分量(总维度为D),xj,d表示粒子xj坐标的第d维分量。
S9,根据划分结果计算每个聚类所有数据对象的平均值作为新的聚类中心点,如果存在某个簇类为空,则删除该簇类,同时簇群数量k的值减1;定义第k个类簇Ck的类簇中心为Centerk,则类簇中心更新方式如下:
S10,判断类别矩阵是否发生变化,如果类别矩阵未发生任何变化,说明聚类中心已经收敛,则结束迭代过程;否则转向S11;
S11,基于更新后的聚类中心,按照最近距离原则对数据集重新划分聚类;
S12,判断是否达到最大迭代次数,若达到最大迭代次数,则转到S13;否则返回S9;
S13,输出聚类结果以及评估指标。
具体地,本实施例在迭代次数到达最大值,或者两次聚类中心的位置之间的差距小于某个阈值时停下。并使用DBI指数对聚类质量进行评估,公式如下:
其中,μ代表簇C的中心点avg(C)对应于簇C内样本间的平均距离,dcen(μi,μj)为对应Ci和Cj中心点之间的距离。
综上,本实施例提出一种结合PSO算法和SAA算法的K-means算法,应用于编程现场大数据聚类。通过对PSO算法和SAA算法进行改进及结合,解决了K-means算法中由于初始聚类点的选取不恰当所导致的聚类陷入局部最优的问题。并且针对PSO算法,通过改进粒子速度和位置更新模型,加快了迭代的速度,同时为避免错过最优解,在迭代前期速度较大,随迭代次数逐渐增加,速度慢慢变小。通过PSO算法和SAA算法相结合,进一步阻止了陷入局部最优。
第四实施例
本实施例提供一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行,以实现第一实施例的方法。
该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)和一个或一个以上的存储器,其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以下步骤:
S101,基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,K均值聚类算法中的K值的最优解;
S102,在每次迭代中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;
S103,当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
S104,基于K值的最优解,采用K均值聚类算法对目标数据进行聚类。
本实施例的电子装置通过基于粒子群优化算法,迭代求解采用K均值聚类算法对目标数据进行聚类时K值的最优解;在每次迭代中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。从而可解决K均值聚类算法中初始聚类点选取不恰当所导致的陷入局部最优的问题,提高编程现场大数据的处理准确度和速度。
第五实施例
本实施例提供一种计算机可读存储介质,该存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以实现上述方法。其中,该计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。其内存储的指令可由终端中的处理器加载并执行以下步骤:
S101,基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,K均值聚类算法中的K值的最优解;
S102,在每次迭代中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;
S103,当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
S104,基于K值的最优解,采用K均值聚类算法对目标数据进行聚类。
本实施例的存储介质所存储的程序通过基于粒子群优化算法,迭代求解采用K均值聚类算法对目标数据进行聚类时K值的最优解;在每次迭代中,基于模拟退火算法,以预设概率接受非极值最值的粒子,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类。从而可解决K均值聚类算法中初始聚类点选取不恰当所导致的陷入局部最优的问题,提高编程现场大数据的处理准确度和速度。
此外,需要说明的是,本发明可提供为方法、装置或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
最后需要说明的是,以上所述是本发明优选实施方式,应当指出,尽管已描述了本发明优选实施例,但对于本技术领域的技术人员来说,一旦得知了本发明的基本创造性概念,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
Claims (8)
1.一种应用于编程现场大数据的聚类方法,其特征在于,所述方法包括:
基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,所述K均值聚类算法中的K值的最优解;
在每次迭代过程中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;
当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类;
在每次迭代过程中所述粒子群优化算法采用下式更新粒子速度和位置:
Vid(t)=ωVid(t-1)+C1ρ1(Pbestid-Xid(t-1))+C2ρ2(Pgd-Xid(t-1))
Xid(t)=Xid(t-1)+Vid(t)
其中,Vid(t)表示第t次迭代时粒子i速度矢量的第d维分量,C1、C2表示学习常数,ρ1、ρ2表示0~1之间的随机数,Pbestid表示粒子i到目前为止所出现的最佳位置,Pgd表示粒子群体到目前为止所出现的最佳位置,Xid(t)表示第t次迭代时粒子i位置矢量的第d维分量;ω表示惯性权重,其表达式如下:
其中,ωmin表示ω的下限,ωmax表示ω的上限,fitmax表示粒子群体到目前为止所出现的最佳位置的适应度,fitid表示粒子i目前所在位置的适应度,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
2.如权利要求1所述的应用于编程现场大数据的聚类方法,其特征在于,C1、C2的表达式如下:
其中,e表示自然指数。
3.如权利要求1所述的应用于编程现场大数据的聚类方法,其特征在于,所述预设概率的表达式如下:
其中,Pid表示所述预设概率,e表示自然指数,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
4.如权利要求1所述的应用于编程现场大数据的聚类方法,其特征在于,基于求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类,包括:
S1,基于求解出的K值的最优解确定初始聚类中心;
S2,基于所述初始聚类中心,按照最近距离原则对目标数据进行划分聚类;
S3,根据划分结果计算每个类簇内的所有数据对象的平均值作为该类簇新的聚类中心,如果存在某个类簇为空,则删除该类簇,并将K值减1;
S4,基于更新后的聚类中心,按照最近距离原则对目标数据重新划分聚类;
S5,迭代执行S3~S4,直至满足预设终止条件,得到目标数据的聚类结果。
5.一种应用于编程现场大数据的聚类系统,其特征在于,所述系统包括:
K值最优解求解模块,用于基于粒子群优化算法,迭代求解采用K均值聚类算法对待聚类的目标数据进行聚类时,所述K均值聚类算法中的K值的最优解;其中,在每次迭代过程中,基于模拟退火算法,以预设概率接受非极值最值的粒子作为新的当前解,并继续基于粒子群优化算法对K值的最优解进行迭代求解;当达到预设迭代终止条件后停止迭代,并以当前解作为K值的最优解;
数据聚类模块,用于基于所述K值最优解求解模块所求解出的K值的最优解,采用K均值聚类算法对目标数据进行聚类;
在每次迭代过程中所述K值最优解求解模块采用下式更新粒子速度和位置:
Vid(t)=ωVid(t-1)+C1ρ1(Pbestid-Xid(t-1))+C2ρ2(Pgd-Xid(t-1))
Xid(t)=Xid(t-1)+Vid(t)
其中,Vid(t)表示第t次迭代时粒子i速度矢量的第d维分量,C1、C2表示学习常数,ρ1、ρ2表示0~1之间的随机数,Pbestid表示粒子i到目前为止所出现的最佳位置,Pgd表示粒子群体到目前为止所出现的最佳位置,Xod(t)表示第t次迭代时粒子i位置矢量的第d维分量;ω表示惯性权重,其表达式如下:
其中,ωmin表示ω的下限,ωmax表示ω的上限,fitmax表示粒子群体到目前为止所出现的最佳位置的适应度,fitid表示粒子i目前所在位置的适应度,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
6.如权利要求5所述的应用于编程现场大数据的聚类系统,其特征在于,C1、C2的表达式如下:
其中,e表示自然指数。
7.如权利要求5所述的应用于编程现场大数据的聚类系统,其特征在于,所述预设概率的表达式如下:
其中,Pid表示所述预设概率,e表示自然指数,timemax表示最大迭代次数,timeid表示当前为第几次迭代。
8.如权利要求5所述的应用于编程现场大数据的聚类系统,其特征在于,所述数据聚类模块具体用于执行以下步骤:
S1,基于求解出的K值的最优解确定初始聚类中心;
S2,基于所述初始聚类中心,按照最近距离原则对目标数据进行划分聚类;
S3,根据划分结果计算每个类簇内的所有数据对象的平均值作为该类簇新的聚类中心,如果存在某个类簇为空,则删除该类簇,并将K值减1;
S4,基于更新后的聚类中心,按照最近距离原则对目标数据重新划分聚类;
S5,迭代执行S3~S4,直至满足预设终止条件,得到目标数据的聚类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631987.2A CN111860622B (zh) | 2020-07-03 | 2020-07-03 | 一种应用于编程现场大数据的聚类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631987.2A CN111860622B (zh) | 2020-07-03 | 2020-07-03 | 一种应用于编程现场大数据的聚类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111860622A CN111860622A (zh) | 2020-10-30 |
CN111860622B true CN111860622B (zh) | 2023-12-22 |
Family
ID=73152607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631987.2A Active CN111860622B (zh) | 2020-07-03 | 2020-07-03 | 一种应用于编程现场大数据的聚类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111860622B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115150B (zh) * | 2021-11-24 | 2023-06-06 | 山东建筑大学 | 基于数据的热泵系统在线建模方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102842067A (zh) * | 2012-07-18 | 2012-12-26 | 浙江工商大学 | 一种融入粒子群优化思想的带约束铁路物流场站空间聚类方法 |
CN106649521A (zh) * | 2016-10-17 | 2017-05-10 | 齐鲁工业大学 | 一种基于任务负载的数据迁移方法 |
CN107766135A (zh) * | 2017-09-29 | 2018-03-06 | 东南大学 | 移动朵云中基于粒子群和模拟退火优化的任务分配方法 |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
CN109447393A (zh) * | 2018-09-13 | 2019-03-08 | 西安理工大学 | 一种电力系统经济负荷分配的改进的粒子群算法 |
CN110222177A (zh) * | 2019-05-24 | 2019-09-10 | 雷恩友力数据科技南京有限公司 | 一种基于k-均值聚类算法的初始聚类中心确定方法及装置 |
CN111242971A (zh) * | 2019-12-03 | 2020-06-05 | 西安电子科技大学 | 一种基于改进的双中心粒子群优化算法的目标跟踪方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9614699B2 (en) * | 2015-08-12 | 2017-04-04 | King Fahd University Of Petroleum And Minerals | Apparatuses and methodologies for decision feedback equalization using particle swarm optimization |
US20190079846A1 (en) * | 2017-09-08 | 2019-03-14 | Performance Sherpa, Inc. | Application performance control system for real time monitoring and control of distributed data processing applications |
CN107392402B (zh) * | 2017-09-11 | 2018-08-31 | 合肥工业大学 | 基于改进禁忌搜索算法的生产运输协同调度方法及系统 |
-
2020
- 2020-07-03 CN CN202010631987.2A patent/CN111860622B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102842067A (zh) * | 2012-07-18 | 2012-12-26 | 浙江工商大学 | 一种融入粒子群优化思想的带约束铁路物流场站空间聚类方法 |
CN106649521A (zh) * | 2016-10-17 | 2017-05-10 | 齐鲁工业大学 | 一种基于任务负载的数据迁移方法 |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
CN107766135A (zh) * | 2017-09-29 | 2018-03-06 | 东南大学 | 移动朵云中基于粒子群和模拟退火优化的任务分配方法 |
CN109447393A (zh) * | 2018-09-13 | 2019-03-08 | 西安理工大学 | 一种电力系统经济负荷分配的改进的粒子群算法 |
CN110222177A (zh) * | 2019-05-24 | 2019-09-10 | 雷恩友力数据科技南京有限公司 | 一种基于k-均值聚类算法的初始聚类中心确定方法及装置 |
CN111242971A (zh) * | 2019-12-03 | 2020-06-05 | 西安电子科技大学 | 一种基于改进的双中心粒子群优化算法的目标跟踪方法 |
Non-Patent Citations (6)
Title |
---|
《Hybrid whale optimization algorithm with simulated annealing for feature selection》;Majdi M. Mafarja等;《Neurocomputing》;第260卷;302-312 * |
Automatic Clustering Using Multi-objective Particle Swarm and Simulated Annealing;Ahmad Abubaker等;《PloS one》;第10卷(第7期);1-23 * |
Particle Swarm Optimization with Various Inertia Weight Variants for Optimal Power Flow Solution;Prabha Umapathy等;《Discrete Dynamics in Nature and Society》;第2010卷;1-15 * |
基于SA-APSO及降维投影-动态加权统计的局部放电定位方法;王泉等;《广东电力》;第33卷(第6期);66-72 * |
基于改进离散粒子群算法的青贮玉米原料含水率高光谱检测;张珏等;《农业工程学报》;第35卷(第1期);285-293 * |
自动化立体仓库固定货架拣选路径问题研究;杨玮等;《上海理工大学学报》;第37卷(第1期);84-88 * |
Also Published As
Publication number | Publication date |
---|---|
CN111860622A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112382352B (zh) | 基于机器学习的金属有机骨架材料结构特征快速评估方法 | |
Cai et al. | A novel clustering algorithm based on DPC and PSO | |
CN110298415A (zh) | 一种半监督学习的训练方法、系统和计算机可读存储介质 | |
CN111914944B (zh) | 基于动态样本选择和损失一致性的物体检测方法和系统 | |
CN108984785B (zh) | 一种基于历史数据和增量的指纹库的更新方法及装置 | |
CN105809672B (zh) | 一种基于超像素和结构化约束的图像多目标协同分割方法 | |
CN113344019A (zh) | 一种决策值选取初始聚类中心改进的K-means算法 | |
CN107885971B (zh) | 采用改进花授粉算法识别关键蛋白质的方法 | |
CN113344128B (zh) | 一种基于微簇的工业物联网自适应流聚类方法及装置 | |
CN113435108B (zh) | 一种基于改进的鲸鱼优化算法的战场目标分群方法 | |
CN109727637B (zh) | 基于混合蛙跳算法识别关键蛋白质的方法 | |
CN111309577B (zh) | 一种面向Spark的批处理应用执行时间预测模型构建方法 | |
CN115331752B (zh) | 一种能够自适应预测石英形成环境的方法 | |
CN113221065A (zh) | 数据密度估计及回归方法、相应装置、电子设备、介质 | |
CN113391894A (zh) | 一种基于rbp神经网络的最优超任务网优化方法 | |
CN111860622B (zh) | 一种应用于编程现场大数据的聚类方法及系统 | |
CN110598836B (zh) | 一种基于改进的粒子群寻优算法的代谢组学分析方法 | |
CN109961129A (zh) | 一种基于改进粒子群的海上静止目标搜寻方案生成方法 | |
CN115208651B (zh) | 基于逆习惯化机制的流聚类异常检测方法及系统 | |
Kumar et al. | A chaotic charged system search approach for data clustering | |
CN114334033B (zh) | 抗乳腺癌候选药物分子描述符的筛选方法、系统及终端 | |
JP6233432B2 (ja) | 混合モデルの選択方法及び装置 | |
CN111697570A (zh) | 一种电网负荷预测方法 | |
CN114566234A (zh) | 抗癌候选药物化合物分子的定量优化方法与系统 | |
CN113343918A (zh) | 一种电力设备识别方法、系统、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |