CN103902689A - 聚类方法、增量聚类方法及相关装置 - Google Patents

聚类方法、增量聚类方法及相关装置 Download PDF

Info

Publication number
CN103902689A
CN103902689A CN201410117723.XA CN201410117723A CN103902689A CN 103902689 A CN103902689 A CN 103902689A CN 201410117723 A CN201410117723 A CN 201410117723A CN 103902689 A CN103902689 A CN 103902689A
Authority
CN
China
Prior art keywords
class
distance
less
merging
iteration
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
CN201410117723.XA
Other languages
English (en)
Other versions
CN103902689B (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 CN201410117723.XA priority Critical patent/CN103902689B/zh
Publication of CN103902689A publication Critical patent/CN103902689A/zh
Application granted granted Critical
Publication of CN103902689B publication Critical patent/CN103902689B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开实施例公开了一种聚类方法、增量聚类方法及相关装置,所述聚类方法首先采用Rank-Order距离合并类,然后对合并后的类进行拆分,从类中将可能不属于该类的对象划分成单独的类,得到包含多个对象的聚类及包含单个对象的类,该方式提高了聚类结果的精确率,但是召回率有所下降;然后,对得到的多个对象的聚类和包含单个对象的类进行层次聚类,将划分出来的单独的类中可能属于同一个类的对象聚集到对应的类中,从而提高了召回率。

Description

聚类方法、增量聚类方法及相关装置
技术领域
本公开涉数据处理及技术领域,特别是涉及一种聚类方法、增量聚类方法及相关装置。
背景技术
聚类是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,即将对象分类到不同的类(或者簇)的过程,同一个类中的对象有很大的相似性,属于不同类的对象有很大的相异性。
增量聚类方法是当有一批聚类结果时,新增加一些数据,只对新增的数据进行聚类,并对已有的聚类结果进行增量式修改,不需要对新增数据后的整个数据集进行重新聚类。但是,相关技术中的聚类方法和增量聚类方法均无法同时保证高精确率和高召回率。
发明内容
为克服相关技术中存在的问题,本公开提供一种聚类方法、增量聚类方法及相关装置。
为了解决上述技术问题,本公开实施例公开了如下技术方案:
根据本公开实施例的第一方面,提供一种聚类方法,包括:
对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同;获取各个类之间的类间距离;对于类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
结合第一方面,在第一方面的第一种可能的实现方式中,所述类间距离为第一类与第二类之间的距离;所述获取各个类之间的类间距离,采用如下方式:
获取所述第一类的全部对象与所述第二类的全部对象之间的距离;获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定;根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离;获取所述第二类到所述第一类的第二单向权重距离;根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系;根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数根据所述概率确定。
结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离,采用如下方式:
获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离,以及所述相似性最大的距离对应的第一权重系数;根据所述相似性最大的距离与对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类的全部对象之间的最小权重距离;获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离;根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离;根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述权重距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
结合第一方面,在第一方面的第四种可能的实现方式中,所述根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度,采用如下方式:
获取类内各个对象间的距离;根据所述类内对象距离计算所述类内的各个对象间距离的距离平均值;对所述距离平均值进行归一化,得到所述类的类内聚合度。
结合第一方面,在第一方面的第五种可能的实现方式中,所述针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量,采用如下方式:
当所述类内对象间的距离小于所述类内聚合度时,将所述距离对应的对象进行连通标记;根据所述连通标记确定所述类内的连通分量;根据所述连通分量将所述类拆分成新类,并更新类的数量。
根据本公开实施例的第二方面,提供一种增量聚类方法,所述方法用于在包含m个类和n个单独对象的已有聚类结果基础上,对新增的对象进行聚类,其中,m为正整数,n为不小于0的整数;所述方法包括:
针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;将类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相同。
结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:
判断新增的对象的数量是否大于阈值;当新增的对象的数量不大于阈值时,执行针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并的步骤;当新增的对象的数量大于阈值时,将所述新增的对象直接作为第一聚类结果,执行针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离的步骤。
根据本公开实施例的第三方面,提供一种聚类装置,包括:
迭代合并单元,用于对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;
第一获取单元,用于根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
划分单元,用于针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
第一判断单元,用于判断更新后类的数量是否比更新前类的数量少,当更新后类的数量比更新前类的数量少时,所述迭代合并单元执行对于类间的Rank-Order距离小于第一距离阈值进行类的迭代合并,直到更新后类的数量与更新前类的数量相同;
第二获取单元,用于获取各个类之间的类间距离;
合并单元,用于对于类间距离小于第二距离阈值的类进行合并;
第二判断单元,用于判断合并后类的数量是否小于合并前类的数量,当合并后类的数量小于合并前类的数量时,所述第二获取单元执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相同。
结合第三方面,在第三方面的第一种可能的实现方式中,所述类间距离为第一类与第二类之间的距离;所述第二获取单元包括:
第一获取子单元,用于获取所述第一类的全部对象与所述第二类的全部对象之间相似性最大的距离;
第二获取子单元,用于获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定;
第三获取子单元,用于根据所述距离,以及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离;
第四获取子单元,用于获取所述第二类到所述第一类的第二单向权重距离;
第五获取子单元,用于根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第二获取子单元包括:
统计子单元,用于根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系;
权重确定子单元,用于根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数根据所述概率确定。
结合第三方面的第一种可能的实现方式或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述第三获取子单元包括:
最小距离获取子单元,用于获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离;
权重系数获取子单元,用于获取所述相似性最大的距离对应的第一权重系数;
最小权重距离获取子单元,用于根据所述距离及对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类的全部对象之间的最小权重距离;
平均权重距离获取子单元,用于获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离;
权重距离获取子单元,用于根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离;
单向权重距离获取子单元,用于根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述权重距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
结合第三方面,在第三方面的第四种可能的实现方式中,所述划分单元包括:
第一判断子单元,用于判断所述类内对象间的距离是否小于所述类内聚合度;
连通标记子单元,用于当所述类内对象间的距离小于所述类内聚合度时,将所述距离对应的对象进行连通标记;
确定子单元,用于根据所述连通标记确定所述类内的连通分量;
拆分子单元,用于根据所述连通分量将所述类拆分成新类,并更新类的数量。
根据本公开实施例的第四方面,提供一种增量聚类装置,所述增量聚类装置用于在包含m个类和n个单独对象的已有聚类结果基础上,对新增的对象进行聚类,其中,m为正整数,n为不小于0的整数;所述装置包括:
迭代合并单元,用于针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;
第一获取单元,用于根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
划分单元,用于针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
第一判断单元,用于判断更新后类的数量是否比更新前类的数量少,当更新后类的数量比更新前类的数量少时,迭代合并单元执行对类间的Rank-Order距离小于第一距离阈值进行类的迭代合并,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;
第二获取单元,用于针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;
合并单元,用于将类间距离小于第二距离阈值的类进行合并;
第二判断单元,用于判断合并后类的数量是否小于合并前类的数量,当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
结合第四方面,在第四方面的第一种可能的实现方式中,所述装置还包括:
第三判断单元,用于判断新增的对象的数量是否大于阈值,当新增的对象的数量大于阈值时,所述迭代合并单元执行针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;当新增的对象的数量不大于阈值时,将所述新增的对象直接作为第一聚类结果,第二获取单元执行针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离。
根据本公开实施例的第五方面,提供一种终端设备,包括:
处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同;获取各个类之间的类间距离;对于类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
根据本公开实施例的第六方面,提供一种终端设备,用于在包含m个类和n个单独对象的已有聚类结果基础上,对新增的对象进行聚类,其中,m为正整数,n为不小于0的整数,所述终端设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;将类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相同。
本公开的实施例提供的技术方案可以包括以下有益效果:首先采用Rank-Order距离合并类,然后对合并后的类进行拆分,从类中将可能不属于该类的对象划分成单独的类,得到包含多个对象的聚类及包含单个对象的类,该方式提高了聚类结果的精确率,但是召回率有所下降;然后,对得到的多个对象的聚类和包含单个对象的类进行层次聚类,将划分出来的单独的类中可能属于同一个类的对象聚集到对应的类中,从而提高了召回率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是多个对象的序列排序示意图;
图2是根据一示例性实施例示出的一种聚类方法的流程图;
图3是根据一示例性实施例示出的图2中的步骤S200的流程图;
图4是根据另一示例性实施例示出的图2中的步骤S200的流程图;
图5是根据一示例性实施例示出的图2中的步骤S300的流程图;
图6是根据一示例性实施例示出的类间距离的获取方法的流程图;
图7是根据一示例性实施例示出的一种获取第一单向权重距离的流程图;
图8是根据一示例性实施例示出的一种增量聚类方法的流程图;
图9是根据一示例性实施例示出的另一种增量聚类方法的流程图;
图10是根据一示例性实施例示出的一种聚类装置的框图;
图11是根据一示例性实施例示出的一种增量聚类装置的框图;
图12是根据一示例性实施例示出的一种终端设备的框图;
图13是根据一示例性实施例示出的一种服务器设备的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在对本公开的示例性实施例进行说明之前,首先介绍Rank-Order距离的相关知识,计算对象间的距离(例如,余弦相似度、欧式距离等),按照距离的大小将各个对象进行重新排序,得到一个序列。假设有n个对象,分别为i1、i2、i3、i4、i5、i6……in,以对象i1为基准对象,计算其它各个对象与对象i1之间的距离,并按距离的大小进行排序,得到图1所示的序列O1;以对象i2为基准对象,计算其它各个对象与基准对象i2之间的距离,得到图1所示的序列O2
根据序列O1中对象i1和i2之间的邻居对象在序列O2中的序号计算,对象i1和i2之间的非对称Rank-Order距离D(i1,i2),具体根据图1的示例,对象i1、i3、i4、i2在O2中的序号分别为5、2、4、0,则根据公式1计算D(i1,i2):
D ( i 1 , i 2 ) = Σ x = 0 O 1 ( i 2 ) O 2 ( f 1 ( X ) ) = O 2 ( i 1 ) + O 2 ( i 3 ) + O 2 ( i 4 ) + O 2 ( i 2 ) = 5 + 2 + 4 + 0 = 11 - - - ( 1 )
公式1中,O2(i1)表示对象i1在序列O2中的序号,O2(i3)表示对象i3在序列O2中的序号,O2(i4)表示对象i4在序列O2中的序号,O2(i2)表示对象i2在序列O2中的序号。
同理计算得到对象i1和i2之间的非对称Rank-Order距离D(i2,i1),然后,根据公式2计算得到对象i1和i2之间归一化之后的Rank-Order距离DR(i1,i2):
D R ( i 1 , i 2 ) = D ( i 1 , i 2 ) + D ( i 2 , i 1 ) min ( O 1 ( i 2 ) , O 2 ( i 1 ) ) - - - ( 2 )
所述DR(i1,i2)表示归一化后的对象间的Rank-Order距离,类间的Rank-Order距离与对象间的Rank-Order距离算法相同,一个类为基准类然后按照类间距离对各个类进行重新排序,类间距离如公式(3)所示:
d ( C i , C j ) = min d ( a , b ) ∀ a ∈ C i , b ∈ C j - - - ( 3 )
公式(3)中Ci和Cj表示类。
类间Rank-Order距离的计算公式如公式(4)所示:
D R ( C i , C j ) = D ( C i , C j ) + D ( C j , C i ) min ( O C i ( C j ) , O C j ( C i ) ) - - - ( 4 )
公式(4)中D(Ci,Cj)表示类Ci与类Cj之间的非对称Rank-Order距离,D(Cj,Ci)表示类Cj与类Ci之间的非对称Rank-Order距离;
Figure BDA0000482412320000095
表示以Ci为基准类的序列中类Cj的序号,
Figure BDA0000482412320000096
表示以类Cj为基准类的序列中类Ci的序号。
根据类间距离DR(Ci,Cj)计算得到类间归一化Rank-Order距离DN(Ci,Cj),其中,类间归一化距离的计算公式如公式(5)所示:
D N ( C i , C j ) = 1 φ ( C i , C j ) · d ( C i , C j ) ,
φ ( C i , C j ) = 1 | C i | + | C j | Σ a ∈ C i ∪ C j 1 K Σ k = 1 K d ( a , f a ( k ) ) - - - ( 5 )
公式(5)中,d(Ci,Cj)表示类Ci和类Cj之间的距离,|Ci|和|Cj|表示类内的对象个数,K是常数,fa(k)表示对象a第k个邻居对象,φ(Ci,Cj)表示两个类中距离它们的最近的K个对象之间的平均距离。
假设对象是人脸图像,本公开提供的所述聚类方法能够将属于同一个人的图像聚集在一起形成一个聚类。将人脸图像中的特征转换成一组向量,因此,对象间的距离即向量之间的距离。当然,本公开提供的聚类方法也可以应用于其它的数据。
图2是根据一示例性实施例示出的一种聚类方法的流程图,如图2所示,所述聚类方法用于终端中,可以包括下述步骤S100~S800:
在步骤S100中,对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并。
计算两两类之间的Rank-Order距离,将Rank-Order距离小于第一距离阈值的全部类各自进行合并。所述第一距离阈值可以根据数据类型确定,还可以根据试验结果确定。
在本公开的一个示例性实施例中,步骤S100可以包括下述的步骤1)和步骤2):
步骤1),获取类间Rank-Order距离,以及获取类间Rank-Order归一化距离。
本实施例中的对象是人脸图像,假设初始的人脸图像的数目是N,将每一个人脸图像作为一个单独的类,则初始的类的数量为N个,并设定距离阈值t和常数K。针对任意的类Ci和Cj,根据上述的公式(1)~(5)计算得到类间Rank-Order距离DR(Ci,Cj)和类间归一化Rank-Order距离DN(Ci,Cj)。初始类的数量为N,则最后得到一个N×N的DR(Ci,Cj)矩阵和一个N×N的DN(Ci,Cj)矩阵,其中,DR(Ci,Cj)矩阵中每个向量表示对应的类之间的Rank-Order距离,例如,矩阵中的Cij表示类Ci和Cj间的Rank-Order距离,DN(Ci,Cj)矩阵中的向量Cij表示类Ci和Cj间的Rank-Order归一化距离。
步骤2),当类间的Rank-Order距离小于距离阈值,且所述类间的Rank-Order归一化距离小于1时,合并所述类。
从DR(Ci,Cj)矩阵中选出小于距离阈值t的DR(Ci,Cj),以及从DN(Ci,Cj)矩阵中选出小于1的DN(Ci,Cj)。当DR(Ci,Cj)<t,且DN(Ci,Cj)<1时,确定类Ci和Cj相似度较大能够,即类Ci和Cj为候选合并类,然后合并全部的候选合并类。当DR(Ci,Cj)≥t,表明类Ci和Cj相似度较小;当DN(Ci,Cj)≥1时,表明类间离散度较大。
在步骤S200中,根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度。所述类内聚合度能够反映类内对象的聚集程度,可以利用类内各个对象间的距离的平均值表示,还可以利用归一化后的距离平均值表示。
在本公开的一个示例性实施例中,如图3所示,步骤S200可以包括下述步骤S201~S202:
在步骤S201中,获取类内各个对象间的距离。所述对象间的距离可以是余弦相似度、欧式距离或杰卡德距离等。
需要说明的是,本公开中采用余弦相似度cosθ计算对象间的距离时,将对象间的距离定义为1-cosθ,即对象间的距离越小,对象的相似性越大。
在步骤S202中,计算所述类内各个对象间距离的距离平均值,得到所述类的类内聚合度。
假设类内的对象为n个,根据计算得到的类内任意两个对象之间的距离,得到n×n的距离矩阵d,矩阵中每个点表明对应的两个对象间的距离,例如距离矩阵d中的向量dij表示类内的第i个对象和第j个对象之间的距离。此步骤即计算距离矩阵d中各个向量的平均值d_aver。
在本公开的另一个实施例中,如图4所示,步骤S200可以包括下述步骤S210~S230:
在步骤S210中,获取类内各个对象间的距离。
在步骤S220中,根据所述类内对象间的距离,计算所述类内对象间距离的距离平均值。
在步骤S230中,将所述距离平均值进行归一化,得到所述类的类内聚合度。
将距离平均值将d_aver进行归一化,就是将d_aver归纳到一个范围中[dleft,dright],dleft和dright是阈值,例如,dleft可以是0.6,dright可以是0.75。例如,归一化公式如公式(6)所示:
d _ aver = dleft , d _ aver < dleft dright , d _ aver > dright d _ aver , dleft &le; d _ aver &le; dright
例如,当计算得到距离平均值为0.5时,归一化后得到的类内聚合度为0.6;当距离平均值为0.65时,归一化后得到的类内聚合度为0.65;当距离平均值为0.78时,归一化后得到的类内聚合度为0.75。
类内聚合度的数值越小表明类内的对象越聚集、相似性越大,因此,将类内聚合度归一化到一个区间内,例如,[0.6,0.75];当类内聚合度在归一化的区间内时,根据类内聚合度对类内的对象进行划分,当类内聚合度不在归一化的区间内时,根据该区间的阈值对类内的对象进行划分,这样,能够避免将类内聚合度较小的类划分过多的类,而针对类内聚合度数值较大(即类内离散度较大、聚集不紧密的类)的类能够适当地划分成多个类。
在步骤S300中,针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量。
计算类内各个对象间的距离,得到距离矩阵,查询距离矩阵,将对象间距离小于类内聚合度的对象作连通标记,将连通的对象作为一个连通分量,类中有几个连通分量,就可以将该类划分成几个新类。
在本公开的一个示例性实施例中,如图5所示,步骤S300可以包括下述步骤S310~S330:
在步骤S310中,将类内对象间的距离小于所述类内聚合度的对象进行连通标记。
对于类内的任一对象,查询所述类内对象的距离矩阵内该对象与类内的其它对象间的距离是否小于所述类内聚合度,如果类内对象间的距离小于所述类内聚合度,表明对象间的相似度较大,可以划分到同一个类中。此时,可以将所述距离对应的对象作连通标记,例如,两个人脸图像间的距离dij小于类内聚合度时,将第i个对象和第j个对象连通。
如果所述类内对象间的距离大于所述类内聚合度,表明对象间的相似度较小,不适合划分到同一个类中,不作任何标记。
在步骤S320中,根据所述连通标记确定所述类内的连通分量。
能够连通的对象连成一个连通分量,从而判断类内的全部对象能够划分成几个连通分量。
在步骤S330中,根据所述连通分量将所述类拆分成新类,并更新类的数量。
将每个连通分量对应的对象划分到一个新的类中,也就是一个类中包含几个连通分量,就将此大类划分成几个新的类,并相应的增加类的数量。通过划分连通分量能够实现将一个聚类中不属于该类的对象划分出来,即从聚类中剔除离群对象。
在步骤S400中,判断更新后类的数量是否比更新前类的数量少;如果是,则返回执行步骤S100;否则,进入步骤S500。
当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同;
对类进行基于Rank-Order距离合并,然后进行划分新类作为一次迭代,假设合并前类的数量为6个,基于Rank-Order距离合并后变为4个类,再对合并后的4个类进行拆分最终得到5个类,则更新后类的数量是5个,更新前类的数量是6个,更新后的数量小于更新前的数量,返回继续执行迭代。
在步骤S500中,获取各个类之间的类间距离。
获取步骤S400迭代完成得到的各个类之间的类间距离。在本公开的一个实施例中,类间距离可以是两个类中对象间的最小距离,例如类A中对象与类B中的对象之间的最小距离。
在步骤S600中,对于类间距离小于第二距离阈值的类进行合并。将类间距离小于第二距离阈值的类各自进行合并。第二距离阈值可以根据对象的数据类型确定,还可以根据试验结果确定。
在步骤S700中,判断合并后类的数量是否小于合并前类的数量;如果是,则返回执行步骤S500;否则,在步骤S800,得到聚类结果。
如果步骤S600合并后类的数量不小于合并前类的数量,即没有可合并的类,得到最终的聚类结果。
本实施例提供的聚类方法,首先采用Rank-Order距离合并类,然后对合并后的类进行拆分,从类中将可能不属于该类的对象划分成单独的类,得到包含多个对象的聚类及包含单个对象的类,该方式提高了聚类结果的精确率,但是召回率有所下降;然后,对得到的多个对象的聚类和包含单个对象的类进行层次聚类,将划分出来的单独的类中可能属于同一个类的对象聚集到对应的类中,从而提高了召回率。
在本公开的一个实施例中,如图6所示,是根据一示例性实施例示出的一种获取类间距离的方法流程图。该方法应用到终端中,假设所述类间距离是第一类与第二类之间的距离,则该方法可以包括以下步骤:
在步骤S510中,获取所述第一类的全部对象与所述第二类的全部对象之间的距离。
该步骤计算类A中的任一对象Ai与类B中的任一对象Bi之间的距离。
在步骤S520中,获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定。
对象间的相似性越大,对应的权重系数越大;反之,对象间的相似性越小,对应的权重系数越小。例如,可以根据对象间距离对应的两个对象是否是同一对象的概率确定所述权重系数。或者,利用加权核函数w=f(d)获得权重系数,其中,w是权重系数,d是对象间距离,例如,
Figure BDA0000482412320000141
或者,还可以利用预设阈值得到权重系数,此处不一一列举。
在本公开一示例性实施例中,可以利用对象间距离对应的两个对象是否是同一对象的概率得到,可以通过步骤11)~12)得到:
步骤11),根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系。
例如,在人脸识别中,根据高维特征计算出的两个人脸图像的余弦相似度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%。
根据上述的统计结果,可以采用以下的公式(7)描述权重系数与余弦相似度之间的关系:
w ( d ) = 1 , if cos &theta; &GreaterEqual; 0.45 0.7 , if 0.35 &le; cos &theta; < 0.45 0.4 , if 0.25 &le; cos &theta; < 0.35 0.1 , if 0.15 &le; cos &theta; < 0.25 0.001 , if cos &theta; < 0.15
公式(7)是余弦相似度与两个对象是否是同一个人的概率之间的对应关系。其它类型的距离,根据距离对应的概率之间的关系推导,此处不再赘述。
步骤12),根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数与所述概率正相关。
获得对象间距离,然后判断所述对象间距离在公式(7)中的哪个区间内,最终根据公式(7)确定所述对象间距离及权重系数之间的映射关系。
在步骤S530中,根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
在本公开一示例性实施例中,如图7所示,步骤S530可以包括下述步骤S531~S535:
在步骤S531中,获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离,以及所述相似性最大的距离对应的第一权重系数。
所述距离可以是余弦相似度、欧式距离等。余弦相似度越小对应的对象间的相似性越大;反之,余弦相似度越大对应的对象间的相似性越小;欧式距离越小,对应的对象间的相似性越大;欧式距离越大,对应的对象间的相似性越小。
例如,利用余弦相似度判断对象间的相似性,则计算类A中的任一对象Ai与类B中全部对象之间的余弦相似度中最大的余弦相似度dmax(Ai,B)。
假设,根据公式(7)确定dmax(Ai,B)对应的第一权重系数为W(dmax(Ai,B))。
在步骤S532中,根据所述相似性最大的距离与对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类之间的最小权重距离。
根据dmax(Ai,B)和W(dmax(Ai,B))按照公式(8)计算得到类A中的对象Ai与类B的全部对象之间的最大余弦相似度(最小权重距离)
Figure BDA0000482412320000153
在步骤S533中,获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离。
假设类A中的对象Ai与类B中的对象b之间的相似性最大,根据公式(9)获取对象Ai与类B中的除对象b之外的其余各对象之间的平均权重距离
Figure BDA0000482412320000167
在步骤S534中,根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离。
由对象Ai与类B之间的最大相似度(最小权重距离)
Figure BDA0000482412320000162
和平均权重距离
Figure BDA0000482412320000163
根据公式(10)得到对象Ai到类B的权重距离
Figure BDA0000482412320000164
Figure BDA0000482412320000165
在步骤S535中,根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述相似性最大的距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
根据公式(11)得到类A与类B之间的第一单向权重距离S(A,B):
公式(11)中,W(dmax(Ai,B))表示类A中的对象Ai与类B中的全部对象之间最大余弦相似度(最小距离)dmax(Ai,B)对应的权重系数。
在步骤S540中,获取所述第二类到所述第一类的第二单向权重距离。
计算得到类B到类A的第二单向权重距离S(B,A),与计算类A到类B的第一单向权重距离的过程相似,此处不再赘述。
在步骤S550中,根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
根据公式(12)计算得到类A与类B之间的权重距离H(A,B):
H ( A , B ) = S ( A , B ) + S ( B , A ) 2 - - - ( 12 )
根据类的对象间的距离和对应的权重系数,得到类间距离,所述类间距离与对象间的相似性相关联,从而在根据类间距离判断是否能合并所述类时,考虑了类间对象的相似性,合并类内的对象相似性较大的类,提高了聚类结果的准确率。
图8是根据一示例性实施例示出的一种增量聚类方法的流程示意图,所述增量聚类方法应用于针对已有的聚类结果增加新的对象的情景,其中已有聚类结果可以包含m个类和n个单独对象,其中,m为正整数,n为不小于0的整数。所述方法应用于终端中,可以包括以下步骤:
在步骤S910中,针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并。
在步骤S920中,根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度。
在步骤S930中,针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量。
在步骤S940中,判断更新后类的数量是否小于更新前类的数量;如果是,返回执行步骤S910;如果否,执行步骤S950。
当更新后类的数量是否小于更新前类的数量时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤;
当更新后类的数量与更新前类的数量相同时,在步骤S950中,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数。
在步骤S960中,针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离。聚类的数量为m+m1,单独对象的数量为n1+n,将每个单独对象看作一个类。
在步骤S970中,将类间距离小于第二距离阈值的类进行合并。
在步骤S980中,判断合并后类的数量是否小于合并前类的数量;如果是,返回执行步骤S960;如果否,进入步骤S990;
在步骤S990中,得到最终的聚类结果。
当合并后类的数量小于合并前类的数量时,返回执行获取合并后得到的各个类之间的类间距离,直到合并后类的数量与合并前类的数量相等,即没有能够合并的类。
本实施例中的步骤可以参见上述的聚类方法实施例的相应步骤,此处不再赘述。
本实施例提供的增量聚类方法,对新增的对象,首先基于Rank-Order距离进行合并,再对合并后的类进行拆分完成一次迭代,直到迭代前后类的数量不变时,得到第一聚类结果,再将得到的第一聚类结果和已有的聚类结果进行层次聚类,使属于同一类的对象聚集到一起,最终实现将新增的对象与已有的聚类结果重新聚类,得到最终的聚类结果。此种方式对对象进行基于Rank-Order距离的合并,再拆分能够将类中的离群对象划分出来,提高了聚类结果的精确率;再对合并拆分得到的聚类及已有的聚类结果进行层次聚类能够提高了聚类结果的召回率。
图9是根据一示例性实施例提供的另一种增量聚类方法的流程图,已有聚类包含已有聚类结果可以包含m个类和n个单独对象,其中,m为正整数,n为不小于0的整数。该方法应用于终端中,可以包括以下步骤:
由于基于Rank-Order距离的类合并方式耗时较长,因此,在图8所示的示例性实施例的基础上,增加判断新增的对象的数量的步骤,当新增的对象的数量不大于阈值时,可以直接将新增的对象与已有类中的单独对象合并,直接对已有结果中的聚类及单独对象进行层次聚类,节省了基于Rank-Order距离进行聚类所消耗的时间,提高了聚类速度。此外,基于Rank-Order距离的合并类方式在对象较多的情景下聚类结果的准确率较高,因此,当新增的对象数量超过阈值时,对新增的对象单独进行基于Rank-Order距离的合并方式,再与已有的聚类结果一起进行层次聚类,从而提高了最终的聚类结果的准确率。
在图8所示的示例性实施例的基础上还可以包括步骤S900,判断新增的对象的数量是否大于阈值;所述阈值可以根据数据类型确定,还可以根据试验结果确定。
如果是,则执行步骤S910。如果新增的对象的数量不大于所述阈值,将所述新增的对象作为第一聚类结果,执行步骤S960。每个新增的对象作为一个类。
已有聚类结果包含m个类和n个单独对象,其中,m为正整数,n为不小于0的整数。假设新增的对象的数量为K,则在步骤S960中,聚类的数量为m,单独对象的数量为n+K。将每个单独对象作为一个类,计算类间距离。
本实施例中的其它步骤与图8中标号相同的步骤相同,此处不再一一叙述,参见图8中的相应步骤的相关描述即可。
本实施例提供的增量聚类方法,首先判断新增的对象的数量,如果新增的对象的数量大于阈值时,先对新增的对象进行基于Rank-Order距离的合并,再对合并后的类进行拆分,得到第一聚类结果,保证了聚类结果的高精确率;然后,再对第一类聚类结果和已有的聚类结果进行层次聚类,得到最终的聚类结果;如果新增的对象的数量不大于阈值时,直接对新增的对象和已有的聚类结果进行层次聚类,得到聚类结果,保证了聚类结果的高召回率。同时,当新增的对象的数量不超过阈值时,直接对新增的对象和已有的聚类结果进行层次聚类,保证了聚类速度。
相应于上述的聚类方法实施例,本公开还提供了聚类装置的示例性实施例。
图10是根据一示例性实施例示出的一种聚类装置示意图。参照图10,该装置包括迭代合并单元100、第一获取单元200、划分单元300、第一判断单元400、第二获取单元500、合并单元600和第二判断单元700。
迭代合并单元100被配置为对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并。
第一获取单元200被配置为根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度。
划分单元300被配置为针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量。
所述划分单元300可以包括第一判断子单元、连通标记子单元、确定子单元和拆分子单元。
第一判断子单元被配置为判断类内对象间的距离是否小于所述类内聚合度;
连通标记子单元被配置为当所述类内对象间的距离小于所述类内聚合度时,将所述距离对应的对象进行连通标记;
确定子单元被配置为根据所述连通标记确定所述类内的连通分量;
拆分子单元被配置为根据所述连通分量将所述类拆分成新类,并更新类的数量。
第一判断单元400被配置为判断更新后类的数量是否比更新前类的数量少,当更新后类的数量比更新前类的数量少时,所述迭代合并单元执行对于类间的Rank-Order距离小于第一距离阈值进行类的迭代合并,直到更新后类的数量与更新前类的数量相同。
第二获取单元500被配置为获取各个类之间的类间距离。
合并单元600被配置为对于类间距离小于第二距离阈值的类进行合并。
第二判断单元700被配置为判断合并后类的数量是否小于合并前类的数量,当合并后类的数量小于合并前类的数量时,所述第二获取单元执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相同。
本实施例提供的聚类装置,首先由迭代合并单元基于Rank-Order距离合并类,然后由划分单元对合并后的类进行拆分,从类中将可能不属于该类的对象划分成单独的类,得到包含多个对象的聚类及包含单个对象的类,该方式提高了聚类结果的精确率,但是召回率有所下降;然后,对得到的多个对象的聚类和包含单个对象的类进行层次聚类,将划分出来的单独的类中可能属于同一个类的对象聚集到对应的类中,从而提高了召回率。
在本公开一个示例性实施例中,所述第二获取单元可以包括第一获取子单元、第二获取子单元、第三获取子单元、第四获取子单元和第五获取子单元。
所述第一获取子单元被配置为获取所述第一类的全部对象与所述第二类的全部对象之间相似性最大的距离。
所述第二获取子单元被配置为获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定。
所述第二获取子单元可以包括统计子单元和权重确定子单元,其中,统计子单元,用于根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系;权重确定子单元,用于根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数根据所述概率确定。
所述第三获取子单元被配置为根据所述距离,以及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
所述第四获取子单元被配置为获取所述第二类到所述第一类的第二单向权重距离。
所述第五获取子单元被配置为根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
在本公开一示例性实施例中,所述第三获取子单元可以包括:最小距离获取子单元、权重系数获取子单元、最小权重距离获取子单元、平均权重距离获取子单元、权重距离获取子单元和单向权重距离获取子单元。
最小距离获取子单元,用于获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离。
权重系数获取子单元,用于获取所述相似性最大的距离对应的第一权重系数。
最小权重距离获取子单元,用于根据所述距离及对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类的全部对象之间的最小权重距离。
平均权重距离获取子单元,用于获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离。
权重距离获取子单元,用于根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离。
单向权重距离获取子单元,用于根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述相似性最大的距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
相应于上述的增量聚类方法实施例,本公开还提供了增量聚类装置的示例性实施例。
图11是一示例性实施例示出的增量聚类装置的框图,如图11所示,所述装置可以包括:迭代合并单元10、第一获取单元20、划分单元30、第一判断单元40、第二获取单元50、合并单元60和第二判断单元70;
迭代合并单元10被配置为针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;
第一获取单元20被配置为根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
划分单元30被配置为针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
第一判断单元40被配置为判断更新后类的数量是否比更新前类的数量少,当更新后类的数量比更新前类的数量少时,迭代合并单元10执行对类间的Rank-Order距离小于第一距离阈值进行类的迭代合并,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数。
第二获取单元50被配置为针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离。
合并单元60被配置为将类间距离小于第二距离阈值的类进行合并。
第二判断单元70被配置为判断合并后类的数量是否小于合并前类的数量,当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
可选地,图11所示的增量聚类装置还可以包括第三判断单元(图中未示出)。
所述第三判断单元被配置为判断新增的对象的数量是否大于阈值,当新增的对象的数量大于阈值时,所述迭代合并单元10执行针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;当新增的对象的数量不大于阈值时,将所述新增的对象直接作为第一聚类结果,第二获取单元50执行针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离。
图12是根据一示例性实施例示出的一种用于聚类的终端设备800的框图。例如,终端设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图12,终端设备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、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种聚类方法,所述方法包括:
对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同;获取各个类之间的类间距离;对于类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
可选地,所述类间距离为第一类与第二类之间的距离;所述获取各个类之间的类间距离,采用如下方式:
获取所述第一类的全部对象与所述第二类的全部对象之间的距离;获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定;根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离;获取所述第二类到所述第一类的第二单向权重距离;根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
可选地,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系;根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数根据所述概率确定。
可选地,根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离,采用如下方式:
获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离,以及所述相似性最大的距离对应的第一权重系数;根据所述相似性最大的距离与对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类的全部对象之间的最小权重距离;获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离;根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离;根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述权重距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
可选地,所述根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度,采用如下方式:
获取类内各个对象间的距离;根据所述类内对象距离计算所述类内的各个对象间距离的距离平均值;对所述距离平均值进行归一化,得到所述类的类内聚合度。
可选地,所述针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量,采用如下方式:
当所述类内对象间的距离小于所述类内聚合度时,将所述距离对应的对象进行连通标记;根据所述连通标记确定所述类内的连通分量;根据所述连通分量将所述类拆分成新类,并更新类的数量。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行一种增量聚类方法,所述方法包括:
针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;将类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
可选地,所述方法还包括:
判断新增的对象的数量是否大于阈值;当新增的对象的数量不大于阈值时,执行针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并的步骤;当新增的对象的数量大于阈值时,将所述新增的对象直接作为第一聚类结果,执行针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离的步骤。
图13是本发明实施例中服务器的结构示意图。例如,该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如存储器1932或存储介质1930,上述指令可由终端设备的处理器1922执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行一种聚类方法,所述方法包括:
对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同;获取各个类之间的类间距离;对于类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
可选地,所述类间距离为第一类与第二类之间的距离;所述获取各个类之间的类间距离,采用如下方式:
获取所述第一类的全部对象与所述第二类的全部对象之间的距离;获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定;根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离;获取所述第二类到所述第一类的第二单向权重距离;根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
可选地,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系;根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数根据所述概率确定。
可选地,根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离,采用如下方式:
获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离,以及所述相似性最大的距离对应的第一权重系数;根据所述相似性最大的距离与对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类的全部对象之间的最小权重距离;获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离;根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离;根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述权重距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
可选地,所述根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度,采用如下方式:
获取类内各个对象间的距离;根据所述类内对象距离计算所述类内的各个对象间距离的距离平均值;对所述距离平均值进行归一化,得到所述类的类内聚合度。
可选地,所述针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量,采用如下方式:
当所述类内对象间的距离小于所述类内聚合度时,将所述距离对应的对象进行连通标记;根据所述连通标记确定所述类内的连通分量;根据所述连通分量将所述类拆分成新类,并更新类的数量。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行一种增量聚类方法,所述方法包括:
针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;将类间距离小于第二距离阈值的类进行合并;当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
可选地,所述方法还包括:
判断新增的对象的数量是否大于阈值;当新增的对象的数量不大于阈值时,执行针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并的步骤;当新增的对象的数量大于阈值时,将所述新增的对象直接作为第一聚类结果,执行针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (17)

