基于K近邻和多类合并密度峰值聚类方法、图像分割系统与流程

文档序号:17008251发布日期:2019-03-02 02:07阅读:1171来源:国知局
基于K近邻和多类合并密度峰值聚类方法、图像分割系统与流程

本发明属于用于阅读或识别印刷或书写字符或者用于识别图形技术领域,尤其涉及一种基于k近邻和多类合并密度峰值聚类方法、图像分割系统。



背景技术:

目前,业内常用的现有技术是这样的:聚类可从无序数据中挖掘出潜在的有价值信息,其在图像分割、文档恢复及模式分类等诸多领域中有着广泛的应用前景。目前已有多种聚类方法,包括分割聚类、层次聚类、密度聚类及基于网格的聚类等。k-means是最简单且最受欢迎的分割聚类算法,具有操作简单、速度快等优点,但其非常依赖聚类数目及初始类中心;基于密度的dbscan算法也深受人们喜爱,其不仅可以识别出具有不规则形状的类,而且具有较强的抗噪能力,但其易受邻域半径ε和阈值minpts这两个预设参数的影响,微小的变化都会导致不同的结果。仿射传播聚类(affinitypropagation,ap)算法,该算法简单有效,不需要预先指定聚类数目,但其所得聚类数目深受参数“preference”的影响。为了提高聚类质量及聚类效率,在science期刊上发表了一种快速搜索与发现密度峰值的聚类算法dpc,其具有聚类速度快、可以有效识别类中心和噪声等优点;尽管该算法现已被运用于图像、工业、医学、社区发现等领域,但其仍存在以下局限:①对截断距离参数dc很敏感,且未给出选取该参数的有效方法;②对于大小不同数据集,采用的密度计算方式不同,这无形中降低了算法的灵活性;③对剩余点的分配策略易产生误差传播现象;④当一个类中存在多个密度峰值时,dpc会将该类聚成多类。因此,有不少国内外研究者对dpc进行了优化改进;将dpc和fcm算法结合提出了fdp-fcm算法,解决了fcm算法中存在的对初始聚类中心敏感、聚类速度慢以及聚类数目难以确定的问题。将dpc和chameleon算法相结合提出了e_cfsfdp算法,解决了dpc无法处理一个类中包含多个密度峰值点的问题。将密度比的概念引入dpc提出了r-cfsfdp算法,弥补了dpc难以处理密度变化比较大的数据的缺陷。利用信息熵理论提出了一种从原始数据集中自动提取dc的方法,解决了dpc中dc参数难以确定的问题。fuzzy-cfsfdp算法,通过引入模糊规则来自动获取聚类中心,提高了聚类中心点选取和聚类结果的准确率。基于k近邻(k-nearestneighbors,knn)思想分别提出了dpc-knn和fknn-dpc算法,不仅解决了dpc中的密度计算方式不统一问题,同时提高了聚类精度。adpc-knn算法,其使用knn思想来计算每个点的全局参数dc和局部密度,给出了一种自动选择初始聚类中心的新方法,提高了聚类质量。尽管这些方法获得的聚类结果比dpc的更理想,但其同时也带来了新问题,例如耗时增加、模型复杂、在真实数据集上性能不佳等。

综上所述,现有技术存在的问题是:密度峰值聚类算法在处理结构复杂、维数较高以及同类中存在多个密度峰值的数据集时,由于该方法采用的局部密度度量方式不统一,而且分配剩余点时易产生误差传播以及将包含多密度峰值的类聚成多类,以致该算法获得的聚类质量低,难以有效应用于实际问题中。

解决上述技术问题的难度和意义:如何设计统一的局部密度度量方式、简单高效的剩余点分配策略以及对包含多密度峰值点的类进行合并的策略,是提升密度峰值聚类方法的性能并将其有效应用于解决实际问题的关键和难点所在。因此通过对该算法进行有效完善来提升密度峰值方法的聚类质量和执行效率,并将其应用于实际问题中是具有显著意义的。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于k近邻和多类合并密度峰值聚类方法(km-dpc)。

