一种基于随机采样的DBSCAN参数自动生成方法

文档序号:29852591发布日期:2022-04-30 08:19阅读:223来源:国知局
一种基于随机采样的DBSCAN参数自动生成方法
一种基于随机采样的dbscan参数自动生成方法
技术领域
1.本发明属计算机采样技术领域,尤其涉及一种基于随机采样的dbscan参数自动生成方法。


背景技术:

2.dbscan算法是最为经典与常用的密度聚类算法,利用该算法可以在大量数据中有效地发现任意形状的聚类并且过滤掉孤立的数据点。但是该算法对参数邻域半径 eps和密度阈值minpts非常敏感,如果参数设置的不合理,那么聚类效果一落千丈。所以该算法在实际应用中面临的最大难题是如何在缺乏领域相关知识的情况下,选择合理有效的参数。
3.自dbscan算法提出以来,其参数选择问题就备受关注。北京大学学报(自然科学版2004(03):480-486)
ꢀ“
屏蔽了输入参数敏感性的dbscan改进算法”(作者:蔡颖琨,谢昆青,马修军)提出通过记录类间的连接信息,有效屏蔽了输入参数的敏感性,但是为了取得较好的聚类效果仍然需要人为确定哪些类别可以进行合并。西安理工大学学报(2012,28(03):289-292)“dbscan算法中参数自适应确定方法的研究”(作者:周红芳,王鹏)中提出了通过计算数据集中所有样本间的距离分布矩阵来确定eps和minpts的方法,由于需要计算所有样本间的距离,因此当数据量增大时,该方法对时间和空间的消耗将非常巨大。中国科学院研究生院学报(2009,26(04):530-538)“一种自适应基于密度聚类算法”(作者:夏鲁宁,荆继武)提出了一种通过分析数据集的统计特性来自动确定eps和minpts的方法,该方法同样需要考虑所有数据,因此同样不适合处理大规模的数据。
4.另外,上述方法虽然在一定程度上解决了参数敏感的问题,但是并没有结合聚类效果评价标准验证所得参数的有效性。因此如何针对不同数据集给出合理有效的聚类参数仍是有待解决的问题。


技术实现要素:

5.为解决上述技术问题,本发明提出了一种基于采样的dbscan算法参数自动生成方法,其特征在于,所述方法包括将原始数据集按密度进行采样和对候选参数进行迭代验证的两个处理过程,其中采样包括以下步骤:步骤1,选择多个初始点;步骤2,寻找每个初始点的k个最近邻点,k≥2,每个初始点及其k个最近邻一起构成一个小组;步骤3,使用方差或标准差法计算每个初始点和它的最近邻点的密度;步骤4,去除密度较小的小组,剩余小组作为最终采样结果;针对最终采样结果执行迭代验证,其包括以下步骤:步骤5,根据第一次采样生成k-1组候选参数,并判断是否存在第二次采样;如果存在第二次采样,使用第二次采样结果作为验证数据集;如果没有第二次采样,则第一次采样的数据集作为验证数据集;
步骤6,第一次聚类时,i赋值为1,取第i组候选参数,利用该参数对验证数据执行聚类;其中i=2,3,