1.一种聚类方法,其特征在于,包括:
对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;
根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同;
获取各个类之间的类间距离;
对于类间距离小于第二距离阈值的类进行合并;
当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
2.根据权利要求1所述的方法,其特征在于,所述类间距离为第一类与第二类之间的距离;所述获取各个类之间的类间距离,采用如下方式:
获取所述第一类的全部对象与所述第二类的全部对象之间的距离;
获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定;
根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离;
获取所述第二类到所述第一类的第二单向权重距离;
根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
3.根据权利要求2所述的方法,其特征在于,获取所述距离对应的权重系数,采用如下方式:
根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系;
根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数根据所述概率确定。
4.根据权利要求2或3所述的方法,其特征在于,根据所述距离及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离,采用如下方式:
获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离,以及所述相似性最大的距离对应的第一权重系数;
根据所述相似性最大的距离与对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类的全部对象之间的最小权重距离;
获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离;
根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离;
根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述权重距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
5.根据权利要求1所述的方法,其特征在于,所述根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度,采用如下方式:
获取类内各个对象间的距离;
根据所述类内对象距离计算所述类内的各个对象间距离的距离平均值;
对所述距离平均值进行归一化,得到所述类的类内聚合度。
6.根据权利要求1所述的方法,其特征在于,所述针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量,采用如下方式:
当所述类内对象间的距离小于所述类内聚合度时,将所述距离对应的对象进行连通标记;
根据所述连通标记确定所述类内的连通分量;
根据所述连通分量将所述类拆分成新类,并更新类的数量。
7.一种增量聚类方法,其特征在于,所述方法用于在包含m个类和n个单独对象的已有聚类结果基础上,对新增的对象进行聚类,其中,m为正整数,n为不小于0的整数;所述方法包括:
针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;
根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;
针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;
将类间距离小于第二距离阈值的类进行合并;
当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相同。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
判断新增的对象的数量是否大于阈值;
当新增的对象的数量不大于阈值时,执行针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并的步骤;
当新增的对象的数量大于阈值时,将所述新增的对象直接作为第一聚类结果,执行针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离的步骤。
9.一种聚类装置,其特征在于,包括:
迭代合并单元,用于对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;
第一获取单元,用于根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
划分单元,用于针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
第一判断单元,用于判断更新后类的数量是否比更新前类的数量少,当更新后类的数量比更新前类的数量少时,所述迭代合并单元执行对于类间的Rank-Order距离小于第一距离阈值进行类的迭代合并,直到更新后类的数量与更新前类的数量相同;
第二获取单元,用于获取各个类之间的类间距离;
合并单元,用于对于类间距离小于第二距离阈值的类进行合并;
第二判断单元,用于判断合并后类的数量是否小于合并前类的数量,当合并后类的数量小于合并前类的数量时,所述第二获取单元执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相同。
10.根据权利要求9所述的装置,其特征在于,所述类间距离为第一类与第二类之间的距离;所述第二获取单元包括:
第一获取子单元,用于获取所述第一类的全部对象与所述第二类的全部对象之间相似性最大的距离;
第二获取子单元,用于获取所述距离对应的权重系数,所述权重系数根据所述对象间的相似性确定;
第三获取子单元,用于根据所述距离,以及所述距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离;
第四获取子单元,用于获取所述第二类到所述第一类的第二单向权重距离;
第五获取子单元,用于根据所述第一单向权重距离和所述第二单向权重距离,得到所述第一类与所述第二类的类间距离。
11.根据权利要求10所述的装置,其特征在于,所述第二获取子单元包括:
统计子单元,用于根据样本对象统计得到对象间距离与两个对象是否是同一对象的概率之间的对应关系;
权重确定子单元,用于根据所述对应关系,确定所述对象间距离与权重系数之间的映射关系,所述权重系数根据所述概率确定。
12.根据权利要求10或11所述的装置,其特征在于,所述第三获取子单元包括:
最小距离获取子单元,用于获取所述第一类内任一对象与所述第二类的全部对象之间相似性最大的距离;
权重系数获取子单元,用于获取所述相似性最大的距离对应的第一权重系数;
最小权重距离获取子单元,用于根据所述距离及对应的第一权重系数的乘积,得到所述第一类中的对象与所述第二类的全部对象之间的最小权重距离;
平均权重距离获取子单元,用于获取所述第一类中的对象与所述第二类中除相似性最大的距离对应的对象之外的其它对象之间距离的平均权重距离;
权重距离获取子单元,用于根据所述最小权重距离和所述平均权重距离得到所述第一类中的所述对象与所述第二类之间的权重距离;
单向权重距离获取子单元,用于根据所述第一类中的全部对象与所述第二类之间的权重距离,以及所述权重距离对应的权重系数,获得所述第一类到所述第二类的第一单向权重距离。
13.根据权利要求9所述的方法,其特征在于,所述划分单元包括:
第一判断子单元,用于判断所述类内对象间的距离是否小于所述类内聚合度;
连通标记子单元,用于当所述类内对象间的距离小于所述类内聚合度时,将所述距离对应的对象进行连通标记;
确定子单元,用于根据所述连通标记确定所述类内的连通分量;
拆分子单元,用于根据所述连通分量将所述类拆分成新类,并更新类的数量。
14.一种增量聚类装置,其特征在于,所述增量聚类装置用于在包含m个类和n个单独对象的已有聚类结果基础上,对新增的对象进行聚类,其中,m为正整数,n为不小于0的整数;所述装置包括:
迭代合并单元,用于针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;
第一获取单元,用于根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
划分单元,用于针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
第一判断单元,用于判断更新后类的数量是否比更新前类的数量少,当更新后类的数量比更新前类的数量少时,迭代合并单元执行对类间的Rank-Order距离小于第一距离阈值进行类的迭代合并,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;
第二获取单元,用于针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;
合并单元,用于将类间距离小于第二距离阈值的类进行合并;
第二判断单元,用于判断合并后类的数量是否小于合并前类的数量,当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第三判断单元,用于判断新增的对象的数量是否大于阈值,当新增的对象的数量大于阈值时,所述迭代合并单元执行针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;当新增的对象的数量不大于阈值时,将所述新增的对象直接作为第一聚类结果,第二获取单元执行针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离。
16.一种终端设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
对于类间的Rank-Order距离小于第一距离阈值的类进行迭代合并;
根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
针对迭代合并后得到每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同;
获取各个类之间的类间距离;
对于类间距离小于第二距离阈值的类进行合并;
当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相等。
17.一种终端设备,其特征在于,用于在包含m个类和n个单独对象的已有聚类结果基础上,对新增的对象进行聚类,其中,m为正整数,n为不小于0的整数,所述终端设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
针对新增的对象,将类间Rank-Order距离小于第一距离阈值的类进行迭代合并;
根据类内各个对象间的距离获得迭代合并后的类对应的类内聚合度;
针对迭代合并后得到的每个类,将类内对象间的距离小于所述类内聚合度的对象划分成一个新的类,并更新类的数量;
当更新后类的数量比更新前类的数量少时,返回执行对与类间的Rank-Order距离小于第一距离阈值进行类的迭代合并的步骤,直到更新后类的数量与更新前类的数量相同,得到第一聚类结果,所述第一聚类结果包含m1个类和n1个单独对象,其中,m1为正整数,n1为不小于0的整数;
针对已有的聚类结果及所述第一聚类结果,获取各个类之间的类间距离;
将类间距离小于第二距离阈值的类进行合并;
当合并后类的数量小于合并前类的数量时,返回执行获取各个类的类间距离,直到合并后类的数量与合并前类的数量相同。
CN201410117723.XA 2014-03-26 2014-03-26 聚类方法、增量聚类方法及相关装置 Active CN103902689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410117723.XA CN103902689B (zh) 2014-03-26 2014-03-26 聚类方法、增量聚类方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410117723.XA CN103902689B (zh) 2014-03-26 2014-03-26 聚类方法、增量聚类方法及相关装置