本发明是这样实现的,通过利用密度计算方式描述样本分布;采用新的评价指标获取聚类中心;结合k近邻思想设计迭代分配策略将剩余点准确归类;给出局部类合并方法防止将包含多个密度峰值点的类分裂。

基于k近邻和多类合并密度峰值聚类方法包括以下步骤:

输入:数据集x,相似性系数r

step1数据预处理:补全缺失值,标准化数据集;

step2计算数据点间的距离;利用公式计算每点的距离δ和密度ρ;

最小距离δi为:

对于密度最大的点xi,其距离为δi=maxk(dik),局部密度ρi;

局部密度ρi由数据集的大小n、数据点间的距离dik及相似性系数r确定:

ρi=∑kψ(dik,r,n)

其中,ψ(dik,r,n)=exp(-dik2/(r*σ2)),σ=n/100,r值越大,距xi越近的点对其密度ρi的贡献权重越大;

step3计算γ值并对其进行降序排序;利用决策图选取聚类中心;

聚类中心评价指标γi,计算方式为:

其中,偏好系数p=1.2,表明密度比距离信息略重要.γi值越大,点xi成为聚类中心的可能性越大;

step4将剩余点都分配到距其最近的类中心;

step5分离出各局部类中的离群点;

离群点筛选公式如下:

其中,outliersm(m=1,2,...,m)为从cm中分离出的离群点;

step6利用迭代策略分配离群点:

a)若迭代结束;

b)依式(9)和式(10)分配剩余点;

c)若离群点个数未变,更新τ,转stepa);

τ=τ+0.05

step7利用局部类合并过程将局部类合并;

输出:样本类别标签labels。

采用所述基于k近邻和多类合并密度峰值聚类方法的新密度计算方法:对于任意数据点xi,局部密度ρi由数据集的大小n、数据点间的距离dik及相似性系数r确定:

ρi=∑kψ(dik,r,n)

其中,ψ(dik,r,n)=exp(-dik2/(r*σ2)),σ=n/100,r值越大,距xi越近的点对其密度ρi的贡献权重越大;

构建新的聚类中心评价指标γi,计算方式为:

其中,偏好系数p=1.2,表明密度比距离信息略重要;γi值越大,点xi成为聚类中心的可能性越大。

进一步,所述基于k近邻和多类合并密度峰值聚类方法的局部聚类包括:

离群点筛选阶段,将距聚类中心较近的点看作核心点,并将之分配至距其最近的类中心所属的局部类中,而将距类中心较远的点看作离群点;

迭代分类阶段,通过迭代策略将离群点分配到恰当的类。

进一步包括:

1)筛选离群点,在利用决策图选出聚类中心后,将剩余点分配到最近的类中,以得到m个局部类;因离群点通常具有较低密度且距类中心较远,将类中心点的邻域半径ε之外的点看做离群点,其中ε为各局部类中所有数据点到类中心点的距离平均值;在局部类cm中,共含有|cm|个数据点,类中任意数据点xi与其类中心间的距离为邻域半径为离群点筛选公式如下:

其中,outliersm(m=1,2,...,m)为从cm中分离出的离群点;

2)迭代分类

对于每个离群点xi∈outliersm,被分配到哪个局部类由它的k近邻分布信息来决定;xi与knnim间的距离之和与该点到knni的距离之和的比值;

将xi归入cm;xi对多个局部类均满足该判别条件,将xi分配到使ti,m最小的类中;

ti,m≤τ;

对离群点分配后,修正τ迭代过程继续进行,

τ=τ+0.05

直到所有的点被分配完毕。

进一步,所述基于k近邻和多类合并密度峰值聚类方法的多类合并以距离和密度作为合并条件,具体包括:

步骤一,计算m个类中心点间的平均距离

步骤二,将类间距离小于平均距离的类对cm和cn的距离dcen(cm,cn)存入矩阵q,并对q矩阵按距离值作升序排序后得到新矩阵q′;

步骤三,取出q′矩阵的第一组值,即距离最近的两个类中心c1和c2;

