一种基于自适应微簇融合的密度峰值聚类方法与流程

文档序号:22880157发布日期:2020-11-10 17:39阅读:185来源:国知局
一种基于自适应微簇融合的密度峰值聚类方法与流程

本发明涉及数据划分技术领域,尤其是涉及一种基于自适应微簇融合的密度峰值聚类方法。



背景技术:

聚类也称为无监督分类,根据对象(物理或抽象)的相似性度量将对象分为子集或聚类,以使聚类中的对象具有高度相似性,而属于不同聚类的对象具有相似性。聚类分析在社会科学,心理学,生物学,统计学,模式识别和信息检索等领域具有重要作用,是解决其他问题的重要基础。聚类分析是数据挖掘和机器学习中一个具有挑战性的问题。近年来,随着聚类分析的发展,提出了一些新的聚类方法,如子空间聚类,集成聚类和深度嵌入聚类。这些算法的性能是不同的。经典的k均值聚类算法在具有凸球形结构的数据集上取得了很好的聚类结果。

现有技术中公开了一种基于密度和距离的新聚类算法(dpc算法),通过快速搜索进行聚类并找到密度峰,与传统的聚类算法相比,dpc算法具有很多优点,其中包括:

一、简单高效,无需迭代计算目标函数即可快速找到高密度峰点(聚类中心);

二、适用于大规模数据的聚类分析。

同时dpc算法也存在些许不足的地方,如:

一、对于同时含有稀疏簇和密集簇的数据,简单的局部密度定义无法有效地找到聚类中心;

二、聚合容错性能差,一个数据分配不当,严重影响聚类效果;

三、聚类中心需要手动选择,存在人为干扰聚类结果的因数。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于自适应微簇融合的密度峰值聚类方法,适用于复杂数据集的聚类、提高算法的容错性以及自动确定聚类中心,以解决传统dpc算法聚类效果不足的问题。

本发明的目的可以通过以下技术方案来实现:

一种基于自适应微簇融合的密度峰值聚类方法,具体包括以下步骤:

步骤s1:获取原始矩阵,判断所述原始矩阵是否为高维数据,若是则根据设置迭代次数进行降维处理,转至步骤s2,若否则直接转至步骤s2;

步骤s2:根据所述原始矩阵或降维后的原始矩阵,计算相应的距离矩阵,根据所述距离矩阵计算每个采样点的局部密度和到邻近最大密度的距离;

步骤s3:根据局部密度和到邻近最大密度的距离计算所述采样点的决策指标,并对决策指标进行排序,根据设定的聚类中心的数量从决策指标的序列中选择相应个数的采样点设置为聚类中心;

步骤s4:分配原始矩阵中除所述聚类中心外的剩余数据,并删除噪声数据和异常值;

步骤s5:完成初步聚类的原始矩阵计算原始矩阵中微簇之间的微簇间密度差和微簇间距离;

步骤s6:根据所述微簇间密度差和微簇间距离,计算微簇融合值,判断所述微簇融合值是否小于设定阈值,若是则进行微簇融合并输出聚类结果,若否则直接输出聚类结果。

所述局部密度的计算公式如下:

其中,ρi为局部密度,xi、xj和xv为采样点的坐标,k为比例系数。

进一步地,所述到邻近最大密度的距离的计算公式如下:

其中,δi为到邻近最大密度的距离,dij为采样点xi和xj之间的距离。

进一步地,所述决策指标的计算公式如下:

γi=ρi*δi

其中,γi为采样点xi的决策指标。

所述步骤s3中决策指标的排序方式为降序排列。

所述微簇间密度差的计算公式如下:

其中,cd为微簇间密度差,a和b为微簇,αi为过程参数,计算公式如下:

其中,n为数据维度。

进一步地,所述微簇间距离的计算公式如下:

cb=min(d(ri,rj))