Publications (2)

Publication Number Publication Date
CN103902689A true CN103902689A (zh) 2014-07-02
CN103902689B CN103902689B (zh) 2016-07-20

Family

ID=50994011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410117723.XA Active CN103902689B (zh) 2014-03-26 2014-03-26 聚类方法、增量聚类方法及相关装置

Country Status (1)

Country Link
CN (1) CN103902689B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063518A (zh) * 2014-07-14 2014-09-24 南京弘数信息科技有限公司 一种针对大数据的分解组合聚类方法
CN104268149A (zh) * 2014-08-28 2015-01-07 小米科技有限责任公司 聚类方法及装置
CN104537380A (zh) * 2014-12-30 2015-04-22 小米科技有限责任公司 聚类方法和装置
CN104573642A (zh) * 2014-12-26 2015-04-29 小米科技有限责任公司 人脸识别方法及装置
CN104598544A (zh) * 2014-12-31 2015-05-06 小米科技有限责任公司 聚类分析方法、装置及设备
CN104899605A (zh) * 2015-06-17 2015-09-09 大连理工大学 一种基于自动编码机实现数据增量聚类的方法
CN105426878A (zh) * 2015-12-22 2016-03-23 小米科技有限责任公司 人脸聚类方法及装置
CN107609466A (zh) * 2017-07-26 2018-01-19 百度在线网络技术(北京)有限公司 人脸聚类方法、装置、设备及存储介质
CN108229419A (zh) * 2018-01-22 2018-06-29 百度在线网络技术(北京)有限公司 用于聚类图像的方法和装置
CN108228684A (zh) * 2017-05-26 2018-06-29 北京市商汤科技开发有限公司 聚类模型的训练方法、装置、电子设备和计算机存储介质
CN108537858A (zh) * 2018-03-23 2018-09-14 浙江工业大学 一种基于绘画时序的笔划线条动态合并方法
CN109145129A (zh) * 2018-09-07 2019-01-04 深圳码隆科技有限公司 基于层次三元组损失函数的深度度量学习方法及其装置
CN109800744A (zh) * 2019-03-18 2019-05-24 深圳市商汤科技有限公司 图像聚类方法及装置、电子设备和存储介质
CN109815788A (zh) * 2018-12-11 2019-05-28 平安科技(深圳)有限公司 一种图片聚类方法、装置、存储介质及终端设备
CN110232149A (zh) * 2019-05-09 2019-09-13 北京邮电大学 一种热点事件检测方法和系统
CN110705475A (zh) * 2019-09-30 2020-01-17 北京地平线机器人技术研发有限公司 用于目标对象识别的方法、装置、介质以及设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LEVENT ERTOZ, ET AL: "Finding clusters of different sizes,shapes,and densities in noisy,high dimensional data", 《PROCEEDINGS OF SECOND SIAM INTERNATIONAL CONFERENCE ON DATA MINING》 *
TIAN YUANDONG: "A Face Annotation Framework with Partial Clustering and Interactive Labeling", 《COMPUTER VISION AND PATTERN RECOGNITION, 2007. CVPR"07.IEEE CONFERENCE ON》 *
ZHAO MING, ET AL: "Automatic Person Annotation of Family Photo Album", 《5TH INTEENATIONAL CONFERENCE,CIVR 2006》 *
ZHU CHUNHUI ET AL: "A rank-order distance based clustering algorithm for face tagging", 《CVPR"11 PROCEEDINGS OF THE 2011 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063518A (zh) * 2014-07-14 2014-09-24 南京弘数信息科技有限公司 一种针对大数据的分解组合聚类方法
CN104063518B (zh) * 2014-07-14 2017-06-09 南京弘数信息科技有限公司 一种针对大数据的分解组合聚类方法
CN104268149A (zh) * 2014-08-28 2015-01-07 小米科技有限责任公司 聚类方法及装置
CN104573642B (zh) * 2014-12-26 2018-09-04 小米科技有限责任公司 人脸识别方法及装置
CN104573642A (zh) * 2014-12-26 2015-04-29 小米科技有限责任公司 人脸识别方法及装置
CN104537380A (zh) * 2014-12-30 2015-04-22 小米科技有限责任公司 聚类方法和装置
CN104598544A (zh) * 2014-12-31 2015-05-06 小米科技有限责任公司 聚类分析方法、装置及设备
CN104899605A (zh) * 2015-06-17 2015-09-09 大连理工大学 一种基于自动编码机实现数据增量聚类的方法
CN105426878A (zh) * 2015-12-22 2016-03-23 小米科技有限责任公司 人脸聚类方法及装置
CN105426878B (zh) * 2015-12-22 2019-05-21 小米科技有限责任公司 人脸聚类方法及装置
CN108228684A (zh) * 2017-05-26 2018-06-29 北京市商汤科技开发有限公司 聚类模型的训练方法、装置、电子设备和计算机存储介质
CN108228684B (zh) * 2017-05-26 2020-11-27 北京市商汤科技开发有限公司 聚类模型的训练方法、装置、电子设备和计算机存储介质
CN107609466A (zh) * 2017-07-26 2018-01-19 百度在线网络技术(北京)有限公司 人脸聚类方法、装置、设备及存储介质
CN108229419A (zh) * 2018-01-22 2018-06-29 百度在线网络技术(北京)有限公司 用于聚类图像的方法和装置
CN108229419B (zh) * 2018-01-22 2022-03-04 百度在线网络技术(北京)有限公司 用于聚类图像的方法和装置
CN108537858A (zh) * 2018-03-23 2018-09-14 浙江工业大学 一种基于绘画时序的笔划线条动态合并方法
WO2020047921A1 (zh) * 2018-09-07 2020-03-12 深圳码隆科技有限公司 基于层次三元组损失函数的深度度量学习方法及其装置
CN109145129B (zh) * 2018-09-07 2020-03-31 深圳码隆科技有限公司 基于层次三元组损失函数的深度度量学习方法及其装置
CN109145129A (zh) * 2018-09-07 2019-01-04 深圳码隆科技有限公司 基于层次三元组损失函数的深度度量学习方法及其装置
CN109815788A (zh) * 2018-12-11 2019-05-28 平安科技(深圳)有限公司 一种图片聚类方法、装置、存储介质及终端设备
CN109815788B (zh) * 2018-12-11 2024-05-31 平安科技(深圳)有限公司 一种图片聚类方法、装置、存储介质及终端设备
CN109800744A (zh) * 2019-03-18 2019-05-24 深圳市商汤科技有限公司 图像聚类方法及装置、电子设备和存储介质
CN109800744B (zh) * 2019-03-18 2021-08-20 深圳市商汤科技有限公司 图像聚类方法及装置、电子设备和存储介质
US11232288B2 (en) 2019-03-18 2022-01-25 Shenzhen Sensetime Technology Co., Ltd. Image clustering method and apparatus, electronic device, and storage medium
CN110232149A (zh) * 2019-05-09 2019-09-13 北京邮电大学 一种热点事件检测方法和系统
CN110232149B (zh) * 2019-05-09 2022-03-01 北京邮电大学 一种热点事件检测方法和系统
CN110705475A (zh) * 2019-09-30 2020-01-17 北京地平线机器人技术研发有限公司 用于目标对象识别的方法、装置、介质以及设备