步骤四,获取包含c1的类c1中所有数据点的k近邻出现在包含c2的类c2中的点集set1,同理获得set2;

步骤五,取set1和set2的中值作为预合并中心c;

步骤六,以最小类间距离的1/2为密度范围来计算c1、c2和c三个点的密度ρ1、ρ2和ρc;

步骤七,判断ρc是否大于等于1/4原始类中心密度之和,公式如下:

不满足则选择q′中下一组值对应的两个类中心,并转步骤四;满足条件则标记两个局部类可合并;

步骤八,将标记为可合并的局部类进行合并。

本发明的另一目的在于提供一种应用所述基于k近邻和多类合并密度峰值聚类方法的图像分割系统。

本发明的另一目的在于提供一种应用所述基于k近邻和多类合并密度峰值聚类方法的文档恢复系统。

本发明的另一目的在于提供一种应用所述基于k近邻和多类合并密度峰值聚类方法的模式分类系统。

本发明的另一目的在于提供一种应用所述基于k近邻和多类合并密度峰值聚类方法的信息数据处理终端。

综上所述,本发明的优点及积极效果为:本发明给出了统一的密度度量方式、采用了基于k近邻和迭代思想的分配策略、设计了局部类合并步骤,显著改善了dpc在算法灵活度以及聚类质量方面的缺陷.仿真实验证明,本发明能够获得良好的聚类结果,尤其在处理结构复杂的数据集jain、compound、a1及维数较高的人脸数据集时,其聚类性能在acc、ami及ari方面明显优于dpc、ap、dbscan、k-means;对于真实数据集,本发明的整体性能不仅优于上述四种聚类方法,而且与近期提出的fknn-dpc相比也表现略优,进一步验证了本发明的可行性和有效性。

附图说明

图1是本发明实施例提供的基于k近邻和多类合并密度峰值聚类方法流程图。

图2是本发明实施例提供的dpc算法示意图;

图中:(a)原始数据集;(b)ρ和δ决策图;(c)γ数值决策图。

图3是本发明实施例提供的局部类合并过程示意图。

图4是本发明实施例提供的km-dpc、ap及dpc对人脸数据聚类效果。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明基于k近邻和多类合并的密度峰值聚类算法(km-dpc),利用定义的密度计算方式来描述样本分布,采用新的评价指标获取聚类中心;然后结合k近邻思想设计迭代分配策略将剩余点准确归类;给出一种局部类合并方法以防将包含多个密度峰值点的类分裂。仿真实验结果表明,km-dpc在22个不同数据集上的性能明显优于dpc。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的基于k近邻和多类合并密度峰值聚类方法包括以下步骤:

s101:数据预处理,补全缺失值,标准化数据集;

s102:计算数据点间的距离;计算每点的距离和密度;

s103:计算新的指标值并对其进行降序排序;利用决策图选取聚类中心;

s104:将剩余点都分配到距其最近的类中心;

s105:分离出各局部类中的离群点;

s106:利用迭代策略分配离群点;

s107:利用局部类合并过程将局部类合并。

下面结合具体实施例对本发明的应用原理作进一步的描述。

1、dpc算法

设待聚类数据集为x={x1,x2,...,xn},其相应大小和维数分别为n和d,dik=dist(xi,xk)为数据点xi与xk间的欧式距离,dpc的思想是通过利用每点的密度和距离信息将x划分为m个局部类c={c1,c2,...,cm}。

dpc基于以下两点假设进行设计:1)聚类中心点被低密度点包围;2)聚类中心与其他具有较高密度点间的距离相对较远;因此,在聚类过程中,dpc需要计算每点的局部密度ρ和与其他具有较高密度点之间的距离δ,其定义如下:

定义1(局部密度)对于任意数据点xi,其局部密度ρi由数据点间距离dik及截断距离dc确定,即:

其中,可以采用cut-offkernel函数形式:

也可采用gasssiankernel函数形式:

ρi=∑kexp(-(dik/dc)2)(3)

定义2(距离)对于任意数据点xi,它与其他局部密度更高点之间的最小距离δi为:

