聚类方法技术

技术编号:39898040 阅读:12 留言:0更新日期:2023-12-30 13:11
本申请涉及一种聚类方法

【技术实现步骤摘要】
聚类方法、装置、存储介质及程序产品


[0001]本申请涉及数据处理领域,尤其涉及一种聚类方法

装置

存储介质及程序产品


技术介绍

[0002]在一些大规模数据的处理场景中,出于数据处理需求可能需要先对大规模数据进行分类,这就涉及到了特征聚类

特征聚类是指将海量特征数据聚成特定的聚类簇,使得位于同一聚类簇的向量之间相似程度较大

一个朴素且常用的聚类思想是将距离较近的两个向量归为同一聚类簇,将距离较远的两个向量归为两个聚类簇,并且将距离所有点都远的向量设置成孤点
。k
均值聚类算法
(k

means clustering algorithm

K

means)
是最为常用的聚类算法,该算法基于欧式距离对两个向量的相似程度进行度量,并认为二者距离越近则相似度越大
。K

means
算法的聚类过程可以分为计算距离与更新聚类中心

然而,当待聚类的数据量达到亿万级别时,每轮距离的计算

聚类中心的更新所消耗的计算资源和内存开销都是庞大的

这不仅限制了聚类算法的应用场景,也使得聚类算法的性能大打折扣


技术实现思路

[0003]有鉴于此,提出了一种聚类方法

装置

存储介质及程序产品,根据本申请实施例的聚类方法,通过以稀疏矩阵代替原本用于存储向量间距离和聚类结果的高阶矩阵,可以降低聚类方法的计算资源消耗和内存开销,从而能提升聚类方法的性能

[0004]第一方面,本申请的实施例提供了一种聚类方法,所述方法应用于具有检索组件的处理器,所述检索组件用于确定向量间的距离,所述方法包括:获取待聚类的
N
个向量,
N
是大于2的整数;基于所述检索组件,记录第一矩阵和第二矩阵,其中,所述第一矩阵指示每个向量与对应的
K
个向量之间的距离,所述第二矩阵指示与每个向量对应的
K
个向量的标识,
1≤K

N
且为整数;根据所述第一矩阵和所述第二矩阵,对所述
N
个向量进行多轮聚类,得到多个聚类结果,其中每一聚类结果指示每个向量与对应的
K
个向量是否归属于同一聚类簇;对所述多个聚类结果进行处理,得到最终的聚类结果;其中,每个向量对应的
K
个向量是所述
N
个向量中与该向量距离最小的
K
个向量

[0005]根据本申请实施例的聚类方法,通过获取待聚类的
N
个向量,并基于检索组件记录第一矩阵和第二矩阵,检索组件用于确定向量间的距离,充分利用了处理器的底层计算能力,提高了处理效率

第一矩阵指示每个向量与对应的
K
个向量之间的距离,第二矩阵指示与每个向量对应的
K
个向量的标识,且每个向量对应的
K
个向量是所述
N
个向量中与该向量距离最小的
K
个向量,使得第一矩阵和第二矩阵可以代替现有技术中的高阶的距离矩阵,且与距离矩阵相比得以稀疏化;根据第一矩阵和第二矩阵,可对
N
个向量进行多轮聚类,得到指示每个向量与对应的
K
个向量是否归属于同一聚类簇的多个聚类结果,因此聚类结果相比现有技术也是稀疏化的;对多个聚类结果进行处理,得到最终的聚类结果,使得可以消除单轮聚类中随机性的影响

通过以稀疏矩阵代替原本用于存储向量间距离的高阶矩阵和聚类结果,可以降低聚类方法的计算资源消耗和内存开销,从而能提升聚类方法的性能

[0006]根据第一方面,在所述聚类方法的第一种可能的实现方式中,所述对所述多个聚类结果进行处理,得到最终的聚类结果,包括:根据所述多个聚类结果,确定所述
N
个向量中的每两个向量对应的第一权重,所述第一权重表示两个向量被聚类为同一聚类簇的次数;根据所述每两个向量对应的第一权重和预设的第二权重的大小关系,对最近一次得到的聚类结果进行调整,得到最终的聚类结果

[0007]通过这种方式,使得第二权重可成为聚类结果的调整指标,即通过调整第二权重的数值更大或更小,即可使得最终的聚类结果中被聚类为同一聚类簇中的向量之间距离更近或更远,实现聚类的紧密程度的调节,从而可以降低预先设置的聚类簇数量对聚类准确度的影响

且由于对于聚类簇的数量的预设值的准确度不需过高要求,因此可以大大节省调节该聚类簇的数量的预设值所需的时间成本,提高聚类的效率