Also Published As

Publication number Publication date
CN103902689B (zh) 2016-07-20

Similar Documents

Publication Publication Date Title
CN103902689A (zh) 聚类方法、增量聚类方法及相关装置
CN103914518A (zh) 聚类方法及相关装置
CN109558512B (zh) 一种基于音频的个性化推荐方法、装置和移动终端
CN105426515B (zh) 视频归类方法及装置
CN105512685B (zh) 物体识别方法和装置
CN103996189A (zh) 图像分割方法及装置
CN103927545B (zh) 聚类方法及相关装置
CN103944804A (zh) 推荐联系人的方法及装置
CN109359056A (zh) 一种应用程序测试方法及装置
CN105824955B (zh) 短信聚类方法及装置
CN104111778A (zh) 图片显示方法和装置
CN103902654A (zh) 聚类方法、装置及终端设备
CN103902655A (zh) 聚类方法、装置及终端设备
CN105404863A (zh) 人物特征识别方法及系统
CN105069089A (zh) 图片检测方法及装置
CN104063865A (zh) 分类模型创建方法、图像分割方法及相关装置
CN108108671A (zh) 产品说明信息获取方法及装置
CN105426878A (zh) 人脸聚类方法及装置
CN103886284A (zh) 人物属性信息识别方法、装置及电子设备
CN104268149A (zh) 聚类方法及装置
CN104123720A (zh) 图像重定位方法、装置及终端
CN104573642A (zh) 人脸识别方法及装置
CN105654094A (zh) 特征提取方法及装置
CN104850592B (zh) 生成模型文件的方法和装置
US10037345B2 (en) Clustering method and device

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