其中,对于密度最大的点xi,其距离为δi=maxk(dik);由于那些具有局部或全局密度最大的点,它的δi值远大于其最近邻的距离属性值,故将ρ和δ都很大的点作为聚类中心,亦称为密度峰值;

为了自适应地探测数据集中存在的最优聚类数目,dpc引入了一种启发式方法(决策图),即将每点的ρ值和δ值于坐标平面内绘出,通过分析图来选取聚类中心;如图2(a)展示了包含四个类的原始数据集分布情况;图2(b)显示了由图2(a)中每点的ρ值与δ值所绘制的决策图;由于聚类中心具有较大密度且与其他较高密度点具有较远距离的属性,故用户可在决策图中选出ρ值和δ值都很大的点作为聚类中心,即图2(b)中右上角4个点;然而,对于稀疏分布的数据集,利用ρ和δ信息往往难以确定其密度峰值,此时dpc提供了新的指标γ=ρ*δ来获取聚类中心,γi值越大,xi成为聚类中心点的可能性越大;将降序排列的γ数值于坐标平面上绘出(如图2(c)),因聚类中心点具有较大的γ值,而剩余点具有的γ值较小且呈平滑趋势,二者间有明显的跳跃现象,故可使用一条平行于横轴的直线将其分开,使得直线上方的γ值所对应的点即为聚类中心;找出聚类中心后,将剩余点归入其具有较高密度的最近邻所属的类中;

2、km-dpc算法

针对dpc对于不同数据集所采取的密度度量方式不一致问题,km-dpc根据样本间的分布情况给出了统一的新局部密度度量方法,并基于密度信息比距离信息重要的想法建立类中心评价指标,以辅助人们更准确选取类中心点;针对dpc的分配策略易造成误差传播问题,km-dpc将k近邻与迭代思想相结合来实现对剩余点的分配,以完成局部聚类工作;最后通过合并策略将局部类合并,以防像dpc一样将存在多个密度峰值的一个类聚成多类;下面详细描述km-dpc在聚类过程中各阶段的实现过程。

2.1聚类中心

由样本间分布可知,与数据点xi相似(距xi较近)的点越多,该点的密度越大,在此给出新密度计算方法:对于任意数据点xi,其局部密度ρi由数据集的大小n、数据点间的距离dik及相似性系数r确定,即:

ρi=∑kψ(dik,r,n)(5)

其中,ψ(dik,r,n)=exp(-dik2/(r*σ2)),σ=n/100,r值越大,距xi越近的点对其密度ρi的贡献权重越大;

由式(4)和(5)可获得每个数据点的距离和密度属性值;对于大多数数据集而言,其密度属性与距离属性的重要程度略有不同,故构建新的聚类中心评价指标γi,其计算方式为:

其中,偏好系数p=1.2,表明密度比距离信息略重要;γi值越大,点xi成为聚类中心的可能性越大,故聚类中心的选取可利用决策图辅助,选取方法如图2(c)所示;

2.2局部聚类

局部聚类过程主要分为两个阶段:离群点筛选阶段,将距聚类中心较近的点看作核心点,并将之分配至距其最近的类中心所属的局部类中,而将距类中心较远的点看作离群点;迭代分类阶段,通过迭代策略将离群点分配到恰当的类;

1)筛选离群点

在利用决策图选出聚类中心后,将剩余点一一分配到距其最近的类中,以得到m个局部类;因离群点通常具有较低密度且距类中心较远,故可将类中心点的邻域半径ε之外的点看做离群点,其中ε为各局部类中所有数据点到类中心点的距离平均值;例如:在局部类cm中,共含有|cm|个数据点,类中任意数据点xi与其类中心间的距离为则其邻域半径为离群点筛选公式如下:

其中,outliersm(m=1,2,...,m)为从cm中分离出的离群点;

2)迭代分类

