CN103902654A - 聚类方法、装置及终端设备 - Google Patents

聚类方法、装置及终端设备 Download PDF

Info

Publication number
CN103902654A
CN103902654A CN201410073353.4A CN201410073353A CN103902654A CN 103902654 A CN103902654 A CN 103902654A CN 201410073353 A CN201410073353 A CN 201410073353A CN 103902654 A CN103902654 A CN 103902654A
Authority
CN
China
Prior art keywords
visited
neighborhood
neighbours
distance
weight coefficient
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.)
Granted
Application number
CN201410073353.4A
Other languages
English (en)
Other versions
CN103902654B (zh
Inventor
陈志军
王琳
王百超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201410073353.4A priority Critical patent/CN103902654B/zh
Publication of CN103902654A publication Critical patent/CN103902654A/zh
Application granted granted Critical
Publication of CN103902654B publication Critical patent/CN103902654B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (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)

Abstract

本公开实施例公开了一种聚类方法、装置及终端设备,所述方法首先获取待访问对象的邻居对象,根据邻居对象与待访问对象之间的距离对应的权重系数,计算待访问对象在邻域内的邻居对象的数量;距离待访问对象越近的对象,折算得到的该对象的数量比例越大,对邻域内邻居对象的贡献也就越大;反之,距离待访问对象越远的对象,折算得到该对象的数量比例越小,对邻域内邻居对象的贡献也就越小。从而在一定程度上降低邻居对象数量对邻域的扫描半径及最小包含对象数量的敏感性,进而降低了使用此种聚类方法得到的聚类结果对扫描半径及最小包含对象数量的敏感性,提高了聚类结果的准确率。

Description

聚类方法、装置及终端设备
技术领域
本公开涉及数据处理技术领域,特别是涉及一种聚类方法、装置及终端设备。
背景技术
聚类是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,即将对象分类到不同的类或者簇的过程,同一个类中的对象有很大的相似性,不同类之间的对象有很大的相异性。
聚类方法包括很多种类,其中,基于密度的聚类方法与其它的聚类方法不同的是它不是基于各种距离,而是基于密度,只要一个区域中的点的密度大过某个阀值,就把它加到与之相近的聚类中去。这样能够克服基于距离的聚类算法只能发现“类圆形”的聚类的缺点。例如,DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法就是基于密度的聚类方法中一种典型算法,DBSCAN算法将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可以在噪声的空间数据库中发现任意形状的聚类。DBSCAN算法引入了核心对象的概念和两个初始参数Eps(扫描半径)和MinPts(最小包含点数)。如果存在一个对象,在距它Eps的范围内有不少于MinPts个对象,则该对象就是核心对象。核心对象和它的Eps范围内的邻居对象形成一个簇。在一个簇内如果出现多个对象都是核心对象,则以这些核心对象为中心的簇要合并。但是,此种聚类算法的聚类结果对参数Eps和MinPts的取值非常敏感,即Eps和MinPts的取值不同,产生不同的聚类结果,从而导致聚类结果的不确定性。
发明内容
为克服相关技术中存在的问题,本公开提供一种聚类方法、装置及终端设备。
为了解决上述技术问题,本公开实施例公开了如下技术方案:
根据本公开实施例的第一方面,提供一种聚类方法,包括:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
当所述待访问对象是核心对象时,将所述待访问对象归为一类;
对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,采用如下方式:
获取所述邻域内的邻居对象与所述待访问对象间的距离;
根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象;
获取所述距离对应的权重系数,所述权重系数与对象间的距离相关;
根据所述权重系数,计算所述待访问对象的邻域内邻居对象的数量。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
结合第一方面,在第一方面的第三种可能的实现方式中,所述待访问对象设置有扫描半径由小到大依次变化的多重邻域;
根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象,采用如下方式:
按照所述扫描半径由小到大的顺序,判断所述邻域内邻居对象的数量是否不小于对应的预设阈值;
当所述邻域内邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;
当所述当前邻域内邻居对象的数量小于对应的预设阈值时,判断所述待访问对象的多重邻域是否全部判断完;
当未判断完所述多重邻域时,执行按照所述扫描半径由小到大的顺序,判断下一重邻域内邻居对象的数量是否不小于对应的预设阈值;
当判断完所述多重邻域时,确定所述待访问对象不是核心对象。
结合第一方面和第一方面的第一种至第三种可能的实现方式中的任一种,在第一方面的第四种可能的实现方式中,对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类,采用如下方式:
获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
逐个判断所述直接密度可达的对象是否是核心对象;
当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
结合第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象,采用如下方式:
将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象。
根据本公开实施例的第二方面,提供一种聚类装置,包括:
第一获取单元,用于针对任一待访问对象,获取所述待访问对象的全部邻居对象;
第二获取单元,用于根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
判断单元,用于根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
聚类单元,用于当所述待访问对象是核心对象时,将所述待访问对象归为一类;
扩展聚类单元,用于对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二获取单元包括:
第一获取子单元,用于获取所述邻域内的邻居对象与所述待访问对象间的距离;
第一确定子单元,用于根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象;
第二获取子单元,用于获取所述距离对应的权重系数,所述权重系数与对象间的距离相关;
计算子单元,用于根据所述权重系数,计算所述待访问对象的邻域内邻居对象的数量。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二获取子单元包括:
统计子单元,用于根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询子单元,用于查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
第三获取子单元,用于根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
结合第二方面,在第二方面的第三种可能的实现方式中,所述待访问对象设置有多重邻域,所述多重邻域的扫描半径设置为由小到大依次变化;所述判断单元包括:
第一判断子单元,用于按照所述多重邻域的扫描半径由小到大的顺序,判断一重邻域内邻居对象的数量是否不小于对应的预设阈值;
第一确定子单元,用于当所述一重邻域内邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;
第二判断子单元,用于当所述一重邻域内邻居对象的数量小于对应的预设阈值时,判断所述待访问对象的多重邻域是否全部判断完,当未判断完所述多重邻域时,返回执行按照扫描半径由小到大的顺序,判断下一重邻域内的邻居对象的数量是否不小于对应的预设阈值;
第二确定子单元,用于当判断完所述多重邻域时,确定所述待访问对象不是核心对象。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述扩展聚类单元包括:
第四获取子单元,用于获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
第三判断子单元,用于逐个判断所述直接密度可达的对象是否是核心对象;
聚类子单元,用于当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
结合第二方面的第一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一确定子单元包括:
排序子单元,用于将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
统计子单元,用于按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象。
根据本公开实施例的第二方面,提供一种终端设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
当所述待访问对象是核心对象时,将所述待访问对象归为一类;
对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
本公开的实施例提供的技术方案可以包括以下有益效果:根据邻居对象与待访问对象之间的距离对应的权重系数,计算待访问对象在邻域内的邻居对象的数量;距离待访问对象越近的对象,折算得到的该对象的数量比例越大,对邻域内邻居对象的贡献也就越大;反之,距离待访问对象越远的对象,折算得到该对象的数量比例越小,对邻域内邻居对象的贡献也就越小。从而在一定程度上降低邻居对象数量对邻域的扫描半径及最小包含对象数量的敏感性,进而降低了使用此种聚类方法得到的聚类结果对扫描半径及最小包含对象数量的敏感性,提高了聚类结果的准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种聚类方法的流程图;
图2是根据一示例性实施例示出的一种对象分布示意图;
图3是根据一示例性实施例示出的步骤S200的流程图;
图4是根据一示例性实施例示出的步骤S220的流程图;
图5是根据一示例性实施例示出的步骤S230的流程图;
图6是根据一示例性实施例示出的步骤S300的流程图;
图7是根据一示例性实施例示出的邻域分布示意图;
图8是根据一示例性实施例示出的步骤S500的流程图;
图9是根据一示例性实施例示出的聚类装置的框图;
图10是根据一示例性实施例示出的一种终端设备的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在对本公开的实施例进行详细说明之前,首先介绍本公开出现的以下名词的概念:
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中,根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
所述权重系数能够体现对象间的相似性的关联性,例如,对象间的距离越大,表明两对象间的相似性越小,其对应的权重系数越小;反之,对象间的距离越小,表明两对象间的相似性越大,其对应的权重系数越大。即距离所述待访问对象越近的对象,在计算对象数量时贡献越大;距离所述待访问对象越远的对象,在计算对象数量时贡献越小。
在本公开一示例性实施例中,如图3所示,所述步骤S200可以包括以下步骤:
S210,获取所述邻域内的邻居对象与所述待访问对象间的距离;所述距离可以是余弦相似度、欧式距离等。
假设两个对象分别为A和B,其中,该两个对象间的余弦相似度根据公式(1)计算:
cos θ = A · B | | A | | B | | - - - ( 1 )
公式(1)中,分子表示向量A与向量B的内积,|A|是向量A的长度,|B|是向量B的长度。
需要说明的是,本公开采用对象间的余弦相似度反应对象间的距离关系时,利用(1-cosθ)表征对象间的距离,即d=1-cosθ,这样,对象间的距离越小,两个对象的相似性越大。
S220,根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象;
对象P的邻居对象中,如果邻居对象与对象P之间的距离不大于对象P的E1邻域的扫描半径E1,则确定该邻居对象是对象P在E1邻域内的邻居对象。
可选地,在本公开一示例性实施例中,如图4所示,步骤S220可以包括以下步骤:
在步骤S221中,将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
在步骤S222中,按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象。
判断E1邻域内的对象的数量,按照E1邻域内对象与对象P之间的距离大小关系进行排序,得到距离序列,可以首先根据查找法(例如,二分查找法)确定所述距离序列中与扫描半径E1最接近的距离,然后统计序列中小于该距离的个数,提高了判断效率。
在步骤S230,获取所述距离对应的权重系数,所述权重系数与对象间的距离相关;
所述权重系数可以根据对象间的属性距离来确定,还可以对象间的距离以及两个对象是否是同一个对象的概率确定,本公开对此并不限定。
在本公开一示例性实施例中,如图5所示,步骤S230可以包括以下步骤:
在步骤S231中,根据样本对象统计,得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
例如,在人脸识别中,根据高维特征计算出的两个人脸图像的余弦相似度cosθ的范围是[0,1],根据大量的人脸图像统计数据得出,当余弦相似度在[0.45,1]范围内时,两对象是同一个人的概率基本是98%以上;当余弦相似度在[0.35,0.45)范围内时,两对象是同一个人的概率基本是70%;当余弦相似度在[0.25,0.35)范围内时,两对象是同一个人的概率基本是40%;当余弦相似度在[0.15,0.25)范围内时,两对象是同一个人的概率基本是10%;当余弦相似度在[0,0.15)范围内时,两对象是同一个人的概率基本是0.1%。
根据上述统计结果可以得到对象间的距离以及两个对象是否是同一个对象的概率之间的对应关系,所述对应关系可以以表格形式或其它形式存储。
在步骤S232中,查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
在步骤S233中,根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
当对象间的距离利用余弦相似度计算时,需要将对象间的距离转换成对应的余弦相似度,对象间距离的取值范围转换成对应的余弦相似度的取值范围,得到所述概率与余弦相似度之间的对应关系;根据此对应关系。可以采用以下的公式(2)描述权重系数与余弦相似度之间的关系:
W ( d ) = 1 * cos &theta; , if cos &theta; &GreaterEqual; 0.45 0.7 * cos &theta; , if 0.35 &le; cos &theta; < 0.45 0.4 * cos &theta; , if 0.25 &le; cos &theta; < 0.35 0.1 * cos &theta; , if 0.15 &le; cos &theta; < 0.25 0.001 * cos &theta; , if cos &theta; 0.15 - - - ( 2 )
公式(2)是根据余弦相似度与两个对象是否是同一个人的概率之间的对应关系。其它类型的距离,根据距离对应的概率之间的关系进行类似的总结及推导,此处不再赘述。
当然,所述权重系数还可以采用其它的方式获得,只要权重系数能够表征对象间的距离及对象的相似性之间的关系即可。
S240,根据所述权重系数,计算所述待访问对象的邻域内邻居对象的数量。
可以根据权重系数表征邻居对象的数量,如公式(3)表示:
Pts = &Sigma; i &Element; E W ( d i ) - - - ( 3 )
其中,di是对象Pi与对象P之间的距离,Pi是对象P在E邻域内的邻居对象。
公式(3)是E邻域内的全部对象的数量之和,实际是将每个对象的数量从1变成该对象与所述待访问对象之间的距离对应的权重系数W(di)。换言之,并不是单纯计算E邻域内包含的对象的个数,而是对象距离圆心点越近其换算得到的对象个数的比例越大,反之,对象距离圆心点越远其换算得到的对象个数的比例越小。
在步骤S300中,根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;如果是,进入步骤S400;否则,将所述待访问对象标记为噪声点,并返回执行步骤S100,获取下一个待访问对象的全部邻居对象,进行下一轮的处理,直到不存在待访问对象为止。
假设待访问对象P的E1邻域对应的最小包含对象数量Minpts1,判断步骤S200计算得到的E1邻域内P的邻居对象的数量Pts1,是否不小于Minpts1,如果Pts1≥Minpts1,则P为核心对象;否则,P不是核心对象。
可以理解的是,最小包含对象数量Minpts1可以根据所述权重系数进行设定,也可以根据试验结果或经验值设定。
当所述待访问对象是核心对象时,在步骤S400中,将所述待访问对象归为一类。
如果P是核心对象,则将P看作一个类,即该类只包含对象P。
为对象设置类标号C,初始状态下,对象的类标号为0,每增加一个类,对应的类标号加1,例如,对象P是核心对象,则将P归为一个类,类标号C更新为1;发现不属于P所在类的核心对象Q时,将Q归为另一个类,类标号更新为2,依次类推,新增加的类对应的类标号在已有类的类标号基础上增加1。
在步骤S500中,对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
扩展聚类就是将核心对象P的直接密度可达的对象Pi加入核心对象P所在的类中,然后,逐个判断该类中的直接密度可达的对象Pi是否是核心对象,如果是,再将所述新的核心对象Pi的直接密度可达的对象加入P所在的类中。
扫描半径越大引入噪声点的概率就越大,因此,当扫描半径的可信度不高时,可以只对指定范围内的对象进行扩展聚类,从而避免了将更多的噪声点加入类中,从而提高了聚类结果的准确率。
本实施例提供的聚类方法,根据邻居对象与待访问对象之间的距离,及其对应的权重系数,计算待访问对象在邻域内的邻居对象的数量;距离待访问对象越近的对象,折算得到的该对象的数量比例越大,对邻域内邻居对象的贡献也就越大;反之,距离待访问对象越远的对象,折算得到该对象的数量比例越小,对邻域内邻居对象的贡献也就越小。从而在一定程度上降低邻居对象数量对邻域的扫描半径及最小包含对象数量的敏感性,进而降低了使用此种聚类方法得到的聚类结果对扫描半径及最小包含对象数量的敏感性,提高了聚类结果的准确率。
为了进一步降低聚类结果对扫描半径和最小包含数量的敏感性,提高聚类结果的准确率。
在本公开一示例性实施例示出的判断待访问对象是否是核心对象的流程图,所述待访问对象设置有扫描半径由小到大依次变化的多重邻域,如图6所示,所述步骤S300可以包括:
在步骤S310中,按照所述扫描半径由小到大的顺序,判断所述邻域内邻居对象的数量是否不小于对应的预设阈值;
如图7所示,为对象设置的多重邻域的示意图,对象P设置有扫描半径分别是E1、E2、E3(E1<E2<E3)的三重邻域,该三重邻域分别是E1邻域、E2邻域和E3邻域。
在判断对象P是否是核心对象时,首先判断扫描半径最小的邻域,即图7所示的E1邻域内的邻居对象的数量Pts1是否不小于MinPts1;如果Pts1<MinPts1,则继续判断E2邻域内的邻居对象的数量Pts2是否不小于MinPts2;如果Pts2<MinPts2,则继续判断E3邻域内的邻居对象的数量情况。
无论对象设置有几重邻域,判断顺序上述的三重邻域的顺序相似,按照扫描半径由小到大的顺序,逐次判断邻域内的邻居对象的数量。
当所述邻域内邻居对象的数量不小于对应的预设阈值时,在步骤S311中,确定所述待访问对象是核心对象;
当对象P的多重邻域中某一重邻域内的邻居对象的数量不小于相应的预设阈值(图7所示的示例中,Pts1≥MinPts1或Pts2≥MinPts2或Pts3≥MinPts3)时,确定该对象P是核心对象。
当所述当前邻域内邻居对象的数量小于对应的预设阈值时,在步骤S312中,判断所述待访问对象的多重邻域是否全部判断完;如果是,进入步骤S313;否则,返回执行步骤S310,执行按照所述扫描半径由小到大的顺序,判断下一重邻域内邻居对象的数量是否不小于对应的预设阈值;
例如,可以设定变量i,i的初始值为0,当判断第一重邻域时,i增加1(即i=i+1),通过比较判断i与邻域重数,确定是否判断完多重邻域。
当判断完所述多重邻域时,在步骤S313中,确定所述待访问对象不是核心对象。
如果对象P的全部邻域内的邻居对象的数量均小于相应的预设值,例如,图7所示的示例中,Pts1<MinPts1,且Pts2<MinPts2,且Pts3<MinPts3,则对象P不是核心对象。如果确定待访问对象P不是核心对象,则对象P为Noise(噪声点),并返回执行获取下一个待访问对象的全部邻居对象的步骤,直到不存在待访问对象。
本领域技术人员可以理解的是,当为对象设置扫描半径由小到大变化的多重邻域时,获取多重邻域内邻居对象的数量的过程可以按照扫描半径由小到大的顺序,依次获取多重邻域内的邻居对象的数量。图7的示例,首先获取E1邻域内的邻居对象的数量Pts1,当Pts1<MinPts1时,继续获取扫描半径大于E1且小于E2的范围内的邻居对象的数量Pts21,即E2邻域内的邻居对象的数量Pts2=Pts1+Pts21;当Pts2<MinPts2时,继续获取扫描半径大于E2且小于E3的范围内的邻居对象的数量Pts32,即E3邻域内的邻居对象的数量Pts3=Pts32+Pts21+Pts1。获得邻域或某个范围内的邻居对象的数量请参见上述的相关内容,此处不再赘述。
本实施例提供的判断对象是否是核心对象的方式,直接根据邻居对象与待访问对象之间的距离确定所述邻域内的邻居对象的数量,如果待访问对象的多重邻域内的某个邻域内邻居对象的数量不小于对应的预设阈值,则该待访问对象是核心对象,相当于放宽松了对Eps(扫描半径)和MinPts(最小包含对象数)的限制,因此,降低了聚类结果对Eps和MinPts此两个参数的敏感性,提高了聚类结果的准确率。
扫描半径越大引入噪声点的概率就越大,因此,将指定邻域内的直接密度可达的对象加入所述待访问对象所在的类中。
在本公开一示例性实施例中,对象设置有扫描半径由小到大变化的多重邻域时,如图8所示,扩展聚类可以包括:
在步骤S510中,获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
获取待访问对象P在指定邻域内的全部邻居对象,得到队列NeighborPts,可以直接计算P的邻居对象Pi与P之间的距离,然后,比较所述距离以及所述指定邻域的扫描半径之间的大小关系,如果所述距离不小于所述扫描半径,则表明所述邻居对象是队列NeighborPts中的对象。所述距离可以是余弦相似度、欧式距离等。需要说明的是,本公开采用对象间的余弦相似度反应对象间的距离关系时,利用1-余弦相似度(1-cosθ)表征对象间的距离,这样,对象间的距离越小,两个对象的相似性越大。
可选地,还可以在获得各个邻居对象与待访问对象之间的距离之后,根据距离的大小进行排序,这样,在判断领域内的对象数量时,按照所述距离序列,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象,最终得到队列NeighborPts。
在步骤S520中,逐个判断所述直接密度可达的对象是否是核心对象;如果是,执行步骤S530;否则,执行步骤S540。
遍历队列NeighborPts中的对象Pi,判断对象Pi是否是核心对象,判断对象Pi是否是核心对象的过程与上述的相关内容相似:首先根据权重系数和对象Pi与其邻居对象之间的距离,获取对象Pi在邻域内的邻居对象的数量;然后判断所述邻居对象的数量是否不小于相应的预设阈值。
如果Pi设置有一重邻域,则对象Pi的邻居对象的数量不小于预设阈值时,确定所述直接密度可达的对象是核心对象;当邻域内的邻居对象的数量小于预设阈值时,确定所述直接密度可达的对象不是核心对象。
如果对象Pi设置有多重邻域,则判断对象在多重邻域中是否存在至少一重邻域内的邻居对象的数量不小于预设阈值;当对象Pi的邻居对象的数量不小于预设阈值时,确定所述直接密度可达的对象是核心对象;当多重邻域内的所述邻居对象的数量均小于预设阈值时,确定所述直接密度可达的对象不是核心对象。
当所述直接密度可达的对象是核心对象时,在步骤S530中,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中。
在步骤S540中,判断所述直接密度可达的对象是否全部判断完;如果未全部判断完,则返回执行步骤S520,判断下一个直接密度可达的对象是否是核心对象;如果全部判断完,则结束本次扩展聚类。
在进行扩展聚类时,可以创建一个队列用于存储待访问的对象,例如,对待访问对象P进行扩展聚类时,创建一个队列,首先将P在指定邻域内的直接密度可达的对象加入该队列中,例如,该队列为{P1,P2,P3,P4},首先判断P1是否是核心对象,如果是,则将P1在指定邻域内的直接密度可达的对象加入P所在的类中,以及,将P1在指定邻域内的直接密度可达的对象加入所述队列(堆栈数据结构)中,继续访问队列中的下一个对象(例如,P2),标记该对象(P2)为已访问对象,判断该对象是否是核心对象,如果不是核心对象,则判断该对象是否其它类的成员,如果该对象不是其它类的成员,则将该对象加入对象P所在的类中,继续访问队列中下一个对象,直到队列中没有对象。
本实施例提供的扩展聚类的方法,只对指定邻域内的对象进行扩展,即只对可信度较高的扫描半径对应的邻域内的对象进行扩展,降低了引入噪声点的概率,因此提高了聚类结果的准确率。
图9是根据一示例性实施例示出的一种聚类装置示意图。参照图9,该装置包括第一获取单元100、第二获取单元200、判断单元300、聚类单元400和扩展聚类单元500。
第一获取单元100被配置为针对任一待访问对象,获取所述待访问对象的全部邻居对象;
第二获取单元200被配置为根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
在本公开一示例性实施例中,第二获取单元200可以包括第一获取子单元、第一确定子单元、第二获取子单元和计算子单元;
所述第一获取子单元被配置为获取所述邻域内的邻居对象与所述待访问对象间的距离;
所述第一确定子单元被配置为根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象;
所述第二获取子单元被配置为获取所述距离对应的权重系数,所述权重系数与对象间的距离相关;
所述计算子单元被配置为根据所述权重系数,计算所述待访问对象的邻域内邻居对象的数量。
判断单元300被配置为根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
聚类单元400被配置为当所述待访问对象是核心对象时,将所述待访问对象归为一类;
扩展聚类单元500被配置为对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
本实施例提供的聚类装置,根据邻居对象与待访问对象之间的距离,及其对应的权重系数,计算待访问对象在邻域内的邻居对象的数量;距离待访问对象越近的对象,折算得到的该对象的数量比例越大,对邻域内邻居对象的贡献也就越大;反之,距离待访问对象越远的对象,折算得到该对象的数量比例越小,对邻域内邻居对象的贡献也就越小。从而在一定程度上降低邻居对象数量对邻域的扫描半径及最小包含对象数量的敏感性,进而降低了使用此种聚类方法得到的聚类结果对扫描半径及最小包含对象数量的敏感性,提高了聚类结果的准确率。
在本公开一示例性实施例中,所述第二获取子单元可以包括:统计子单元、查询子单元和第三获取子单元;
统计子单元被配置为根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询子单元被配置为查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
第三获取子单元被配置为根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
本实施例提供的第二获取子单元,由统计子单元根据样本对象统计邻居对象与所述待访问对象间的距离以及此两个对象是否是同一个对象的概率之间的对应关系;由第三获取子单元根据概率及所述距离之间的乘积,得到所述距离对应的权重系数;使得权重系数与两个对象是否是同一个对象的概率相关联,概率越大对应的权重系数越大,对数量的贡献越大,从而提高了聚类装置得到的聚类结果的准确率。
在本公开一示例性实施例中,所述第一获取子单元可以包括:排序子单元和统计子单元;
所述排序子单元被配置为将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
所述统计子单元被配置为按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象。
本实施例提供的第一获取子单元,在获得各个邻居对象与待访问对象之间的距离后按照大小关系排序,可以按照某种查找法查找出某个邻域内的对象,而不必每次查找都对全部对象搜索一遍,从而提高了查找效率。
在本公开一示例性实施例中,如果待访问对象设置有多重邻域,且所述多重邻域的扫描半径设置为由小到大依次变化;所述判断单元300可以包括第一判断子单元、第一确定子单元、第二判断子单元和第二确定子单元;
第一判断子单元被配置为按照所述多重邻域的扫描半径由小到大的顺序,判断一重邻域内邻居对象的数量是否不小于对应的预设阈值;
第一确定子单元被配置为当所述一重邻域内邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;
第二判断子单元被配置为当所述一重邻域内邻居对象的数量小于对应的预设阈值时,判断所述待访问对象的多重邻域是否全部判断完,当未判断完所述多重邻域时,返回执行按照扫描半径由小到大的顺序,判断下一重邻域内的邻居对象的数量是否不小于对应的预设阈值;
第二确定子单元被配置为当判断完所述多重邻域时,确定所述待访问对象不是核心对象。
本实施例提供的判断单元,按照扫描半径由小到大的顺序,判断所述多重邻域中是否存在某个邻域内邻居对象的数量不小于对应的预设阈值,相当于放宽松了对Eps(扫描半径)和MinPts(最小包含对象数)的限制,因此,降低了聚类结果对Eps和MinPts此两个参数的敏感性,提高了聚类结果的准确率。
在本公开一示例性实施例中,如果待访问对象设置有多重邻域,且所述多重邻域的扫描半径设置为由小到大依次变化;所述扩展聚类500可以包括第四获取子单元、第三判断子单元和聚类子单元;
第四获取子单元,用于获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
第三判断子单元,用于逐个判断所述直接密度可达的对象是否是核心对象;
聚类子单元,用于当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
本实施例提供的扩展聚类单元,只对指定邻域内的对象进行扩展,即只对可信度较高的扫描半径对应的邻域内的对象进行扩展,降低了引入噪声点的概率,因此提高了聚类结果的准确率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种用于聚类的终端设备800的框图。例如,终端设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,终端设备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,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种聚类方法,所述方法包括:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
当所述待访问对象是核心对象时,将所述待访问对象归为一类;
对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (13)

1.一种聚类方法,其特征在于,包括:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
当所述待访问对象是核心对象时,将所述待访问对象归为一类;
对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
2.根据权利要求1所述的方法,其特征在于,所述根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,采用如下方式:
获取所述邻域内的邻居对象与所述待访问对象间的距离;
根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象;
获取所述距离对应的权重系数,所述权重系数与对象间的距离相关;
根据所述权重系数,计算所述待访问对象的邻域内邻居对象的数量。
3.根据权利要求2所述的方法,其特征在于,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
4.根据权利要求1所述的方法,其特征在于,所述待访问对象设置有扫描半径由小到大依次变化的多重邻域;
根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象,采用如下方式:
按照所述扫描半径由小到大的顺序,判断所述邻域内邻居对象的数量是否不小于对应的预设阈值;
当所述邻域内邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;
当所述当前邻域内邻居对象的数量小于对应的预设阈值时,判断所述待访问对象的多重邻域是否全部判断完;
当未判断完所述多重邻域时,执行按照所述扫描半径由小到大的顺序,判断下一重邻域内邻居对象的数量是否不小于对应的预设阈值;
当判断完所述多重邻域时,确定所述待访问对象不是核心对象。
5.根据权利要求4所述的方法,其特征在于,对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类,采用如下方式:
获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
逐个判断所述直接密度可达的对象是否是核心对象;
当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
6.根据权利要求2所述的方法,其特征在于,根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象,采用如下方式:
将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象。
7.一种聚类装置,其特征在于,包括:
第一获取单元,用于针对任一待访问对象,获取所述待访问对象的全部邻居对象;
第二获取单元,用于根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
判断单元,用于根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
聚类单元,用于当所述待访问对象是核心对象时,将所述待访问对象归为一类;
扩展聚类单元,用于对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
8.根据权利要求7所述的装置,其特征在于,所述第二获取单元包括:
第一获取子单元,用于获取所述邻域内的邻居对象与所述待访问对象间的距离;
第一确定子单元,用于根据所述距离,从所述待访问对象的全部邻居对象中确定在所述邻域内的邻居对象;
第二获取子单元,用于获取所述距离对应的权重系数,所述权重系数与对象间的距离相关;
计算子单元,用于根据所述权重系数,计算所述待访问对象的邻域内邻居对象的数量。
9.根据权利要求8所述的装置,其特征在于,所述第二获取子单元包括:
统计子单元,用于根据样本对象统计得到对象间的距离以及两个对象是否是同一对象的概率之间的对应关系;
查询子单元,用于查询所述对应关系,获得所述距离对应的两个对象是否是同一个对象的概率;
第三获取子单元,用于根据所述概率及所述距离之间的乘积,得到所述距离对应的权重系数,所述权重系数与所述概率正相关。
10.根据权利要求7所述的装置,其特征在于,所述待访问对象设置有多重邻域,所述多重邻域的扫描半径设置为由小到大依次变化;所述判断单元包括:
第一判断子单元,用于按照所述多重邻域的扫描半径由小到大的顺序,判断一重邻域内邻居对象的数量是否不小于对应的预设阈值;
第一确定子单元,用于当所述一重邻域内邻居对象的数量不小于对应的预设阈值时,确定所述待访问对象是核心对象;
第二判断子单元,用于当所述一重邻域内邻居对象的数量小于对应的预设阈值时,判断所述待访问对象的多重邻域是否全部判断完,当未判断完所述多重邻域时,返回执行按照扫描半径由小到大的顺序,判断下一重邻域内的邻居对象的数量是否不小于对应的预设阈值;
第二确定子单元,用于当判断完所述多重邻域时,确定所述待访问对象不是核心对象。
11.根据权利要求10所述的装置,其特征在于,所述扩展聚类单元包括:
第四获取子单元,用于获取所述待访问对象在指定领域内的全部直接密度可达的对象,所述指定邻域的扫描半径小于所述多重邻域中的最大扫描半径;
第三判断子单元,用于逐个判断所述直接密度可达的对象是否是核心对象;
聚类子单元,用于当所述直接密度可达的对象是核心对象时,将所述直接密度可达的对象在指定邻域内的邻居对象加入所述待访问对象所在的类中,直到没有新的对象加入所述待访问对象所在的类中。
12.根据权利要求8所述的装置,其特征在于,所述第一确定子单元包括:
排序子单元,用于将各个所述邻居对象与所述待访问对象之间的距离按照大小关系进行排序;
统计子单元,用于按照所述距离的排序,统计与所述待访问对象间的距离小于所述邻域的扫描半径的邻居对象。
13.一种终端设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
针对任一待访问对象,获取所述待访问对象的全部邻居对象;
根据所述邻居对象与所述待访问对象间的距离及对应的权重系数,获取所述待访问对象的邻域内邻居对象的数量,所述权重系数与所述对象间的距离相关;
根据所述待访问对象的邻域内邻居对象的数量,判断所述待访问对象是否是核心对象;
当所述待访问对象是核心对象时,将所述待访问对象归为一类;
对所述待访问对象在邻域内的直接密度可达的对象进行扩展聚类,直到没有新的对象加入所述待访问对象所在的类。
CN201410073353.4A 2014-02-28 2014-02-28 聚类方法、装置及终端设备 Active CN103902654B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410073353.4A CN103902654B (zh) 2014-02-28 2014-02-28 聚类方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410073353.4A CN103902654B (zh) 2014-02-28 2014-02-28 聚类方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN103902654A true CN103902654A (zh) 2014-07-02
CN103902654B CN103902654B (zh) 2017-02-08

Family

ID=50993977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410073353.4A Active CN103902654B (zh) 2014-02-28 2014-02-28 聚类方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN103902654B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015127801A1 (zh) * 2014-02-28 2015-09-03 小米科技有限责任公司 聚类方法、装置及终端设备
CN108038500A (zh) * 2017-12-07 2018-05-15 东软集团股份有限公司 聚类方法、装置、计算机设备、存储介质和程序产品
CN108108760A (zh) * 2017-12-19 2018-06-01 山东大学 一种快速人脸识别方法
CN108960298A (zh) * 2018-06-15 2018-12-07 重庆大学 基于密度核心和动态扫描半径的体检报告聚类方法
CN109541654A (zh) * 2018-11-19 2019-03-29 北京金州世纪信息技术有限公司 一种车辆停靠点的计算方法及装置
CN110097126A (zh) * 2019-05-07 2019-08-06 江苏优聚思信息技术有限公司 基于dbscan聚类算法的核查重点人员、房屋漏登记的方法
CN111582306A (zh) * 2020-03-30 2020-08-25 南昌大学 一种基于关键点图表示的近重复图像匹配方法
CN111709473A (zh) * 2020-06-16 2020-09-25 腾讯科技(深圳)有限公司 对象特征的聚类方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
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 哈尔滨工业大学深圳研究生院 一种基于聚类角点加权面积的群体聚散检测的方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 (3)

* Cited by examiner, † Cited by third party
Title
JIAWEI HAN 等: "《数据挖掘:概念与技术(第三版)》", 31 August 2012, article "数据挖掘:概念与技术(第三版)" *
JIAWEI HAN 等: "《数据挖掘:概念与技术(第三版)》", 31 August 2012, 机械工业出版社 *
于智航: ""改进的密度聚类算法研究"", 《CNKI中国优秀硕士论文全文数据库》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015127801A1 (zh) * 2014-02-28 2015-09-03 小米科技有限责任公司 聚类方法、装置及终端设备
CN108038500A (zh) * 2017-12-07 2018-05-15 东软集团股份有限公司 聚类方法、装置、计算机设备、存储介质和程序产品
CN108038500B (zh) * 2017-12-07 2020-07-03 东软集团股份有限公司 聚类方法、装置、计算机设备、存储介质和程序产品
CN108108760A (zh) * 2017-12-19 2018-06-01 山东大学 一种快速人脸识别方法
CN108960298A (zh) * 2018-06-15 2018-12-07 重庆大学 基于密度核心和动态扫描半径的体检报告聚类方法
CN109541654A (zh) * 2018-11-19 2019-03-29 北京金州世纪信息技术有限公司 一种车辆停靠点的计算方法及装置
CN110097126A (zh) * 2019-05-07 2019-08-06 江苏优聚思信息技术有限公司 基于dbscan聚类算法的核查重点人员、房屋漏登记的方法
CN110097126B (zh) * 2019-05-07 2023-04-21 江苏优聚思信息技术有限公司 基于dbscan聚类算法的核查重点人员、房屋漏登记的方法
CN111582306A (zh) * 2020-03-30 2020-08-25 南昌大学 一种基于关键点图表示的近重复图像匹配方法
CN111709473A (zh) * 2020-06-16 2020-09-25 腾讯科技(深圳)有限公司 对象特征的聚类方法及装置
CN111709473B (zh) * 2020-06-16 2023-09-19 腾讯科技(深圳)有限公司 对象特征的聚类方法及装置

Also Published As

Publication number Publication date
CN103902654B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103902654A (zh) 聚类方法、装置及终端设备
CN103902655A (zh) 聚类方法、装置及终端设备
CN109117862B (zh) 图像标签识别方法、装置及服务器
CN103984847A (zh) 一种饮食推荐方法及相关装置
CN106355429A (zh) 图像素材的推荐方法及装置
CN103927545B (zh) 聚类方法及相关装置
CN103914518A (zh) 聚类方法及相关装置
CN109783656B (zh) 音视频数据的推荐方法、***及服务器和存储介质
CN108665007B (zh) 一种基于多分类器的推荐方法、装置及电子设备
CN104105169A (zh) 自动连接无线局域网的方法及装置
CN106250921A (zh) 图片处理方法及装置
CN104850238A (zh) 对输入法所产生的候选项进行排序的方法和装置
CN105069089A (zh) 图片检测方法及装置
CN105824955A (zh) 短信聚类方法及装置
CN104268129A (zh) 消息回复的方法及装置
CN105335684A (zh) 人脸检测方法及装置
CN103886284A (zh) 人物属性信息识别方法、装置及电子设备
CN109819288A (zh) 广告投放视频的确定方法、装置、电子设备及存储介质
CN104077597A (zh) 图像分类方法及装置
CN105139033A (zh) 分类器构建方法及装置和图片处理方法及装置
CN104615663A (zh) 文件排序方法、装置及终端
CN109918565A (zh) 一种搜索数据的处理方法、装置及电子设备
CN104484683A (zh) 黄色图片检测方法及装置
CN110110207A (zh) 一种信息推荐方法、装置及电子设备
CN104268149A (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