,k-1;步骤7,使用评价指标评定聚类效果,聚类效果评价指标选择已有的或新提出的评价指标;步骤8,令i=i+1,判断是否i>k-1,如果否,返回步骤6;如果是,转入步骤9;步骤9,输出最优参数。
6.进一步的,步骤1包括:初始点的数量由原始数据量决定;原始数据量大,需要选取足够多的初始点。
7.进一步的,步骤3包括:每个初始点和它周围的k个近邻点构成同一个小组。
8.进一步的,步骤4还包括子步骤:步骤4.1,采样一组数据用于生成候选参数;步骤4.2,如果原始数据量大,则采样第二组数据用来验证候选参数的效果。
9.进一步的,步骤6包括:当minpts取其中某值时,eps取对应小组的初始点第i个近邻距离的最小值。
10.进一步的,步骤7中聚类评价指标包括:s_dbw、dbcv。
11.采用本发明的方法,对原始数据集按密度进行采样的过程和对候选参数进行迭代验证的过程两部分。首先从原始数据集中选择部分数据用来生成候选参数,再对原始数据进行一次采样用来验证候选参数的效果。之后,将一系列候选参数应用到采样数据上,利用聚类评价指标验证每种参数的效果,并从中选择效果最好的参数。
附图说明
12.图1是本方案的整体架构;图2是采样部分的详细流程;图3是一个数据集和它的采样实例;图4是迭代验证部分的详细流程;图5是一个包含两个小组的采样实例。
具体实施方式
13.鉴于已有的参数生成方案均需要分析整体数据,当数据量增大后,对时间和空间的消耗将非常巨大,并且这些方案没有利用验证生成的参数效果等问题。本发明提出了一种基于采样并且结合聚类效果评价指标的dbscan参数生成方案,不仅可以帮助缺乏相关知识的人员合理地设置参数,而且在大数据集的情况下仍然可以使用,增强了dbscan算法的实用性。其具体的技术方案为:基于采样的dbscan算法参数自动生成方案,其中包括对原始数据集按密度进行采样的过程和对候选参数进行迭代验证的过程两部分。首先从原始数据集中选择部分数据用来生成候选参数,再对原始数据进行一次采样用来验证候选参数的效果(若原始数据的数据量较小,可以不进行第二次采样,直接应用原始数据集)。之后,将一系列候选参数应用到采样数据上,利用聚类评价指标验证每种参数的效果,并从中选择效果最好的参数。
14.在采样的过程中,采样得到的数据需满足某种要求:即如果某一参数对于采样数
据聚类效果好,那么该参数对于原始数据仍然具有较好的效果。之所以需要样本数据满足上述要求,是因为此时便可利用样本数据验证每组参数的效果,而不必使用全体数据,这能极大地降低时间和空间复杂度。其采样过程为:在原始数据集中随机选取数个初始点,不要太少,并确定每个点的k个最近邻,以此组成采样数据,便可满足上述要求。采样一组数据用于生成候选参数。如果原始数据量较大,则采样第二组数据用来验证候选参数的效果。
15.在对候选参数进行迭代验证的过程中,将根据采样数据生成一系列候选参数:密度阈值minpts由2至k的整数数列,邻域半径eps为相应的最近邻距离,并在另一组采样数据(或原始数据)上验证参数效果。并且对每一个参数利用聚类效果评价指标对该参数的优劣进行量化,最终选出最好的参数。其中聚类效果评价指标可以是任何已有的或将来提出的评价指标。
16.以下结合附图对本发明的具体实施方式作出详细说明。
17.参照图一,本发明主要分为两部分:采样部分和迭代验证部分。采样部分负责从原始数据集中抽取两份采样数据,其中一份用来生成候选参数,另一份用于验证候选参数的有效性。迭代验证部分负责利用候选参数对采样数据进行聚类,并给出每次聚类效果的评价,最终选出较好的参数。
18.图二给出了采样部分的整体流程,图三给出了一个原始数据集和它的采样实例,下面结合图三对图二的采样流程做详细介绍。图三中所有的点一起构成了目标数据集,可以清晰地看到该数据集包含两个密度较为稠密的区域,即具有两个聚类。在采样的过程中,将首先随机抽取多个点(随着数据总量的增加,抽取的数据点个数也应相应的增多)作为初始点,如图中红点所示。之后寻找这些初始点的k个最近邻,图中以蓝色的点标出,其中。每个初始点及其k个最近邻一起构成一个小组,图中以红圈标出。
19.原始数据经过聚类,有些数据属于聚类组,而另外一些数据则属于噪音。在选择初始点的过程中,因为是随机选择,所以有些初始点可能属于聚类组,而另外一些则属于噪音。在图二中,有两个初始点属于聚类组,另外四个初始点则属于噪音。为了生成候选的聚类参数,需要找到初始点属于聚类组的小组。因为初始点属于噪音的小组密度将远远小于初始点属于聚类组的小组,所以可以根据各个小组的密度进行区分。
20.至于如何衡量各个小组的密度,最简单的方法便是利用方差或标准差,当然也可以使用其它密度衡量方式。最后去除密度较小的组,只保留密度较大的组,这些小组的初始点全部属于聚类组,这便是最终的采样结果。为了避免随机选取的初始点全部属于噪音,当原始数据量增大时,随机选取的初始点数量也应随之增多。
21.经过上面的采样,可以得到一组采样数据,该组采样数据用于生成候选参数,称其为采样一。如果原始数据量较大,还需进行第二次采样,用来验证各组参数的效果,其采样过程与上述相似,不过可以选择不去除噪音初始点。在原始数据量较小的情况下也可以直接利用原始数据验证各个参数,但此时一般会花费更多时间。之所以能用采样数据验证各个参数的效果,是因为在采样的过程中保留了聚类区域的密度。如果某一参数可以令采样数据取得较好的效果,那么该参数也一定能令原始数据取得不错的效果。
22.图四给出了迭代验证过程的整体流程,图五则为图三中两个初始点属于聚类的小组放大图,它也为图三采样的最终结果,下面结合图五详细介绍迭代验证部分。
23.在该部分,将首先根据采样结果生成一系列候选参数,其过程如下:令minpts依次
为2、3、4

k(k为采样过程中的最近邻个数),当minpts为时,eps取所有小组中初始点与第i个最近邻距离的最小值。
24.例如,图五中的候选参数生成过程为:因为在采样的过程中保留了每个初始点的10个最近邻,所以令minpts依次为2、3、4

10,当minpts取其中某个值时,假如此时minpts=2,则令eps取这两个小组的初始点第2个最近邻距离的最小值,假如小组1中初始点到第2个最近邻的距离是10,小组2中初始点到第2个最近邻的距离为12,此时。
25.按照上述过程便生成了k-1组候选参数,在生成eps的过程中,之所以令其为所有小组中的最小值,是为了防止采样获得的小组中存在噪音。在获得上述候选参数后,利用每组聚类参数对另一份采样数据(如果数据量小,可以直接应用全体数据)进行dbscan聚类,并使用聚类效果评价指标,如:s_dbw、dbcv等判断聚类效果的好坏,s_dbw是一种评价聚类效果的指标,基本公式为s_dbw (c) = scat(c) + dens_bw(c)。dbcv:基于相对密度的评价方法(density-based clustering validation)。在验证完所有参数后,将效果最好的一组(或多组)候选参数作为最终结果返回。
26.最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1