对于每个离群点xi∈outliersm,其被分配到哪个局部类由它的k近邻分布信息来决定;若xi在局部类cm中的k近邻knnim的分布信息与点xi在x中的k近邻knni的分布信息越相似,即xi的knni中属于cm的点越多,则该点被分配到cm的可能性越大;其中相似度用ti,m来刻画,即xi与knnim间的距离之和与该点到knni的距离之和的比值;

由式(8)可知ti,m≥1,且该值越小,xi被分配到cm的可能性越大;由于在分配点xi时,其近邻可能仍未被分配,此时要使ti,m→1是非常困难的,故需构造新的判别条件将之分配:若比值ti,m在可接受范围τ(τ=2)以内,或是在区域τ+0.5以内且xi在cm中的最近邻是knni中某一个,即xi满足式(9)或(10),则将xi归入cm;若xi对多个局部类均满足该判别条件,则将xi分配到使ti,m最小的类中;

ti,m≤τ(9)

经(9)或(10)对离群点分配后,可能仍存在未分配点,此时可通过式(11)来修正τ以保证该迭代过程继续进行,直到所有的点被分配完毕;

τ=τ+0.05(11)

2.3多类合并

当一个类中存在多个密度峰值时,该类可能被聚成多类,以致聚类结果较差;为了避免该缺陷,本发明提出一种局部类合并策略,其以距离和密度作为合并条件,具体合并步骤及判断标准如下:

步骤2-3-1:计算m个类中心点间的平均距离

步骤2-3-2:将类间距离小于平均距离的类对cm和cn的距离dcen(cm,cn)(即满足式(12))存入矩阵q,并对q矩阵按距离值作升序排序后得到新矩阵q′;

步骤2-3-3:取出q′矩阵的第一组值,即距离最近的两个类中心c1和c2;

步骤2-3-4:获取包含c1的类c1中所有数据点的k近邻出现在包含c2的类c2中的点集set1,同理获得set2;

步骤2-3-5:取set1和set2的中值作为预合并中心c;

步骤2-3-6:以最小类间距离的1/2为密度范围来计算c1、c2和c三个点的密度ρ1、ρ2和ρc;

步骤2-3-7:判断ρc是否大于等于1/4原始类中心密度之和,公式如下:

若不满足则选择q′中下一组值对应的两个类中心,并转步骤4;满足条件则标记两个局部类可合并;

步骤2-3-8:将标记为可合并的局部类进行合并;

图3展示了局部类合并的过程,对于类中心间距离最小且满足式(12)的两个类c1和c2(类中心分别为c1和c2),c1中所有数据点的k近邻出现在c2中的点集为set1(‘*’标记),c2中所有数据点的k近邻出现在c1中的点集为set2(‘+’标记),由合并策略可知预合并中心为set1和set2的均值点c,即左子图中黑实心‘o’标识的点;由于c1、c2和c三点的密度值ρ1、ρ2和ρc满足式(13),故将这两个局部类合并,合并后如右子图所示;

2.4km-dpc实现步骤

输入:数据集x,相似性系数r

步骤1:数据预处理:补全缺失值,标准化数据集;

步骤2:计算数据点间的距离;利用式(4)和式(5)计算每点的距离δ和密度ρ;

步骤3:利用式(6)计算γ值并对其进行降序排序;利用决策图选取聚类中心;

步骤4:将剩余点都分配到距其最近的类中心;

步骤5:依式(7)分离出各局部类中的离群点;

步骤6:利用迭代策略分配离群点:

a);若迭代结束;

b);依式(9)和式(10)分配剩余点;

c);若离群点个数未变,依式(11)更新τ,转步骤a);

步骤7:利用局部类合并过程将局部类合并;

输出:样本类别标签labels。

下面实验对本发明的应用效果做详细的描述。

1、实验结果与分析