其中,cb为微簇间距离,ri和rj分别为a和b内的点,d(ri,rj)为ri和rj的距离。

进一步地,所述微簇融合值的计算公式如下:

mc(a,b)=cb·cd2

其中,mc(a,b)为微簇a和微簇b之间的微簇融合值。

进一步地,所述步骤s6中的设定阈值为所有采样点的微簇融合值的算术平均值的0.2倍。

所述步骤s1中通过非负分解算法对高维数据进行降维处理。

与现有技术相比,本发明具有以下有益效果:

本发明设定多个采样点来计算目标采样点的局部密度,使计算得到的局部密度具有更好的鲁棒性,同时通过微簇之间的微簇间密度差和微簇间距离,将微簇与其相近的微簇进行融合,解决了传统dpc算法聚类效果不足的问题,提高算法的容错性,适用于复杂数据集的聚类。

附图说明

图1为本发明的流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1所示,一种基于自适应微簇融合的密度峰值聚类方法,具体包括以下步骤:

步骤s1:获取原始矩阵,判断原始矩阵是否为高维数据,若是则根据设置迭代次数进行降维处理,转至步骤s2,若否则直接转至步骤s2;

步骤s2:根据原始矩阵或降维后的原始矩阵,计算相应的距离矩阵,根据距离矩阵计算每个采样点的局部密度和到邻近最大密度的距离;

步骤s3:根据局部密度和到邻近最大密度的距离计算采样点的决策指标,并对决策指标进行排序,根据设定的聚类中心的数量从决策指标的序列中选择相应个数的采样点设置为聚类中心;

步骤s4:分配原始矩阵中除聚类中心外的剩余数据,并删除噪声数据和异常值;

步骤s5:完成初步聚类的原始矩阵计算原始矩阵中微簇之间的微簇间密度差和微簇间距离;

步骤s6:根据微簇间密度差和微簇间距离,计算微簇融合值,判断微簇融合值是否小于设定阈值,若是则进行微簇融合并输出聚类结果,若否则直接输出聚类结果。

局部密度的计算公式如下:

其中,ρi为局部密度,xi、xj和xv为采样点的坐标,k为比例系数。

到邻近最大密度的距离的计算公式如下:

其中,δi为到邻近最大密度的距离,dij为采样点xi和xj之间的距离。

决策指标的计算公式如下:

γi=ρi*δi

其中,γi为采样点xi的决策指标。

步骤s3中决策指标的排序方式为降序排列。

微簇间密度差的计算公式如下:

其中,cd为微簇间密度差,a和b为微簇,αi为过程参数,计算公式如下:

其中,n为数据维度。

微簇间距离的计算公式如下:

cb=min(d(ri,rj))

其中,cb为微簇间距离,ri和rj分别为a和b内的点,d(ri,rj)为ri和rj的距离。

微簇融合值的计算公式如下:

mc(a,b)=cb·cd2

其中,mc(a,b)为微簇a和微簇b之间的微簇融合值。

步骤s6中的设定阈值为所有采样点的微簇融合值的算术平均值的0.2倍。

步骤s1中通过非负分解算法对高维数据进行降维处理。

实施例一

选取spiral、jain和r15三个数据集进行分析,将本发明所提的方法与传统的dpc算法、k-means、模糊加权k近邻密度峰值算法以及dbscan算法进行比较,评价指标包括ami、ari和fmi,以检查聚类的准确性,具体结果如表1所示:

表1聚类效果表

表1的结果表明,本发明在三个数据集上的聚类效果均高于其他4种聚类算法,且在jain数据集上本发明的聚类效果要远优于其他算法,验证了本发明聚类结果的正确性和有效性。

此外,需要说明的是,本说明书中所描述的具体实施例,所取名称可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所做的举例说明。凡依据本发明构思的构造、特征及原理所做的等效变化或者简单变化,均包括于本发明的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实例做各种各样的修改或补充或采用类似的方法,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1