[0008]根据第一方面或第一方面的第一种可能的实现方式,在所述聚类方法的第二种可能的实现方式中,所述根据所述第一矩阵和所述第二矩阵,对所述
N
个向量进行多轮聚类,得到多个聚类结果,包括:在任意一轮聚类开始时,确定初始化的聚类中心;根据所述第一矩阵和所述第二矩阵,基于当前聚类中心对所述
N
个向量进行一次聚类,得到当前聚类结果;在满足当前一轮聚类的预设结束条件的情况下,结束当前一轮聚类,以当前聚类结果作为本轮聚类的聚类结果,开始下一轮聚类;在未满足预设结束条件的情况下,根据当前聚类结果,重新确定当前聚类中心,执行根据所述第一矩阵和所述第二矩阵,基于当前聚类中心对所述
N
个向量进行一次聚类及之后的步骤

[0009]通过这种方式,使得使用稀疏化的第一矩阵和第二矩阵也能够完成
N
个向量的多轮聚类

[0010]根据第一方面的第二种可能的实现方式,在所述聚类方法的第三种可能的实现方式中,所述在任意一轮聚类开始时,确定初始化的聚类中心,包括:根据所述第二矩阵确定初始化的聚类中心,所述初始化的聚类中心包括所述
N
个向量中的至少两个向量,所述至少两个向量中的任一向量不属于与其他向量对应的
K
个向量

[0011]通过这种方式,可以有效提升初始化的聚类中心选择质量,从而能节约迭代次数,对聚类精度亦有促进

[0012]根据第一方面的第三种可能的实现方式,在所述聚类方法的第四种可能的实现方式中,在已经确定过初始化的聚类中心时,重新确定的初始化的聚类中心与之前确定的初始化的聚类中心不同

[0013]通过这种方式,可以进一步提升聚类中心初始化的选择质量

[0014]根据第一方面的第二种至第四种可能的实现方式中的任意一种可能的实现方式,在所述聚类方法的第五种可能的实现方式中,所述当前聚类中心包括多个聚类中心,所述根据所述第一矩阵和所述第二矩阵,基于当前聚类中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种聚类方法,其特征在于,所述方法应用于具有检索组件的处理器,所述检索组件用于确定向量间的距离,所述方法包括:获取待聚类的
N
个向量,
N
是大于2的整数;基于所述检索组件,记录第一矩阵和第二矩阵,其中,所述第一矩阵指示每个向量与对应的
K
个向量之间的距离,所述第二矩阵指示与每个向量对应的
K
个向量的标识,
1≤K

N
且为整数;根据所述第一矩阵和所述第二矩阵,对所述
N
个向量进行多轮聚类,得到多个聚类结果,其中每一聚类结果指示每个向量与对应的
K
个向量是否归属于同一聚类簇;对所述多个聚类结果进行处理,得到最终的聚类结果;其中,每个向量对应的
K
个向量是所述
N
个向量中与该向量距离最小的
K
个向量
。2.
根据权利要求1所述的方法,其特征在于,所述对所述多个聚类结果进行处理,得到最终的聚类结果,包括:根据所述多个聚类结果,确定所述
N
个向量中的每两个向量对应的第一权重,所述第一权重表示两个向量被聚类为同一聚类簇的次数;根据所述每两个向量对应的第一权重和预设的第二权重的大小关系,对最近一次得到的聚类结果进行调整,得到最终的聚类结果
。3.
根据权利要求1或2所述的方法,其特征在于,所述根据所述第一矩阵和所述第二矩阵,对所述
N
个向量进行多轮聚类,得到多个聚类结果,包括:在任意一轮聚类开始时,确定初始化的聚类中心;根据所述第一矩阵和所述第二矩阵,基于当前聚类中心对所述
N
个向量进行一次聚类,得到当前聚类结果;在满足当前一轮聚类的预设结束条件的情况下,结束当前一轮聚类,以当前聚类结果作为本轮聚类的聚类结果,开始下一轮聚类;在未满足预设结束条件的情况下,根据当前聚类结果,重新确定当前聚类中心,执行根据所述第一矩阵和所述第二矩阵,基于当前聚类中心对所述
N
个向量进行一次聚类及之后的步骤
。4.
根据权利要求3所述的方法,其特征在于,所述在任意一轮聚类开始时,确定初始化的聚类中心,包括:根据所述第二矩阵确定初始化的聚类中心,所述初始化的聚类中心包括所述
N
个向量中的至少两个向量,所述至少两个向量中的任一向量不属于与其他向量对应的
K
个向量
。5.
根据权利要求4所述的方法,其特征在于,在已经确定过初始化的聚类中心时,重新确定的初始化的聚类中心与之前确定的初始化的聚类中心不同
。6.
根据权利要求3‑5中任一项所述的方法,其特征在于,所述当前聚类中心包括多个聚类中心,...

【专利技术属性】
技术研发人员:李明举柯铭菘
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1