为了验证km-dpc算法的聚类性能,本发明从文献(fuzzyclusteringbyfastsearchandfindofdensitypeak;studyondensitypeaksclusteringbasedonk-nearestneighborsandprincipalcomponentanalysis;robustclusteringbydetectingdensitypeaksandassigningpointsbasedonfuzzyweightedk-nearestneighbors;adaptivedensitypeakclusteringbasedonk-nearestneighborswithaggregatingstrategy;[22]ucimachinelearningrepository.http://archive.ics.uci.edu/ml.)中选取22个典型的常用于测试算法性能的数据集进行实验,并与dpc、ap、dbscan、k-means及fknn-dpc的各项聚类指标值进行比较;所有实验均在win7-matlab2015b环境下进行。评价聚类算法性能的常用指标:聚类精度(clusteringaccuracy,acc)、校正互信息系数(adjustedmutualinformation,ami)、校正rand系数(adjustedrandindex,ari)。其中acc与ami的取值范围为[0,1],ari在[-1,1]上取值,它们的值越大,表明聚类效果越好。km-dpc算法参数设置为:k近邻个数为3,相似性系数r在(0,4]内取值,其最优值通过网格搜索策略找出。

1.1合成数据集实验

本发明将测试km-dpc在合成数据集上的性能,数据集基本信息如表1所示,其中数据集spiral、jain和compound具有结构复杂、疏密度不一、类间样本不均衡以及有噪声干扰等特征,数据集a1、d31、s1、aggregation和r15存在类间相连以及重叠等现象,而数据集dim-set的各类间分布则较为明确。

表1合成数据集

对于密度算法来说,其密度估计准确与否对聚类中心选取及聚类质量有直接影响;面对具有不规则形状的数据集,km-dpc通过调节相似性系数来描述其分布,并根据密度属性比距离属性更重要的原则来评价聚类中心,故由其估计的密度及获取的聚类中心更符合实际情况。为了合理分配剩余点,km-dpc设计了新颖的策略,即将低密度稀疏区域内的点看作离群点,然后利用这些点在每类中的knn分布与其真实knn分布的相似程度来将其分配到最恰当的类。在每次迭代中,km-dpc仅分配上次迭代所分配的那些点的knn,从理论方面可看出该方法减轻了dpc中的误差传播。另外,为了防止同类数据被分裂,km-dpc根据可合并类之间的距离以及边界点的密度特征对相连的局部类进行了合并。因此,从理论上来说,km-dpc的性能优于dpc。

表2展示了km-dpc与其他四种聚类算法对表1中的合成数据集进行聚类所获得的性能评价指标acc、ami和ari值,其中粗体标记的数据为最优聚类结果;

表2km-dpc与其他四种聚类算法的acc、ami及ari性能指标对比

由表2可知,km-dpc、dpc和dbscan都能对spiral准确聚类,而ap和k-means却不能;主要是因为sprial呈非凸状,而ap选出的类中心点会吸引属于其他类中的点,以致其聚类结果较差;由于k-means是以迭代的方式将各点均分配到距其最近的类中心,它难以识别出非凸状的类或是大小差别较大的类,因此与其他聚类算法相比其适应性较差,以致难以获得理想的聚类结果;对于jain,km-dpc和dbscan均能获得最优的聚类结果,其次是dpc、ap和k-means;尽管dbscan能快速发现含噪空间中任意形状的类簇,但其参数难以设置,经多次调试后获得了上表结果;而dpc对剩余点进行分配时易产生误差传播,即一旦有一个数据点被错分,那么比该点密度小的点也会跟着被错分,故在jain、compound、r15、a1和d31上,其表现均差于获得最优结果的km-dpc;对于aggregation,km-dpc和dpc的聚类结果优于其他算法,均错分相接类中的两个点。由于dim-set中各类分布容易区分,故五种聚类算法在acc、ami和ari这三项指标方面均达到了最优。

通过上述分析,可以得出:km-dpc在合成数据集上的性能优于其他四种聚类算法;

1.2真实数据集实验

1.2.1uci数据集

为了进一步测试km-dpc的性能,从uci数据库中选取12个真实数据集进行实验,其基本信息如表3所述。使用km-dpc及其他五种聚类算法(fknn-dpc、dpc、ap、dbscan、k-means)对表3显示的真实数据集进行聚类,所得的acc、ami及ari结果见表4,其中粗体数据为最优结果,符号“-”表示无相应值,fknn-dpc的实验数据来源于。

表3真实数据集

表4km-dpc与其他五种聚类算法在uci数据集上的acc、ami和ari指标值对比

由表4可知,km-dpc在iris数据集上的聚类结果优于dpc、ap、dbscan和k-means,而略差于fknn-dpc。由于fknn-dpc是利用每点的knn来学习其被分配到各类的概率,其不仅考虑到了当前点的knn,同时也考虑到这些k近邻点的knn对当前点的贡献权重,故在边界点处理方面具有突出表现,例如其在iris和parkinsons上均达到了最优。但在处理含噪数据时,fknn-dpc却极易将噪声错分,例如在含噪数据集waveform(noise)上的表现略差于km-dpc。而km-dpc则是利用真实knn分布信息将各点由近及远地分配到与其真实分布最接近的局部类,因iris中第2,3类非线性可分(边界点呈交叉分布),以致第3类中的6个点被错分到第2类,仅达到96%的正确率。但是当数据的维数和聚类数目增加以及含有噪声干扰时,km-dpc的优势渐渐凸显。尽管dpc简单、快速,但其易产生误差传播,通过表4看出其性能均差于km-dpc和fknn-dpc。ap是将每个数据点都看作候选聚类中心并通过信息传递过程逐步识别类,但其在处理形状复杂、含噪声数据时性能不佳,当其对数据量和维数较大(如waveform和waveform(noise))的数据聚类时,时间复杂度较高,难以给出相应结果。由于数据集iris、parkinsons、dermatology、indians-diabetes、waveform和librasmovement存在疏密度不一、类间有交叉以及重叠等特征,以致km-dpc在acc、ami和ari指标值上难以达到全优,但其性能仍优于dpc算法。而对于其他数据集,km-dpc均表现最优,体现出其具有较强的适应性。

1.1.2人脸数据集

人脸数据集由40个类组成,每个类由10幅不同的图构成;由于不同类中的图像非常相似,一般算法对此难有较好的聚类效果,故本发明选用该数据集的前10个类(100幅图)来测试km-dpc的性能。

表5显示了算法km-dpc、dpc、ap、dbscan及k-means在人脸数据集上的聚类评价指标值;图4直观展示了km-dpc、dpc与ap的聚类结果,其中同颜色的图为同一类,本发明使用红色粗框来标识错分的图,右下角以白色方块标记的图为聚类中心。

表5人脸数据集对比实验

图4(a)发现,km-dpc可以有效地识别出该数据集中的10个类,其聚类精度高达98%,仅分错2幅图.由图4(b)和图4(c)可知ap也可取得较好聚类效果,仅错分4幅图,而dpc则在该数据集上表现略差。从表5的各性能评价指标值也能看出,km-dpc在人脸数据集上的表现优于其他对比算法,ap稍次于其后,而dpc、dbscan和k-means远落后于前两者。

另外在实验过程中发现,类中心个数的选取会影响dpc的聚类效果,其在决策图中选取9个类中心时可获得较好的聚类效果,而选取10个类中心时会出现包含多个密度峰值的一个类被其分裂成多类的现象;图4(c)展示了dpc在dc=0.10、类中心个数取9时的聚类结果,其效果比文献(clusteringbyfastsearchandfindofdensitypeaks)中取dc=0.07时获得的结果更优,再次验证了dpc对参数很敏感。

综上,本发明算法km-dpc通过给出适用于任意数据的密度度量方式、基于k近邻和迭代思想的分配策略、局部类合并步骤来改善dpc在算法灵活度以及聚类质量方面的缺陷。仿真实验证明,对于合成数据集和人脸数据集,km-dpc能够获得良好的聚类结果,尤其在处理结构复杂的数据集jain、compound、a1及维数较高的人脸数据集时,其聚类性能在acc、ami及ari方面明显优于dpc、ap、dbscan、k-means;对于真实数据集,km-dpc算法的整体性能不仅优于上述四种聚类算法,而且与近期提出的fknn-dpc算法相比也表现略优,进一步验证了本发明算法的可行性和有效性。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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