CN103902655B - 聚类方法、装置及终端设备 - Google Patents
聚类方法、装置及终端设备 Download PDFInfo
- Publication number
- CN103902655B CN103902655B CN201410073496.5A CN201410073496A CN103902655B CN 103902655 B CN103902655 B CN 103902655B CN 201410073496 A CN201410073496 A CN 201410073496A CN 103902655 B CN103902655 B CN 103902655B
- Authority
- CN
- China
- Prior art keywords
- neighborhood
- visited
- less
- objects
- threshold value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/30—Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本公开实施例公开了一种聚类方法、装置及终端设备,所述方法首先判断出待访问对象在多重邻域内存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;将待访问对象归为一类;再对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类;如果所述直接密度可达的对象不是核心对象,则停止扩展;然后,继续确定下一个待访问对象,直到全部待访问对象聚类完成。由于所述聚类方法在判断待访问对象是否是核心对象时,采用多重邻域类判断,相当于放宽松了对扫描半径和最小包含对象数的限制,因此,降低了聚类结果对扫描半径和最小包含对象数此两个参数的敏感性,提高了聚类结果的准确率。
Description
技术领域
本公开涉及数据处理技术领域,特别是涉及一种聚类方法、装置及终端设备。
背景技术
聚类是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,即将对象分类到不同的类或者簇的过程,同一个类中的对象有很大的相似性,不同类之间的对象有很大的相异性。
聚类方法包括很多种类,其中,基于密度的聚类方法与其它的聚类方法不同的是它不是基于各种距离,而是基于密度,只要一个区域中的点的密度大过某个阀值,就把它加到与之相近的聚类中去。这样能够克服基于距离的聚类算法只能发现“类圆形”的聚类的缺点。例如,DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法就是基于密度的聚类方法中一种典型算法,DBSCAN算法将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可以在噪声的空间数据库中发现任意形状的聚类。DBSCAN算法引入了核心对象的概念和两个初始参数Eps(扫描半径)和MinPts(最小包含对象数)。如果存在一个对象,在距它Eps的范围内有不少于MinPts个对象,则该对象就是核心对象。核心对象和它的Eps范围内的邻居对象形成一个簇。在一个簇内如果出现多个对象都是核心对象,则以这些核心对象为中心的簇要合并。但是,此种聚类算法的聚类结果对参数Eps和MinPts的取值非常敏感,即Eps和MinPts的取值不同,产生不同的聚类结果,从而导致聚类结果的不确定性。
发明内容
为克服相关技术中存在的问题,本公开提供一种聚类方法、装置及终端设备。
为了解决上述技术问题,本公开实施例公开了如下技术方案:
根据本公开实施例的第一方面,提供一种聚类方法,包括:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
判断所述待访问对象的多重邻域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值,所述多重邻域的扫描半径设置为由小到大依次变化;
当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,将所述待访问对象归为一类;
对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
结合第一方面,在第一方面的第一种可能的实现方式中,判断所述待访问对象的多重领域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值,采用如下方式:
获取所述邻居对象与所述待访问对象之间的距离;
按照扫描半径由小到大的顺序,根据所述距离判断所述邻域内的邻居对象的数量是否不小于对应的预设阈值;
当所述邻域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
当所述领域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否全部判断完;
当未判断完所述多重邻域时,返回执行按照扫描半径由小到大的顺序,判断下一重邻域内的邻居对象的数量是否不小于对应的预设阈值;
当判断完所述多重邻域时,确定所述待访问对象不是核心对象。
结合第一方面,在第一方面的第二种可能的实现方式中,在所述待访问对象的多重邻域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值,采用如下方式:
获取所述邻居对象与所述待访问对象之间的距离;
获取所述距离对应的权重系数,所述权重系数与所述距离相关;
根据所述权重系数计算所述领域内邻居对象的数量;
按照扫描半径由小到大的顺序,判断所述邻域内的邻居对象的数量是否不小于所述预设阈值;
当所述领域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
当所述邻域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否判断完;
当未判断完所述多重邻域时,返回执行根据所述权重系数计算下一重邻域内邻居对象的数量的步骤;
当所述待访问对象的多重邻域全部判断完时,确定所述待访问对象不是核心对象。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
结合第一方面或第一方面的第一种至第三种可能的实现方式中的任一种,在第一方面的第四种可能的实现方式中,对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类,采用如下方式:
获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
逐个判断所述直接密度可达的对象是否是核心对象;
当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,逐个判断所述直接密度可达的对象是否是核心对象,采用如下方式:
针对任一直接密度可达的对象,判断所述直接密度可达的对象在多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于阈值;
当所述邻居对象的数量不小于阈值时,确定所述直接密度可达的对象是核心对象;
当多重邻域内的所述邻居对象的数量均小于阈值时,确定所述直接密度可达的对象不是核心对象。
结合第一方面的第一种可能的实现方式,在第一方面的第六种可能的实现方式中,按照扫描半径由小到大的顺序,根据所述距离判断邻域内的邻居对象的数量是否不小于对应的预设阈值,采用如下方式:
将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的数量;
判断所述邻居对象的数量是否不小于对应的预设阈值。
根据本公开实施例的第二方面,提供一种聚类装置,包括:
第一获取单元,用于针对任一待访问对象,获取所述待访问对象的全部邻居对象;
第一判断单元,用于在所述待访问对象的多重邻域内,判断所述多重领域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值,所述多重邻域的扫描半径设置为由小到大依次变化;
聚类单元,用于当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,将所述待访问对象归为一类;
扩展聚类单元,用于对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一判断单元包括:
第一获取子单元,用于获取各个所述邻居对象与所述待访问对象之间的距离;
第一判断子单元,用于根据所述距离,按照扫描半径由小到大的顺序,判断邻域内的邻居对象的数量是否不小于对应的预设阈值;
第一确定子单元,用于当所述邻域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
第二判断子单元,用于当所述领域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否全部判断完;当未判断完所述多重邻域时,使所述第一判断子单元判断下一重邻域内的邻居对象的数量是否不小于所述下一重邻域对应的预设阈值;
第二确定子单元,用于当判断完多重邻域时,确定所述待访问对象不是核心对象。
结合第二方面,在第二方面的第二种可能的实现方式中,所述第一判断单元包括:
第二获取子单元,用于获取各个所述邻居对象与所述待访问对象之间的距离;
第三获取子单元,用于获取所述距离对应的权重系数,所述权重系数与所述距离相关;
计算子单元,用于,根据所述权重系数,计算领域内的邻居对象的数量;
第三判断子单元,用于按照扫描半径由小到大的顺序,判断所述邻域内的邻居对象的数量是否不小于所述预设阈值;
第三确定子单元,用于当所述领域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
第四判断子单元,用于当所述邻域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否全部判断完,当所述待访问对象的多重邻域未全部判断完时,使所述计算子单元执行根据所述权重系数计算下一重邻域内邻居对象的数量;
第四确定子单元,用于当所述待访问对象的多重邻域全部判断完时,确定所述待访问对象不是核心对象。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第三获取子单元包括:
第一统计子单元,用于根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询子单元,用于查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
第四获取子单元,用于根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
结合第二方面或第二方面的第一种至第三种可能的实现方式中的任一种,在第二方面的第四种可能的实现方式中,其特征在于,所述扩展聚类单元包括:
第五获取子单元,用于获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
第五判断子单元,用于逐个判断所述直接密度可达的对象是否是核心对象;
扩展聚类子单元,用于当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第五判断子单元包括:
第六判断子单元,用于针对任一直接密度可达的对象,判断所述直接密度可达的对象在多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于阈值;
第五确定子单元,用于当所述邻居对象的数量不小于阈值时,确定所述直接密度可达的对象是核心对象;
第六确定子单元,用于当所述邻居对象的数量小于阈值时,确定所述直接密度可达的对象不是核心对象。
结合第二方面的第一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第一判断子单元包括:
排序子单元,用于将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
第二统计子单元,用于按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的数量;
第七判断子单元,用于判断所述邻居对象的数量是否不小于对应的预设阈值。
根据本公开实施例的第三方面,提供一种终端设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
在所述待访问对象的多重邻域内,判断所述多重领域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值;
当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,将所述待访问对象归为一类;
对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
本公开的实施例提供的技术方案可以包括以下有益效果:所述聚类方法获取待访问对象的全部邻居对象,判断出待访问对象在多重邻域内存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;将待访问对象归为一类,再对待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类;如果所述直接密度可达的对象不是核心对象,则停止扩展;然后,继续确定下一个待访问对象,直到全部待访问对象聚类完成。由于所述聚类方法在判断待访问对象是否是核心对象时,采用多重邻域类判断,相当于放宽松了对Eps(扫描半径)和MinPts(最小包含对象数)的限制,因此,降低了聚类结果对Eps和MinPts此两个参数的敏感性,提高了聚类结果的准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种聚类方法的流程图;
图2是根据一示例性实施例示出的一种对象分布示意图;
图3是根据一示例性实施例示出的邻域分布示意图;
图4是根据一示例性实施例示出的步骤S400的流程图;
图5是根据一示例性实施例示出的一种步骤S200的流程图;
图6是根据一示例性实施例示出的另一种步骤S200的流程图;
图7是根据一示例性实施例示出的一种获取权重系数的流程图;
图8是根据一示例性实施例示出的一种聚类装置的示意图;
图9是根据一示例性实施例示出的一种装置的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在对本公开的实施例进行详细说明之前,首先介绍本公开出现的以下名词的概念:
E邻域:以某个对象为圆心,扫描半径为E的区域称为该对象的E邻域;
核心对象:如果某个对象P的E邻域内的邻居对象的数量不小于最小包含对象数MinPts,则称该对象为核心对象;
邻居对象:对于某个对象P,能够与对象P直接相连的对象称为P的邻居对象;
直接密度可达:对于样本集合,如果邻居对象Q在对象P的E邻域内,且对象P是核心对象,则称对象Q从对象P直接密度可达,也即Q为对象P在E邻域内的邻居对象。
图1是根据一示例性实施例示出的一种聚类方法的流程图,如图1所示,所述方法可以包括以下步骤:
在步骤S100中,针对任一待访问对象,获取所述待访问对象的全部邻居对象。
本公开提供的聚类方法的对象可以是人脸图像,将属于同一个人的图像聚集在一起形成一个聚类。将人脸图像中的特征转换成一组向量,因此,对象间的距离即向量之间的距离。当然,本公开所提供的聚类方法还可以适用于除图片之外的其它的数据。
对于一个待处理的对象集,该对象集内的每一个对象作为待访问对象,获取所述待访问对象的全部邻居对象。如图2所示,对象5与对象4、6和7直接相连,则对象4、6和7为对象5的邻居对象。
每个对象设置一访问标识,当访问某个对象时,将该对象的访问标识标记为已访问。例如,某对象未被访问时,对应的访问标识为“0”;如果该对象已被访问过,则将访问标识修改为“1”。根据对象的访问标识识别所述对象是否是待访问对象。可以根据对象的访问标识判断所述对象是否是待访问的对象。
在步骤S200中,在所述待访问对象的多重邻域内,判断所述多重领域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值;所述多重邻域的扫描半径设置为由小到大依次变化。
此步骤主要用于判断所述待访问对象是否是核心对象,如果是,则进入步骤S300;否则,将所述待访问对象标记为噪声点,并返回执行步骤S100,执行下一轮的待访问对象的判断,直到不存在待访问对象为止。
如图3所示,假设待访问对象P的三重邻域分别为E1邻域、E2邻域和E3邻域,E1领域的扫描半径E1,E2邻域的扫描半径为E2,E3邻域的扫描半径为E3,且E1<E2<E3。可以首先判断P在E1邻域内的邻居对象的数量Pts1是否不小于MinPts1,如果Pts1≥MinPts1,则确定P是核心对象;否则,继续判断P在E2邻域内的邻居对象的数量Pts2是否不小于MinPts2,如果Pts2≥MinPts2,则确定P是核心对象;否则,继续判断P在E3邻域内的邻居对象的数量Pts3是否不小于MinPts3,如果Pts3≥MinPts3,则确定P是核心对象;否则,确定P不是核心对象。所述扫描半径可以根据对象的数据类型的不同特点,自行设定。
在步骤S300中,将所述待访问对象归为一类;换言之,将所述待访问对象看作一个类。
为对象设置类标号C,初始状态下,对象的类标号为0,每增加一个类,对应的类标号加1,例如,对象P是核心对象,则将P归为一个类,类标号C更新为1;发现不属于P所在类的核心对象Q时,将Q归为另一个类,类标号更新为2,依次类推,新增加的类对应的类标号在已有类的类标号的基础上增加1。
在步骤S400中,对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
所述指定邻域可以是所述待访问对象的多重邻域中的任意一重或几重,例如,图3所示的实例,如果多重邻域中扫描半径越大其可信度越低,则可以只对可信度较高的邻域内的对象进行扩展,例如,图3所示的实例,可以只对P在E1邻域和E2邻域内的邻居对象进行扩展;如果多重邻域中扫描半径的可信度都比较高,则可以对全部的邻域内的对象进行扩展。
在本公开一示例性实施例中,如图4所示,步骤S400可以包括:
在步骤S401中,获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
扫描半径越大引入噪声点的概率就越大,因此,将指定邻域内的直接密度可达的对象加入所述待访问对象所在的类中。
获取待访问对象P的在指定邻域内的全部邻居对象队列NeighborPts,可以直接计算P的邻居对象与P之间的距离,然后,比较所述距离与所述指定邻域的扫描半径之间的大小关系,如果所述距离不小于所述扫描半径,则表明所述邻居对象是队列NeighborPts中的对象。所述距离可以是余弦相似度、欧式距离等。需要说明的是,本公开采用对象间的余弦相似度反应对象间的距离关系时,利用1-余弦相似度(1-cosθ)表征对象间的距离,这样,对象间的距离越小,两个对象的相似性越大。
可选地,还可以在获得各个邻居对象与待访问对象之间的距离之后,可以根据距离的大小进行排序,这样,在判断领域内的对象数量时,按照所述距离序列,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象,最终得到队列NeighborPts。
在步骤S402中,逐个判断所述直接密度可达的对象是否是核心对象;如果是,执行步骤S403;否则,执行步骤S404。
遍历队列NeighborPts中的对象Pi,判断对象Pi是否是核心对象,判断所述待访问对象的直接密度可达的对象是否是核心对象的过程与步骤S200的过程相似:
针对任一直接密度可达的对象,判断所述直接密度可达的对象在多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于阈值;当所述邻居对象的数量不小于阈值时,确定所述直接密度可达的对象是核心对象;当多重邻域内的所述邻居对象的数量均小于阈值时,确定所述直接密度可达的对象不是核心对象。
当所述直接密度可达的对象是核心对象时,在步骤S403中,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中;
将对象Pi在指定邻域内的邻居对象加入对象Pi所在的类(即对象P所在的类)中。
在步骤S404中,判断所述直接密度可达的对象是否全部判断完;如果未全部判断完,则返回执行步骤S402,判断下一个直接密度可达的对象是否是核心对象;如果全部判断完,则结束本次扩展聚类。
在进行扩展聚类时,可以创建一个队列用于存储待访问的对象,例如,对待访问对象P进行扩展聚类时,创建一个队列,首先将P在指定邻域内的直接密度可达的对象加入该队列中,例如,该队列为{P1,P2,P3,P4},首先判断P1是否是核心对象,如果是,则将P1在指定邻域内的直接密度可达的对象加入P所在的类中,以及,将P1在指定邻域内的直接密度可达的对象加入所述队列(堆栈数据结构)中,继续访问队列中的下一个对象(例如,P2),标记该对象(P2)为已访问对象,判断该对象是否是核心对象,如果不是核心对象,则判断该对象是否其它类的成员,如果该对象不是其它类的成员,则将该对象加入对象P所在的类中,继续访问队列中下一个对象,直到队列中没有对象。
本实施例提供所述聚类方法获取待访问对象的全部邻居对象,判断出待访问对象在多重邻域内存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;将待访问对象归为一类,再对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类;如果所述直接密度可达的对象不是核心对象,则停止扩展;然后,继续访问下一个待访问对象,直到全部待访问对象聚类完成。由于所述聚类方法在判断待访问对象是否是核心对象时,采用多重邻域类判断,相当于放宽松了对Eps和MinPts的限制从而降低了聚类结果对Eps和MinPts此两个参数的敏感性,提高了聚类结果的准确率。
在本公开的一个示例性实施例中,如图5所示,图1中的步骤S200可以包括以下步骤:
在步骤S210中,获取所述邻居对象与所述待访问对象之间的距离;所述距离可以是余弦相似度、欧式距离等。
需要说明的是,本公开采用对象间的余弦相似度反应对象间的距离关系时,利用1-余弦相似度(1-cosθ)表征对象间的距离,这样,对象间的距离越小,两个对象的相似性越大。
在步骤S220中,按照扫描半径由小到大的顺序,根据所述距离判断邻域内的邻居对象的数量是否不小于对应的预设阈值;当所述邻域内的邻居对象的数量不小于所述预设阈值时,进入步骤S230;当所述邻域内的邻居对象的数量小于所述预设阈值时,进入步骤S240。
可选地,在获得各个邻居对象与待访问对象之间的距离之后,可以根据距离的大小进行排序,这样,在判断领域内的对象数量时,按照所述距离序列,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的数量;然后,判断统计得到的对象的数量是否不小于对应的预设阈值。
例如,图3所示的实例,首先判断E1邻域内的对象的数量,按照E1邻域内对象与对象P之间的距离大小关系进行排序,得到距离序列,可以首先根据查找法(例如,二分查找法)确定所述距离序列中与扫描半径E1最接近的距离,然后统计序列中小于该距离的个数,从而确定出E1邻域内的对象数量Pts1,提高了判断效率。
而且,如果需要继续判断E2邻域内的对象数量时,可以查找只所述距离序列中距离小于扫描半径E2,且大于扫描半径E1的对象的数量Pts21,根据Pts21+Pts1计算得到E2邻域内的对象数量Pts2;同理,可以得到大于扫描半径E2,且小于扫描半径E3的对象数量Pts32,根据Pts32+Pts21+Pts1计算得到E3邻域内的对象数量Pts3。如果存在更多重邻域,依次类推,计算得到其它邻域内的对象数量。
需要说明的是,在待访问对象P的多重邻域内,按照邻域的扫描半径由小到大的顺序依次进行判断,当判断到某个邻域内的邻居对象的数量不小于对应的预设阈值时,无需继续后面的邻域内的邻域对象的数量情况。
在步骤S230中,确定所述待访问对象是核心对象。
在步骤S240中,判断所述待访问对象的多重邻域是否全部判断完;如果未判断完全部的邻域,则返回步骤S220,继续判断下一重邻域内的邻居对象的数量是否不小于对应的预设阈值。如果已判断完多重邻域,则进入步骤S250。
例如,可以设定变量i,i的初始值为0,当判断第一重邻域时,i增加1(即i=i+1),通过比较判断i与邻域重数,确定是否判断完多重邻域。
在步骤S250中,确定所述待访问对象不是核心对象。
如果确定待访问对象P不是核心对象,则对象P为Noise(噪声点),并返回执行获取下一个待访问对象的全部邻居对象的步骤,直到不存在待访问对象。
本实施例提供的判断对象是否是核心对象的方式,直接根据邻居对象与待访问对象之间的距离确定所述邻域内的邻居对象的数量,如果待访问对象的多重邻域内的某个邻域内邻居对象的数量不小于对应的预设阈值,则该待访问对象是核心对象,相当于放宽松了对Eps(扫描半径)和MinPts(最小包含对象数)的限制,因此,降低了聚类结果对Eps和MinPts此两个参数的敏感性,提高了聚类结果的准确率。
在本公开的另一个示例性实施例中,如图6所示,图1中的步骤S200可以包括以下步骤:
在步骤S211中,获取所述邻居对象与所述待访问对象之间的距离;所述距离可以是余弦相似度、欧式距离等。
需要说明的是,本公开采用对象间的余弦相似度反应对象间的距离关系时,利用1-余弦相似度(1-cosθ)表征对象间的距离,这样,对象间的距离越小,两个对象的相似性越大。
在步骤S221中,获取所述距离对应的权重系数,所述权重系数与所述对象间的距离相关;
对象间的距离与对象间的相似性相关,所述权重系数能够体现对象间的相似性的关联性,例如,对象间的距离越大,表明两对象间的相似性越小,其对应的权重系数越小;反之,对象间的距离越小,表明两对象间的相似性越大,其对应的权重系数越大。
在本公开的一个实施例中,所述权重系数可以由两个对象间的距离及两个对象是否是同一个对象的概率确定,如图7所示,获取权重系数可以包括以下步骤:
在步骤S2211中,根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
获取对象间的距离,例如余弦相似度、欧式距离等。假设两个对象分别为A和B,其中,该两个对象间的余弦相似度根据公式(1)计算:
公式(1)中,分子表示向量A与向量B的内积,|A|是向量A的长度,|B|是向量B的长度。
例如,在人脸识别中,根据高维特征计算出的两个人脸图像的余弦相似度cosθ的范围是[0,1],根据大量的人脸图像统计数据得出,当余弦相似度在[0.45,1]范围内时,两对象是同一个人的概率基本是98%以上;当余弦相似度在[0.35,0.45)范围内时,两对象是同一个人的概率基本是70%;当余弦相似度在[0.25,0.35)范围内时,两对象是同一个人的概率基本是40%;当余弦相似度在[0.15,0.25)范围内时,两对象是同一个人的概率基本是10%;当余弦相似度在[0,0.25]范围内时,两对象是同一个人的概率基本是0.1%。
根据上述统计结果可以得到对象间的距离以及两个对象是否是同一个对象的概率之间的对应关系,所述对应关系可以以表格形式或其它形式存储。
在步骤S2212中,查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
在步骤S2213中,根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
可以根据步骤S2211中的统计结果,可以采用以下的公式(2)描述权重系数与余弦相似度之间的关系:
公式(2)是根据余弦相似度与两个对象是否是同一个人的概率之间的对应关系。其它类型的距离,根据距离对应的概率之间的关系进行类似的总结及推导,此处不再赘述。
当然,所述权重系数还可以采用其它的方式获得,只要权重系数能够表征对象间的距离及对象的相似性之间的关系即可。
在步骤S231中,根据所述权重系数计算指定领域内的邻居对象的数量;
可选地,在获得各个邻居对象与待访问对象之间的距离之后,可以根据距离的大小进行排序,这样,在判断领域内的对象数量时,按照所述距离序列,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的个数;然后,根据统计得到的指定邻域内的对象与所述待访问对象之间的距离及对应的权重系数,计算得到E邻域内包含的对象的数量。
所述指定邻域可以是待访问对象的多重邻域中的任一重邻域,指定领域按照扫描半径由小到大的顺序而变化。
可以根据公式(2)所示的权重系数表征邻居对象的数量,如公式(3)表示:
其中,di是对象Pi与对象P之间的距离,Pi是对象P在E邻域内的邻居对象。
公式(3)是E邻域内的全部对象的数量之和,实际是将每个对象的数量从1变成该对象与所述待访问对象之间的距离对应的权重值W(di)。换言之,并不是单纯计算E邻域内包含的对象的个数,而是对象距离圆心点越近其换算得到的对象个数的比例越大,反之,对象距离圆心点越远其换算得到的对象个数的比例越小。
在步骤S241中,按照扫描半径由小到大的顺序,判断所述待访问对象在所述邻域内的邻居对象的数量是否不小于对应的预设阈值;如果是,则进行步骤S251;否则,进入步骤S261;
所述预设阈值根据所述权重系数进行相应的调整,与图5对应的实施例中的预设阈值不同,而且,本实施例中的预设阈值小于图5的实施例中的预设阈值。
按照扫描半径的大小依次判断各个邻域内包含的对象的数量是否满足对应的阈值要求,如果满足,则不再判断下一重邻域的对象数量。
当所述领域内的邻居对象的数量不小于所述预设阈值时,在步骤S251中,确定所述待访问对象为核心对象;
当所述邻域内的邻居对象的数量小于所述预设阈值时,在步骤S261中,判断所述待访问对象的邻域是否全部判断完;如果是,则进入步骤S271;否则,返回执行步骤S231,根据权重系数计算待访问对象在下一重邻域的邻居对象的数量;
例如,可以设置通过设定变量i,i的初始值为0,当判断第一重邻域时,i增加1(即i=i+1),通过比较判断i与邻域重数,确定是否判断完多重邻域。其中第i重邻域的扫描半径小于第i+1重邻域的扫描半径。
当所述待访问对象的多重邻域已全部判断完时,在步骤S271中,确定所述待访问对象不是核心对象。
如果确定待访问对象P不是核心对象,则对象P为Noise(噪声点),将所述待访问对象标记为已访问对象,并返回执行获取下一个待访问对象的全部邻居对象的步骤,直到不存在待访问对象。
本实施例提供的判断对象是否是核心对象的方法,根据对象间的距离对应的权重值换算对象的数量,从而使得距离处于圆心点的对象越近的对象其换算得到的对象个数的比例越大,对邻域内对象数量的贡献也就越大;反之,距离圆心点越远的对象其换算得到的对象个数的比例越小,对邻域内对象数量的贡献也越小,从而进一步降低聚类结果对E和Minpts的敏感性,提高聚类结果的准确率。
图8是根据一示例性实施例示出的一种聚类装置的示意图。参照图8,该装置包括第一获取单元100、第一判断单元200、聚类单元300和扩展聚类单元400;
所述第一获取单元100被配置为针对任一待访问对象,获取所述待访问对象的全部邻居对象;
所述第一判断单元200被配置为在所述待访问对象的多重邻域内,判断所述多重领域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值,所述多重邻域的扫描半径设置为由小到大依次变化;
参照图3所示的邻域分布示意图,第一判断单元200可以首先判断P在E1邻域内的邻居对象的数量Pts1是否不小于MinPts1,如果Pts1≥MinPts1,则确定P是核心对象;否则,继续判断P在E2邻域内的邻居对象的数量Pts2是否不小于MinPts2,如果Pts2≥MinPts2,则确定P是核心对象;否则,继续判断P在E3邻域内的邻居对象的数量Pts3是否不小于MinPts3,如果Pts3≥MinPts3,则确定P是核心对象;否则,确定P不是核心对象。
所述聚类单元300被配置为当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,将所述待访问对象归为一类;
所述扩展聚类单元400被配置为对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类;
在本公开的一个示例性实施例中,所述扩展聚类单元可以包括:第五获取子单元、第四判断子单元和扩展聚类子单元。
所述第五获取子单元被配置为获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
扫描半径越大引入噪声点的概率就越大,因此,避免引入较多的噪声点,可以将指定邻域内的直接密度可达的对象加入所述待访问对象所在的类中。
所述第五判断子单元被配置为逐个判断所述直接密度可达的对象是否是核心对象;
所述扩展聚类子单元被配置为当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
在本公开的一个示例性实施例中,所述第五判断子单元可以包括:第六判断子单元、第五确定子单元和第六确定子单元;
所述第六判断子单元被配置为针对任一直接密度可达的对象,判断所述直接密度可达的对象在多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于阈值;
所述第五确定子单元被配置为当所述邻居对象的数量不小于阈值时,确定所述直接密度可达的对象是核心对象;
所述第六确定子单元被配置为当所述邻居对象的数量小于阈值时,确定所述直接密度可达的对象不是核心对象。
本实施例提供的聚类装置,通过第一判断单元判断待访问对象在多重邻域内存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值,即判断所述待访问对象是否是核心对象;如果所述待访问对象是核心对象,由聚类单元将待访问对象在指定邻域内的全部直接密度可达的对象加入所述待访问对象的类中;再对所述待访问对象在指定邻域内的直接密度可达的对象是核心对象,则通过扩展聚类单元进行扩展聚类;如果所述直接密度可达的对象不是核心对象,则停止扩展;然后,继续确定下一个待访问对象,直到全部待访问对象聚类完成。由于所述聚类方法在判断待访问对象是否是核心对象时,采用多重邻域类判断,相当于放宽松了对Eps(扫描半径)和MinPts(最小包含对象数)的限制,因此,降低了聚类结果对Eps和MinPts此两个参数的敏感性,提高了聚类结果的准确性。
在本公开一示例性实施例中,图8所示的第一判断单元200可以包括第一获取子单元、第一判断子单元、第一确定子单元、第二判断子单元和第二确定子单元;
第一获取子单元被配置为获取各个所述邻居对象与所述待访问对象之间的距离;
第一判断子单元被配置为根据所述距离,按照扫描半径由小到大的顺序,判断邻域内的邻居对象的数量是否不小于对应的预设阈值;
可选地,在获得各个邻居对象与待访问对象之间的距离之后,可以根据距离的大小进行排序,这样,在判断领域内的对象数量时,按照所述距离序列,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的数量;然后,判断统计得到的对象的数量是否不小于对应的预设阈值。
所述第一确定子单元被配置为当所述邻域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
所述第二判断子单元被配置为当所述领域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否全部判断完;当未判断完所述多重邻域时,使所述第一判断子单元判断下一重邻域内的邻居对象的数量是否不小于所述下一重邻域对应的预设阈值;
所述第二确定子单元被配置为当判断完多重邻域时,确定所述待访问对象不是核心对象,将所述待访问对象标记为已访问对象,并使所述第一获取单元获取下一个待访问对象的全部邻居对象,直到不存在待访问对象。
本实施例提供的第一判断单元,直接根据邻居对象与待访问对象之间的距离确定所述邻域内的邻居对象的数量,如果待访问对象的多重邻域内的某个邻域内邻居对象的数量不小于对应的预设阈值,则该待访问对象是核心对象,相当于放宽松了对Eps(扫描半径)和MinPts(最小包含对象数)的限制,因此,降低了聚类结果对Eps和MinPts此两个参数的敏感性,提高了聚类结果的准确率。
在本公开一示例性实施例中,为了提高判断效率,所述第一判断子单元可以包括排序子单元、第二统计子单元和第七判断子单元。
所述排序子单元被配置为将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
所述第二统计子单元被配置为按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的数量;
所述第七判断子单元被配置为判断所述邻居对象的数量是否不小于对应的预设阈值。
本实施例提供的第一判断子单元,首先由排序子单元按照某个邻域内对象与对象P之间的距离大小关系进行排序,得到距离序列,然后,可以根据查找法(例如,二分查找法)确定距离序列中与扫描半径最接近的距离,然后统计序列中小于该距离的个数,从而确定出某个邻域内的对象数量,提高了判断效率。
在本公开另一示例性实施例中,图8所示的第一判断单元200可以包括第二获取子单元、第三获取子单元、计算子单元、第三判断子单元、第三确定子单元、第四判断子单元和第四确定子单元。
所述第二获取子单元被配置为获取各个所述邻居对象与所述待访问对象之间的距离;
所述第三获取子单元被配置为获取所述距离对应的权重系数,所述权重系数与所述距离相关;
所述权重系数能够体现对象间的距离与对象间的相似性之间的关联,例如,对象间的距离越大,表明两对象间的相似性越小,其对应的权重系数越小;反之,对象间的距离越小,表明两对象间的相似性越大,其对应的权重系数越大。
在本公开一示例性实施例中,所述第三获取子单元可以包括第一统计子单元、查询子单元和第四获取子单元。
所述第一统计子单元被配置为根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
所述查询子单元被配置为查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
所述第四获取子单元被配置为根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
所述计算子单元被配置为根据所述权重系数计算领域内的邻居对象的数量;可选地,在获得各个邻居对象与待访问对象之间的距离之后,可以根据距离的大小进行排序,这样,在判断领域内的对象数量时,按照所述距离序列,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的个数;然后,根据统计得到的指定邻域内的对象与所述待访问对象之间的距离及对应的权重系数,计算得到E邻域内包含的对象的数量。
第三判断子单元被配置为按照扫描半径由小到大的顺序,判断所述邻域内的邻居对象的数量是否不小于所述预设阈值;
所述第三确定子单元被配置为当所述领域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
所述第四判断子单元被配置为当所述邻域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的邻域是否判断完,当所述待访问对象的多重邻域未全部判断完时,使所述计算子单元执行根据所述权重系数计算下一重邻域内的邻居对象的数量;进而由第三判断子单元判断所述下一重邻域内的邻居对象的数量是否不小于所述预设阈值。
所述第四确定子单元被配置为当所述待访问对象的多重邻域全部判断完时,确定所述待访问对象不是核心对象。将所述待访问对象标记为已访问对象,并使所述第一获取单元获取下一个待访问对象的全部邻居对象,直到不存在待访问对象。
本实施例提供的判断对象是否是核心对象的方法,根据对象间的距离对应的权重值换算对象的数量,从而使得距离圆心点越近的对象其换算得到的对象个数的比例越大,对邻域内对象数量的贡献也就越大;反之,距离圆心点越远的对象其换算得到的对象个数的比例越小,对邻域内对象数量的贡献也越小,从而进一步降低聚类结果对E和Minpts的敏感性,提高聚类结果的准确率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种用于聚类的终端设备800的框图。例如,终端设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图9,终端设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在终端设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端设备800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为终端设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为终端设备800的显示器和小键盘,传感器组件814还可以检测终端设备800或终端设备800一个组件的位置改变,用户与终端设备800接触的存在或不存在,终端设备800方位或加速/减速和终端设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端设备800和其他设备之间有线或无线方式的通信。终端设备800可以接入基于通信标准的无线网络,如WiFi、2G、3G或4G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种聚类方法,所述方法包括:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
在所述待访问对象的多重邻域内,判断所述多重领域中是否存在至少一重领域内的邻居对象的数量不小于对应的预设阈值;
当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,将所述待访问对象归为一类;
对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种聚类方法,其特征在于,包括:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
判断所述待访问对象的多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值,所述多重邻域的扫描半径设置为由小到大依次变化;
当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象,并将所述待访问对象归为一类;
对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
2.根据权利要求1所述的方法,其特征在于,判断所述待访问对象的多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值,采用如下方式:
获取所述邻居对象与所述待访问对象之间的距离;
按照扫描半径由小到大的顺序,根据所述距离判断所述邻域内的邻居对象的数量是否不小于对应的预设阈值;
当所述邻域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
当所述邻域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否全部判断完;
当未判断完所述多重邻域时,返回执行按照扫描半径由小到大的顺序,判断下一重邻域内的邻居对象的数量是否不小于对应的预设阈值;
当判断完所述多重邻域时,确定所述待访问对象不是核心对象。
3.根据权利要求1所述的方法,其特征在于,判断所述待访问对象的多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值,采用如下方式:
获取所述邻居对象与所述待访问对象之间的距离;
获取所述距离对应的权重系数,所述权重系数与所述距离相关;
根据所述权重系数计算所述邻域内邻居对象的数量;
按照扫描半径由小到大的顺序,判断所述邻域内的邻居对象的数量是否不小于所述预设阈值;
当所述邻域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
当所述邻域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否判断完;
当未判断完所述多重邻域时,返回执行根据所述权重系数计算下一重邻域内邻居对象的数量的步骤;
当所述待访问对象的多重邻域全部判断完时,确定所述待访问对象不是核心对象。
4.根据权利要求3所述的方法,其特征在于,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
5.根据权利要求1-4任一项所述的方法,其特征在于,对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类,采用如下方式:
获取所述待访问对象在指定邻域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
逐个判断所述直接密度可达的对象是否是核心对象;
当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
6.根据权利要求5所述的方法,其特征在于,逐个判断所述直接密度可达的对象是否是核心对象,采用如下方式:
针对任一直接密度可达的对象,判断所述直接密度可达的对象在多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于阈值;
当所述邻居对象的数量不小于阈值时,确定所述直接密度可达的对象是核心对象;
当多重邻域内的所述邻居对象的数量均小于阈值时,确定所述直接密度可达的对象不是核心对象。
7.根据权利要求2所述的方法,其特征在于,按照扫描半径由小到大的顺序,根据所述距离判断邻域内的邻居对象的数量是否不小于对应的预设阈值,采用如下方式:
将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的数量;
判断所述邻居对象的数量是否不小于对应的预设阈值。
8.一种聚类装置,其特征在于,包括:
第一获取单元,用于针对任一待访问对象,获取所述待访问对象的全部邻居对象;
第一判断单元,用于在所述待访问对象的多重邻域内,判断所述多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值,所述多重邻域的扫描半径设置为由小到大依次变化;
聚类单元,用于当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象,并将所述待访问对象归为一类;
扩展聚类单元,用于对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
9.根据权利要求8所述的装置,其特征在于,所述第一判断单元包括:
第一获取子单元,用于获取各个所述邻居对象与所述待访问对象之间的距离;
第一判断子单元,用于根据所述距离,按照扫描半径由小到大的顺序,判断邻域内的邻居对象的数量是否不小于对应的预设阈值;
第一确定子单元,用于当所述邻域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
第二判断子单元,用于当所述邻域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否全部判断完;当未判断完所述多重邻域时,使所述第一判断子单元判断下一重邻域内的邻居对象的数量是否不小于所述下一重邻域对应的预设阈值;
第二确定子单元,用于当判断完多重邻域时,确定所述待访问对象不是核心对象。
10.根据权利要求8所述的装置,其特征在于,所述第一判断单元包括:
第二获取子单元,用于获取各个所述邻居对象与所述待访问对象之间的距离;
第三获取子单元,用于获取所述距离对应的权重系数,所述权重系数与所述距离相关;
计算子单元,用于,根据所述权重系数计算邻域内的邻居对象的数量;
第三判断子单元,用于按照扫描半径由小到大的顺序,判断所述邻域内的邻居对象的数量是否不小于所述预设阈值;
第三确定子单元,用于当所述邻域内的邻居对象的数量不小于所述预设阈值时,确定所述待访问对象为核心对象;
第四判断子单元,用于当所述邻域内的邻居对象的数量小于所述预设阈值时,判断所述待访问对象的多重邻域是否全部判断完,当所述待访问对象的多重邻域未全部判断完时,使所述计算子单元执行根据所述权重系数计算下一重邻域内邻居对象的数量;
第四确定子单元,用于当所述待访问对象的多重邻域全部判断完时,确定所述待访问对象不是核心对象。
11.根据权利要求10所述的装置,其特征在于,所述第三获取子单元包括:
第一统计子单元,用于根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询子单元,用于查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
第四获取子单元,用于根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述扩展聚类单元包括:
第五获取子单元,用于获取所述待访问对象在指定邻域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
第五判断子单元,用于逐个判断所述直接密度可达的对象是否是核心对象;
扩展聚类子单元,用于当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
13.根据权利要求12所述的装置,其特征在于,所述第五判断子单元包括:
第六判断子单元,用于针对任一直接密度可达的对象,判断所述直接密度可达的对象在多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于阈值;
第五确定子单元,用于当所述邻居对象的数量不小于阈值时,确定所述直接密度可达的对象是核心对象;
第六确定子单元,用于当所述邻居对象的数量小于阈值时,确定所述直接密度可达的对象不是核心对象。
14.根据权利要求9所述的装置,其特征在于,所述第一判断子单元包括:
排序子单元,用于将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
第二统计子单元,用于按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象的数量;
第七判断子单元,用于判断所述邻居对象的数量是否不小于对应的预设阈值。
15.一种终端设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
在所述待访问对象的多重邻域内,判断所述多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值,所述多重邻域的扫描半径设置为由小到大依次变化;
当所述多重邻域中存在至少一重邻域内的邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象,并将所述待访问对象归为一类;
对所述待访问对象在指定邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410073496.5A CN103902655B (zh) | 2014-02-28 | 2014-02-28 | 聚类方法、装置及终端设备 |
JP2016504484A JP6104454B2 (ja) | 2014-02-28 | 2014-11-14 | クラスタリング方法、装置および端末装置 |
BR112015002059A BR112015002059A2 (pt) | 2014-02-28 | 2014-11-14 | método e aparelho de agrupamento, e, aparelho de terminal |
PCT/CN2014/091197 WO2015127801A1 (zh) | 2014-02-28 | 2014-11-14 | 聚类方法、装置及终端设备 |
KR1020157001990A KR101646887B1 (ko) | 2014-02-28 | 2014-11-14 | 클러스터링 방법, 장치 및 단말 장치 |
MX2015001410A MX2015001410A (es) | 2014-02-28 | 2014-11-14 | Metodo de agrupacion, aparato y aparato de terminal. |
US14/606,611 US20150248472A1 (en) | 2014-02-28 | 2015-01-27 | Clustering method, apparatus, and terminal apparatus |
EP15156806.0A EP2913780A3 (en) | 2014-02-28 | 2015-02-26 | Clustering method, apparatus and terminal apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410073496.5A CN103902655B (zh) | 2014-02-28 | 2014-02-28 | 聚类方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902655A CN103902655A (zh) | 2014-07-02 |
CN103902655B true CN103902655B (zh) | 2017-01-04 |
Family
ID=50993978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410073496.5A Active CN103902655B (zh) | 2014-02-28 | 2014-02-28 | 聚类方法、装置及终端设备 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP2913780A3 (zh) |
JP (1) | JP6104454B2 (zh) |
KR (1) | KR101646887B1 (zh) |
CN (1) | CN103902655B (zh) |
BR (1) | BR112015002059A2 (zh) |
MX (1) | MX2015001410A (zh) |
WO (1) | WO2015127801A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038500A (zh) * | 2017-12-07 | 2018-05-15 | 东软集团股份有限公司 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902655B (zh) * | 2014-02-28 | 2017-01-04 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
CN106204118A (zh) * | 2016-06-30 | 2016-12-07 | 百度在线网络技术(北京)有限公司 | 一种用于商圈发现的方法与装置 |
KR102410825B1 (ko) * | 2017-08-14 | 2022-06-20 | 삼성전자주식회사 | 문장의 도메인 판단 방법 및 장치 |
CN111723959B (zh) | 2019-03-19 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 区域的划分方法、装置、存储介质及电子装置 |
CN110113228B (zh) * | 2019-04-25 | 2020-12-18 | 新华三信息安全技术有限公司 | 一种网络连接检测方法及装置 |
CN110097126B (zh) * | 2019-05-07 | 2023-04-21 | 江苏优聚思信息技术有限公司 | 基于dbscan聚类算法的核查重点人员、房屋漏登记的方法 |
CN110188810A (zh) * | 2019-05-23 | 2019-08-30 | 西北工业大学 | 一种基于密度聚类的在线野值检测、识别与修正方法 |
CN110276401A (zh) * | 2019-06-24 | 2019-09-24 | 广州视源电子科技股份有限公司 | 样本聚类方法、装置、设备及存储介质 |
CN110717428A (zh) * | 2019-09-27 | 2020-01-21 | 上海依图网络科技有限公司 | 一种融合多个特征的身份识别方法、装置、***、介质及设备 |
CN111968365B (zh) * | 2020-07-24 | 2022-02-15 | 武汉理工大学 | 一种非信号交叉口车辆行为分析方法、***及存储介质 |
CN112070140B (zh) * | 2020-09-01 | 2022-05-03 | 中国人民解放军陆军工程大学 | 一种基于维度分解的密度聚类类标模式识别方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102670251A (zh) * | 2012-05-29 | 2012-09-19 | 飞依诺科技(苏州)有限公司 | 基于数值排序加权平均的超声图像空间滤波方法 |
US8429153B2 (en) * | 2010-06-25 | 2013-04-23 | The United States Of America As Represented By The Secretary Of The Army | Method and apparatus for classifying known specimens and media using spectral properties and identifying unknown specimens and media |
CN103679148A (zh) * | 2013-12-11 | 2014-03-26 | 哈尔滨工业大学深圳研究生院 | 一种基于聚类角点加权面积的群体聚散检测的方法与装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101536591B (zh) * | 2006-10-30 | 2012-06-06 | Lm爱立信电话有限公司 | 用于改善定位的扩展聚类 |
CN101996198B (zh) * | 2009-08-31 | 2016-06-29 | ***通信集团公司 | 聚类实现方法及*** |
JP5551986B2 (ja) * | 2010-07-05 | 2014-07-16 | 株式会社Kadokawa | 情報処理装置、情報処理方法、及びプログラム |
CN102185919B (zh) * | 2011-05-04 | 2013-05-08 | 江苏大学 | 一种基于节点置信半径的p2p网络分布式聚类方法 |
CN103577875B (zh) | 2013-11-20 | 2016-05-25 | 北京联合大学 | 一种基于fast的计算机辅助cad人数统计方法 |
CN103902655B (zh) * | 2014-02-28 | 2017-01-04 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
CN103902654B (zh) * | 2014-02-28 | 2017-02-08 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
-
2014
- 2014-02-28 CN CN201410073496.5A patent/CN103902655B/zh active Active
- 2014-11-14 JP JP2016504484A patent/JP6104454B2/ja active Active
- 2014-11-14 MX MX2015001410A patent/MX2015001410A/es unknown
- 2014-11-14 KR KR1020157001990A patent/KR101646887B1/ko active IP Right Grant
- 2014-11-14 WO PCT/CN2014/091197 patent/WO2015127801A1/zh active Application Filing
- 2014-11-14 BR BR112015002059A patent/BR112015002059A2/pt not_active IP Right Cessation
-
2015
- 2015-02-26 EP EP15156806.0A patent/EP2913780A3/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429153B2 (en) * | 2010-06-25 | 2013-04-23 | The United States Of America As Represented By The Secretary Of The Army | Method and apparatus for classifying known specimens and media using spectral properties and identifying unknown specimens and media |
CN102670251A (zh) * | 2012-05-29 | 2012-09-19 | 飞依诺科技(苏州)有限公司 | 基于数值排序加权平均的超声图像空间滤波方法 |
CN103679148A (zh) * | 2013-12-11 | 2014-03-26 | 哈尔滨工业大学深圳研究生院 | 一种基于聚类角点加权面积的群体聚散检测的方法与装置 |
Non-Patent Citations (1)
Title |
---|
改进的密度聚类算法研究";于智航;《CNKI中国优秀硕士论文全文数据库》;20080615;第12页最后一段、第17-19页、第20页最后一段-21页第1段、第26页最后一段,图3.4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038500A (zh) * | 2017-12-07 | 2018-05-15 | 东软集团股份有限公司 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
CN108038500B (zh) * | 2017-12-07 | 2020-07-03 | 东软集团股份有限公司 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
BR112015002059A2 (pt) | 2017-07-04 |
WO2015127801A1 (zh) | 2015-09-03 |
JP2016520896A (ja) | 2016-07-14 |
MX2015001410A (es) | 2016-04-27 |
CN103902655A (zh) | 2014-07-02 |
EP2913780A2 (en) | 2015-09-02 |
EP2913780A3 (en) | 2015-09-30 |
KR101646887B1 (ko) | 2016-08-08 |
KR20150111343A (ko) | 2015-10-05 |
JP6104454B2 (ja) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902655B (zh) | 聚类方法、装置及终端设备 | |
CN103902654B (zh) | 聚类方法、装置及终端设备 | |
KR102365890B1 (ko) | 신경망의 훈련 방법, 장치 및 저장 매체 | |
CN109389162B (zh) | 样本图像筛选方法和装置、电子设备及存储介质 | |
CN109800325A (zh) | 视频推荐方法、装置和计算机可读存储介质 | |
CN103902689B (zh) | 聚类方法、增量聚类方法及相关装置 | |
CN105426515B (zh) | 视频归类方法及装置 | |
CN105974357A (zh) | 终端的定位方法及装置 | |
CN105095081B (zh) | 应用程序的功能测试方法及装置 | |
CN103927545B (zh) | 聚类方法及相关装置 | |
CN107560619A (zh) | 路径推荐方法和装置 | |
CN110532345A (zh) | 一种未标注数据的处理方法、装置及存储介质 | |
CN106403971A (zh) | 信息交互方法及装置 | |
CN109918565A (zh) | 一种搜索数据的处理方法、装置及电子设备 | |
CN105956067A (zh) | 资源搜索方法及装置 | |
CN110333898A (zh) | 一种代码关系生成方法、装置、电子设备及存储介质 | |
CN105956091A (zh) | 扩展信息获取方法及装置 | |
CN104811904B (zh) | 联系人设置方法及装置 | |
CN105302335B (zh) | 词汇推荐方法和装置及计算机可读存储介质 | |
CN109634913A (zh) | 文档的存储方法、装置及电子设备 | |
CN113704631A (zh) | 交互指令提示方法、智能设备及可读存储介质 | |
CN108897846A (zh) | 信息搜索方法、设备及计算机可读存储介质 | |
CN105930477A (zh) | 信息搜索方法及装置 | |
CN110490303A (zh) | 超网络构建方法、使用方法、装置及介质 | |
CN108614848A (zh) | 一种应用程序的推荐方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |