一种基于密度自适应距离的密度峰聚类算法

文档序号:10570414阅读:5373来源:国知局
一种基于密度自适应距离的密度峰聚类算法
【专利摘要】本发明公开了一种基于密度自适应距离的密度峰聚类算法,主要解决基于欧氏距离的密度峰聚类算法无法有效处理复杂结构数据集的问题。实现过程为:(1)基于欧氏距离和自适应相似度计算密度自适应距离,以更好地描述数据空间分布结构;(2)基于密度自适应距离,根据数据点的邻居点总数占数据集样本总数的比例值计算算法的输入参数,即截断距离;(3)根据截断距离和密度自适应距离计算每个数据点的局部密度和该点到具有更高局部密度点的最短距离,绘制决策图,选取聚类中心;(4)将剩下的每个点分配到具有更高局部密度的最近邻点所属的簇,得到聚类结果。在人工数据集和UCI真实数据集上的实验表明,与基于欧氏距离的密度峰聚类算法相比,本发明不仅能够有效处理复杂结构数据集,而且具有更高的准确率。
【专利说明】
一种基于密度自适应距离的密度峰聚类算法
技术领域
[0001] 本发明属于聚类分析技术领域,主要为密度峰聚类算法的改进优化。具体为一种 基于密度自适应距离的聚类算法,可应用于模式识别、数据挖掘及图像处理等领域。
【背景技术】
[0002] 聚类作为一种重要的无监督的数据分析方法,既可以作为一个独立工具用于发现 数据隐含信息,也可以作为其他数据分析算法的一个预处理步骤,在机器学习、模式识别、 数据挖掘、图像处理等领域已经得到了广泛研究和应用。
[0003] 聚类是根据数据对象相似度,把未知分类的数据集分割成不同的类或簇,使同一 簇内的数据对象具有最大相似性,不同簇间的数据对象具有最小相似性。目前,许多聚类算 法已被提出,如基于划分方法的1(-11163118、1(-1]16(1〇1(18等算法 ;基于层次方法的^1^等算法; 基于网格的STING、WAVECLUSTER等算法;基于模型的统计学聚类和神经网络聚类等算法;基 于密度的DBSCAN、0PTICS等算法,等等。
[0004] 2014年,Alex Rodriguez等人在《Science》上提出了一种新的基于密度的密度峰 聚类算法:DPC(Clustering by fast search and find of Density Peaks)算法。DPC算法 简洁高效,主要分为两步:首先根据决策图选取密度峰,也即聚类中心;其次分配剩余数据 点,得到聚类结果。算法只有一个输入参数,不需预先指定聚类数目,能够发现一些非球形 簇,不需考虑概率分布函数或将数据映射到向量空间,性能不受数据空间维度影响。
[0005] DPC算法基于如下假设:聚类中心被具有相对较低局部密度的邻居点包围,且与其 它具有更高局部密度的数据点具有相对较大的距离。对于每个数据点i,只需计算点i的局 部密度Pi及点i到具有更高局部密度的点j的最短距离8:。其中, Pl定义为
[0006] A = H …也') j,
[0007] 当x<0时x(x) = 1,否则x(x) =(Ldij是数据点之间的距离;dc是截断距离。5i定义 为 _8]表
[0009]对于具有全局最高密度的数据点,有A 算法将同时具有较大Pi及Si的点 视为聚类中心。聚类中心通过决策图选取,决策图为心关于函数关系图。
[0010]聚类中心确定后,算法将剩下的每个数据点分配到最近且具有更高密度的数据点 所属的簇。为了识别噪声点,DPC算法为每个簇定义边界区域密度pb:属于某个簇并且与属 于其他簇的数据点之间的距离小于dc的数据点总数。密度高于P b的点被视为核心点,否则 为噪声点。
[0011]在欧氏距离测度下,DPC算法仅能够有效处理每个簇内具有唯一密度峰或明显高 密度区域的数据集,因为此时不仅容易从决策图上选取聚类中心,而且对簇内的非聚类中 心点i而言,局部密度更高的最近点j通常分布在同一簇内距点i较近的区域或聚类中心周 围,因而将点i和点j视为同一类时相对比较合理,出错的几率也较小。然而,对于那些复杂 结构数据集,由于不同簇间密度差异较大,或同一簇内同时具有多个高密度区域,或同一簇 的密度分布相对均匀,从而导致DPC算法容易出现以下两种问题:(1)聚类中心有时易被错 选,甚至无法选取;(2)即使成功选取聚类中心却依然无法得到理想聚类结果。

【发明内容】

[0012] 为了解决上述【背景技术】中密度峰算法存在的问题,本发明提出一种基于密度自适 应距离的聚类算法。首先,基于欧氏距离和自适应相似度定义密度自适应距离,以更好地描 述数据空间分布结构;其次,将密度自适应距离应用到密度峰聚类,得到新算法。在人工数 据集和UCI真实数据集上的实验表明,新算法不仅能够有效处理复杂结构数据集,而且具有 更高的准确率。具体实现步骤包括如下:
[0013] (1)输入数据集X={X1,X2,…,Xn}GRD,数据点的邻居点总数占数据集样本总数的 比例值P,距离调节因子a;其中,n表示样本个数,D表示样本维数;
[0014] (2)首先计算数据AXl与幻之间的欧氏距离:
[0016]得到欧氏距离矩阵d;其次计算点Xl与幻之间的自适应相似度:
[0018]得到相似度矩阵S。其中,局部尺度参数〇1定义为〇1 = d(Xl,Xkn);〇1表示点Xl与其第 kn个近邻点xkn的欧氏距离,取kn = 6。
[0019] (3)基于自适应相似度S和欧氏距离矩阵d定义局部密度自适应距离LD(Xl,Xj): / 、(VUU-1 & e
[。_ 蛛 -~(x;)
[0021] 其中,aG(l,l〇]是距离调节因子,默认值为2;Nk(Xl)表示点i基于欧氏距离测度的 前k个近邻点构成的集合,取k = 5为默认常量;w(Xl,&)作为距离调节权重因子,仅作用于为 k近邻关系的点Xl与幻之间的距离调节,其定义如下:
[0022] w(xi,Xj) = l-S(xi,Xj)
[0023] (4)基于局部密度自适应距离,将数据集构造为加权无向图G,p为图G上一条连接 点xi与xj的路径,pij表示连接点xi与xj的所有路径的集合,|p|表示p的长度,定义全局密度 自适应距离如下:
[0024] G£> ^ min \p\
[0025] (5)根据数据点的邻居点总数占数据集样本总数的比例值p计算截断距离dc:首先 对n个样本点的m = n(n-l)/2个全局密度自适应距离进行排序,设按升序排序后的距离有 gdi<gd2("<gdm,则也=如「―則°其中,「押/100]表示对pm/100向上取整。
[0026] (6)基于全局密度自适应距离和截断距离计算每个点Xl的局部密度Pl和点i到具有 更高局部密度点的最短距离Si,绘制决策图,选取聚类中心。
[0027] (7)将剩下的每个点分配到具有更高局部密度的最近邻点所属的簇。
[0028] (8)输出聚类结果0={&,&,…,Ck},k为簇数。
[0029]本发明具有以下优点:
[0030] (1)与欧氏距离相比,密度自适应距离可以更好得描述数据空间分布结构,能够有 效缩小同一簇内数据点之间的差异,放大不同簇间的差异,从而使得算法在聚类时更易区 分不同簇、发现复杂结构簇,有利于得到理想聚类结果。
[0031] (2)与基于欧氏距离的DPC算法相比,在人工数据集和真实数据集上的实验表明, 本发明算法不仅更易选取聚类中心,而且具有更高的准确率和更优的结果。
【附图说明】
[0032]图1是本发明的实现流程图;
[0033]图2是DPC算法在Jain数据集上错误聚类结果,2个类;
[0034]图3是本发明算法在Jain数据集上理想聚类结果,2个类;
[0035]图4是DPC算法在Circlebloc数据集上错误聚类结果,2个类;
[0036]图5是本发明算法在Circlebloc数据集上理想聚类结果,2个类;
[0037]图6是DPC算法在Lineblocks数据集上错误聚类结果,3个类;
[0038]图7是本发明算法在Lineblocks数据集上理想聚类结果,3个类;
[0039]图8是DPC算法在3cirCles数据集上错误聚类结果,7个类;
[0040]图9是本发明算法在3cirCles数据集上理想聚类结果,3个类;
[00411图10是p取不同值时,本发明算法与DPC算法分别在Jain和Seeds数据集上ARI指 标;
[0042]图11是a取不同值时,本发明算法在Jain和Seeds数据集上ARI指标;
[0043] 另外,在附图2~图9中,聚类中心由加粗实心圆点表示,不同类别由不同形状符号 表不。
【具体实施方式】
[0044] 为了阐明本发明的目的、技术方案和优点,以下结合具体实施例及附图,对本发明 做进一步详细说明。
[0045] 参照图1,本发明的具体实施过程包括以下步骤:
[0046] (1)输入数据集X={X1,X2,…,Xn}GR D,数据点的邻居点总数占数据集样本总数的 比例值P,距离调节因子a;其中,n表示样本个数,D表示样本维数。
[0047] (2)首先计算数据AXl与幻之间的欧氏距离:
[0049]得到欧氏距离矩阵dnXn;其次计算点Xl与幻之间的自适应相似度:
[0051]得到相似度矩阵SnXn。其中,局部尺度参数〇1定义为〇1 = d(Xl,Xkn);〇1表示点Xl与其 第kn个近邻点Xkn的欧氏距离,取kn = 6。自适应相似度考虑了数据点自身所处邻域环境对相 似度的影响,能够更好地度量不同密度簇内点的相似度,特别是能够加大低密度簇内数据 点间的相似度,从而有利于算法发现低密度簇。
[0052] (3)基于欧氏距离矩阵cUdP自适应相似度SnXn定义局部密度自适应距离
[0053] LD\x,x])= x}^Nk{Xl)
[0054] 其中,aG(l,l〇]是距离调节因子,默认值为2;Nk(Xl)表示点i基于欧氏距离测度的 前k个近邻点构成的集合,取k = 5为默认常量;w(Xl,&)作为距离调节权重因子,仅作用于为 k近邻关系的点Xl与幻之间的距离调节,其定义如下:
[0055] w(xi,Xj) = l-S(xi,Xj)
[0056] (4)然而,局部密度自适应距离只能一定程度上对局部区域进行距离调节,尚不能 从全局角度有效度量复杂结构簇。为了解决这一问题,在局部密度自适应距离的基础上定 义全局密度自适应距离。将数据集构造为加权无向图G,p为图G上一条连接点Xl与&的路径, PlJ表示连接点Xl与幻的所有路径的集合,IP I表示P的长度。定义全局密度自适应距离如下:
[0057] GD (.\;.,^(.)= min |/;|
[0058] (5)根据数据点的邻居点总数占数据集样本总数的比例值p计算截断距离dc:首先 对n个样本点的m = n(n-l)/2个全局密度自适应距离快速排序,设按降序排序后的距离有 gdl<gd2<."<gdmJJ^ = g^「7?ilO〇l6
[0059] (6)基于全局密度自适应距离和截断距离计算每个点Xl的局部密度Pl和点i到具有 更高局部密度点的最短距离S 1<3其中,
[0060] _ "c) /
[0061 ] = min (t/,) j>Pi
[0062]然后绘制心关于Pl的函数关系图,称为决策图,根据决策图选取聚类中心。
[0063] (7)将剩下的每个点分配到具有更高局部密度的最近邻点所属的簇。
[0064] (8)输出聚类结果0={&,&,…,Ck},k为簇数。
[0065] 本发明的效果可通过以下仿真实验进一步说明。
[0066] 1 ?仿真条件
[0067]为了验证本发明算法的性能,分别在人工数据集和UCI真实数据集上进行实验,实 验所用数据集信息分别如表1和表2所示。仿真实验在同一PC机(WindowslO 64位操作系统、 Intel Core i7 2.5GHz CPU、4G内存)、MATLAB R2013a上编程及运行。
[0068]表1人工数据集
[0072] 2.仿真结果
[0073]实验1本发明方法与DPC方法在人工数据集上的对比实验
[0074]实验结果如附图2-图9所示。由于Jain数据集的两个不同密度簇相互缠绕,直接导 致基于欧氏距离的DPC算法不仅容易错选聚类中心,而且易将两个簇相近的部分点错误合 并,如图2所示。Circleblock数据集由一个密度分布不均匀的、具有多个高密度区域的环状 簇和一个被环状簇包围的块状簇构成;由于环状簇内存在多个密度峰,因而导致DPC算法不 仅容易错选聚类中心,而且即使选对了聚类中心也只能得到错误聚类结果,如图4所示。对 于Lineblocks数据集,由于流形结构簇围绕着另两个块状簇,且流形结构簇的两端距另两 个簇比较近,导致无论P取何值,DPC算法都无法准确区分三个簇,如图6所示。3cir Cles数据 集由两个密度分布相对均匀的圆形簇及一个团状簇构成,虽然三个簇之间都有明显的间隔 区域,但由于两个圆形簇内的数据点分布相对均匀、没有明显的高密度区域,从而导致DPC 算法极易错选7个而非正确的3个聚类中心,如图8所示。反之,本发明算法不仅降低了在上 述4个数据集上准确选取聚类中心的难度,而且都能得到理想聚类结果,实验结果分别如图 3、图5、图7、图9所示。上述实验表明,与DPC算法相比,本发明算法不仅更易选取聚类中心, 而且具有更优的结果。
[0075]实验2本发明算法与DPC方法在UCI真实数据集上的对比实验 [0076]为了进一步验证本发明算法在真实数据集上的性能,使用表2中6个常用UCI数据 集进行实验,并采用常用的F-measure与ARI(Adjusted Rand Index)指标评价聚类结果。其 中,F-measure指标取值范围为[0,1],ARI指标取值范围为[-1,1],值越大表明聚类效果越 好。
[0077]在最佳参数值下,DPC算法与本发明算法在表2数据集上聚类所得F-measure与ARI 指标值见表3。表3表明,除了在处理Glass数据集时本发明算法的ARI指标值比DPC算法的 低,在其他5个数据集上,本发明算法的两个指标值均比DPC算法的更优。特别是在Iris、 Breast、Ecol i三个数据集上,两个指标值均得到了明显提高。整体而言,本发明算法能够得 到更优的聚类结果,具有更高的准确度。
[0078] 表3两种算法的F-measure与ARI指标值对比
[0080] 实验3算法输入参数分析实验
[0081] 与DPC算法相比,除了参数P,本发明算法引入了一个新参数:距离调节因子CU为了 简要分析两个参数对算法的影响,采用人工数据集Jain和UCI真实数据集Seeds进行实验。 图10为P取不同值时,两种算法在两个数据集上的ARI指标值。对于Jain数据集,p G [0. 5, 15]时,DPC算法的指标值在[-0.0341,0.7055]之间变动,特别是当p G [0. 5,6]时曲线波动 较大;而本发明算法的指标值则始终为1,表明结果正确且稳定。另外,在结构相对复杂的 Seeds数据集上,虽然pG [4.5,9.5]时DPC算法的指标值比本发明算法的稍高,但在其他区 间,本发明算法的指标值则都高于DPC算法且在!)£[0.5,2.5]时能够取得最优值,而且本发 明算法的曲线整体波动较小,在p多4.5时能够趋于稳定。图11为p不变、a取不同值时,本发 明算法在两个数据集上的ARI指标值。当aG[1.5,10]时,对于Jain数据集,本发明算法的指 标值始终为1,表明结果正确且稳定;对于Seeds数据集,当aG[1.5,9]时,本发明算法的指 标值相对较优且曲线只有小幅度波动。综上所述并结合其他实验,参数P和a建议取值:PG [1,10],a G [2,10]。整体而言,算法对参数p或a不太敏感,二者的细微变化对聚类结果没有 大的影响。
【主权项】
1. 一种基于密度自适应距离的密度峰聚类算法,包括以下步骤: ⑴输入数据集X={X1,X2,-_,Xn}eRD,数据点的邻居点总数占数据集样本总数的比例 值P,距离调节因子α;其中,η表示样本个数,D表示样本维数; (2) 首先,计算数据点^与幻之间的欧氏距离:得到欧氏距离矩阵dnXn。其次,计算点^与&之间的自适应相似度:得到相似度矩阵Snxn。其中,局部尺度参数〇1定义为〇1 = d(Xl,Xkn);〇1表示点Xl与其第kn 个近邻点Xkn的欧氏距离,取kn = 6; (3) 基于自适应相似度Snxn和欧氏距离矩阵dnXn定义局部密度自适应距离LD(Xl, Xj); (4) 基于局部密度自适应距离,将数据集构造为加权无向图G,设p为图G上一条连接点X1 与幻的路径,|p I表示路径P的长度,表示连接点^与幻的所有路径的集合,全局密度自适 应距离定义为:(5) 根据数据点的邻居点总数占数据集样本总数的比例值p计算截断距离dc:首先对η 个样本点的m = n(n-l)/2个全局密度自适应距离进行快速排序,设按升序排序后的距离有 gdi<gd2&..<gdm,则士 其中,fpwt/l.OO.'l表示对pm/100向上取整; (6) 基于全局密度自适应距离和截断距离计算每个点i的局部密度P1和点i到具有更高 局部密度点的最短距离心,绘制决策图,选取聚类中心;其中,(7) 将剩下的每个点分配到具有更高局部密度的最近邻点所属的簇; (8) 输出聚类结果ε={&,(:2,···?Λ为簇数。2. 根据权利要求1所述的聚类算法,步骤(3)按如下过程进行:其中,ae(l,l〇]是距离调节因子,默认值为2;Nk(Xl)表示点i基于欧氏距离测度的前k 个近邻点构成的集合,取k = 5为默认常量;w(Xl,Xj)作为距离调节权重因子,仅作用于为Idfi 邻关系的点^与&之间的距离调节,其定义如下: W ( Xi , Xj ) - I-S ( Xi , Xj ) 〇
【文档编号】G06K9/62GK105930862SQ201610228374
【公开日】2016年9月7日
【申请日】2016年4月13日
【发明人】葛洪伟, 李涛, 李莉, 朱嘉钢
【申请人】江南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1