CN110909817A - 分布式聚类方法及系统、处理器、电子设备及存储介质 - Google Patents
分布式聚类方法及系统、处理器、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110909817A CN110909817A CN201911205761.XA CN201911205761A CN110909817A CN 110909817 A CN110909817 A CN 110909817A CN 201911205761 A CN201911205761 A CN 201911205761A CN 110909817 A CN110909817 A CN 110909817A
- Authority
- CN
- China
- Prior art keywords
- data
- clustering
- processed
- cluster
- centroid
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Abstract
本申请公开了一种分布式聚类方法及系统、处理器、电子设备及存储介质。该方法应用于m个终端;所述m为大于或等于2的正整数;该方法包括:所述m个终端中的第一终端获取第一待处理数据集;所述第一终端将所述第一待处理数据集划分为n个第二待处理数据集;所述n为小于或等于所述m且大于或等于2的正整数;所述m个终端中的n个终端分别对一个所述第二待处理数据集进行聚类处理,得到n个第一聚类结果;所述n个终端中的任意两个终端处理的第二待处理数据集均不同;所述n个终端中的第二终端对所述n个第一聚类结果进行整合处理,得到第二聚类结果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式聚类方法及系统、处理器、电子设备及存储介质。
背景技术
使用终端(如计算机、服务器)对数据进行聚类处理,可得到数据的分布信息与数据之间的结构信息。由于终端的硬件资源(包括内存、显存、处理器的计算能力)有限,而需要进行聚类处理的数据的数量通常较大,导致在通过一个终端对较大数量的数据进行聚类处理时的处理时间长、处理效率低。基于此,越来越多的分布式聚类方法应运而生。
传统方法通过对每一种聚类算法分别设计一种分布式聚类方法实现分布式聚类处理,例如,为均值漂移聚类算法设计一种均值漂移分布式聚类方法,为谱聚类算法设计一种谱聚类分布式聚类方法。但不同的聚类算法的分布式聚类方法无法共用,例如,若用户期望使用谱聚类算法对数据进行聚类处理,则无法使用均值漂移分布式聚类方法完成对数据的分布式聚类处理。显然,传统方法的通用性差。
发明内容
本申请提供一种分布式聚类方法及系统、处理器、电子设备及存储介质。
第一方面,提供了一种分布式聚类方法,所述方法应用于m个终端;所述m为大于或等于2的正整数;
所述方法包括:
所述m个终端中的第一终端获取第一待处理数据集;
所述第一终端将所述第一待处理数据集划分为n个第二待处理数据集;所述n为小于或等于所述m且大于或等于2的正整数;
所述m个终端中的n个终端分别对一个所述第二待处理数据集进行聚类处理,得到n个第一聚类结果;所述n个终端中的任意两个终端处理的第二待处理数据集均不同;
所述m个终端中的第二终端对所述n个第一聚类结果进行整合处理,得到第二聚类结果。
在该方面中,通过将第一待处理数据集划分为n个第二待处理数据集,并通过n个终端完成对n个第二待处理数据集的聚类处理,得到n个第一聚类结果,以提高对第一待处理数据集的聚类处理的效率。对n个第一聚类结果进行整合处理得到第二聚类结果,以得到第一待处理数据集的聚类结果。通过n个终端对n个第二待处理数据集执行的聚类处理可通过任意聚类算法实现,即该方面提供的技术方案可实现将任意聚类算法以分布式处理的方式实现,具有较高的通用性。
结合本申请任一实施方式,所述n个第一聚类结果包含至少n个第一簇;
所述m个终端中的第二终端对所述n个第一聚类结果进行整合处理,得到第二聚类结果,包括:
所述第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果;所述第三聚类结果包括至少一个第二簇;
将属于同一个所述第二簇的质心对应的第一簇合并为第一目标簇,得到所述第二聚类结果。
在该种实施方式中,通过对至少n个第一簇的质心进行聚类处理实现对n个第一聚类结果的整合处理,可减少数据处理量,提高处理速度。
结合本申请任一实施方式,所述第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果,包括:
以所述至少n个第一簇的质心中的第一质心为起始点、第一预设值为半径,构建第一待确认质心邻域;
在所述第一待确认质心邻域中的质心的数量大于或等于第二预设值的情况下,确定所述第一待确认质心邻域中的质心属于同一类别,得到所述第三聚类结果。
该种实施方式提供了一种对至少一个簇的质心进行聚类处理的方式,以实现对至少n个第一簇的聚类处理,得到第三聚类结果。
结合本申请任一实施方式,在所述第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果之前,所述方法还包括:
分别确定所述至少n个第一簇中的每一个第一簇内的数据的均值,得到至少一个第一初始质心;所述第一初始质心与所述第一簇一一对应;
分别对所述至少一个第一初始质心中的每个所述第一初始质心进行正则化处理,得到所述至少n个第一簇的质心。
在该种实施方式中,通过确定每一个第一簇内的数据的均值,并对均值进行正则化处理得到每一个第一簇的质心。
结合本申请任一实施方式,所述第一终端将所述第一待处理数据集划分为n个第二待处理数据集,包括:
从所述第一待处理数据集中的数据所在的空间中选取n个点作为n个第二初始质心;
确定所述第一待处理数据集中的数据与每个所述第二初始质心之间的相似度,得到每个所述数据的第一相似度集;
将所述第一待处理数据集中的数据与所述数据的第一相似度集中的最大值对应的第二初始质心归为一类,得到所述n个第二待处理数据集。
该种实施方式提供了一种对第一待处理数据集划分的实现方式,以得到n个第二待处理数据集。
结合本申请任一实施方式,所述从所述第一待处理数据集中的数据所在的空间中选取n个点作为n个第二初始质心,包括:
对所述第一待处理数据集进行下采样处理,得到包含的数据的数量为第三预设值的第三待处理数据集;
从所述第三待处理数据集中选取n个点作为n个所述第二初始质心。
在该种实施方式中,在第一待处理数据集中的数据的数量巨大的情况下,通过对第一待处理数据集进行下采样处理得到第三待处理数据集,再依据第三待处理数据集中的数据确定n个点作为第二初始质心,可减小确定n个第二初始质心带来的数据处理量。
结合本申请任一实施方式,所述m个终端中的第一终端获取第一待处理数据集,包括:
接收摄像头发送的第一待处理视频流;
对所述第一待处理视频流中的至少两帧第一待处理图像进行结构化处理,得到所述至少两帧第一待处理图像的至少两个第一特征数据,作为所述第一待处理数据集;所述第一特征数据与所述第一待处理图像一一对应。
该种实施方式通过对摄像头发送的视频流中的第一待处理图像进行结构化处理,得到至少两个第一特征数据作为第一待处理数据集。后续可对上述至少两个第一特征数据进行分布式聚类处理,实现对摄像头采集的视频流中的第一待处理图像的分类。
结合本申请任一实施方式,所述方法还包括:
确定所述至少两个第一特征数据中的第一特征数据与所述第一特征数据所属簇的第二质心之间的第一特征相似度;
依据所述第一特征相似度确定与所述第一特征数据对应的第一待处理图像所属类别的置信度。
在该种实施方式中,基于按第一待处理图像的第一特征相似度从大到小的顺序对属于同一类别的第一待处理图像进行排序,用户在需要对第一待处理视频流中的第一待处理图像进行检索时可选择只显示排名前几的图像,以减小检索时的数据处理量。
第二方面,提供了另一种分布式聚类方法,所述方法包括:
获取至少两个第四聚类结果;
对所述至少两个第四聚类结果进行整合处理,得到第五聚类结果。
在该方面中,通过对至少两个第四聚类结果进行整合处理,得到第五聚类结果,实现对第四聚类结果的簇中包含的数据的聚类。
结合本申请任一实施方式,所述至少两个第四聚类结果包含至少两个第三簇;
所述对所述至少两个第四聚类结果进行整合处理,得到第五聚类结果,包括:
对所述至少两个第三簇的质心进行聚类处理,得到第七聚类结果;所述第七聚类结果包括至少一个第四簇;
将属于同一个所述第四簇的质心对应的第三簇合并为第二目标簇,得到所述第五聚类结果。
在该种实施方式中,通过对至少两个第三簇的质心进行聚类处理实现对至少两个第四聚类结果的整合处理,可减少数据处理量,提高处理速度。
结合本申请任一实施方式,所述对所述至少两个第三簇的质心进行聚类处理,得到第七聚类结果,包括:
以所述至少两个第三簇的质心中的第三质心为起始点、第四预设值为半径,构建第二待确认质心邻域;
在所述第二待确认质心邻域中的质心的数量大于或等于第五预设值的情况下,确定所述第二待确认质心邻域中的质心属于同一类别,得到所述第七聚类结果。
该种实施方式提供了一种对至少两个第三簇的质心进行聚类处理的方式,以实现至少两个第四聚类结果的聚类处理,得到第七聚类结果。
结合本申请任一实施方式,在对所述至少两个第三簇的质心进行聚类处理,得到第七聚类结果之前,所述方法还包括:
分别确定所述至少两个第三簇中的每一个第三簇内的数据的均值,得到至少一个第三初始质心;所述第三初始质心与所述第三簇一一对应;
分别对所述至少一个第三初始质心中的每个所述第三初始质心进行正则化处理,得到所述至少两个第三簇的质心。
在该种实施方式中,通过确定每一个第三簇内的数据的均值,并对均值进行正则化处理得到每一个第三簇的质心。
结合本申请任一实施方式,所述获取至少两个第四聚类结果,包括:
获取第四待处理数据集;
将所述第四待处理数据集划分成至少两个第五待处理数据集;
对所述至少两个第五待处理数据集中的目标待处理数据集进行聚类处理,得到第六聚类结果;
获取至少一个第八聚类结果,将所述第六聚类结果和所述至少一个第八聚类结果作为所述至少两个第四聚类结果;所述至少一个第八聚类结果与所述至少两个第五待处理数据集中除所述目标待处理数据集之外的第五待处理数据集一一对应。
该种实施方式通过对第四待处理数据集进行划分,得到至少两个第五待处理数据集,并通过对至少两个第五待处理数据集进行聚类处理得到第六聚类结果,进而将获取到的至少一个第八聚类结果和至少一个第八聚类结果作为至少两个第四聚类结果。
结合本申请任一实施方式,所述将所述第四待处理数据集划分成两个第五待处理数据集,包括:
从所述第四待处理数据集中的数据所在的空间中选取两个点作为两个第四初始质心;
确定所述第四待处理数据集中的数据与每个所述第四初始质心之间的相似度,得到每个所述数据的第二相似度集;
将所述第四待处理数据集中的数据与所述数据的第二相似度集中的最大值对应的第四初始质心归为一类,得到所述至少两个第五待处理数据集。
该种实施方式提供了一种对第四待处理数据集划分的实现方式,以得到至少个第五待处理数据集。
结合本申请任一实施方式,所述从第四待处理数据集中的数据所在的空间中选取至少两个点作为至少两个第四初始质心,包括:
对所述第四待处理数据集进行下采样处理,得到包含的数据的数量为第六预设值的第六待处理数据集;
从所述第六待处理数据集中选取至少两个点作为至少两个所述第四初始质心。
结合本申请任一实施方式,所述获取第四待处理数据集,包括:
接收摄像头发送的第二待处理视频流;
对所述第二待处理视频流中的至少两帧第二待处理图像进行结构化处理,得到所述至少两帧第一待处理图像的至少两个第三特征数据,作为所述第四待处理数据集;所述第三特征数据与所述第二待处理图像一一对应。
该种实施方式通过对摄像头发送的视频流中的第二待处理图像进行结构化处理,得到至少两个第三特征数据作为第四待处理数据集。后续可对上述至少两个第三特征数据进行分布式聚类处理,实现对摄像头采集的视频流中的第二待处理图像的分类。
结合本申请任一实施方式,所述方法还包括:
确定所述至少两个第三特征数据中的第四特征数据与所述第四特征数据所属簇的第四质心之间的第二特征相似度;
依据所述第二特征相似度确定与所述第四特征数据对应的第二待处理图像所属类别的置信度。
在该种实施方式中,基于按第二待处理图像的第二特征相似度从大到小的顺序对属于同一类别的第二待处理图像进行排序,用户在需要对第二待处理视频流中的第二待处理图像进行检索时可选择只显示排名前几的图像,以减小检索时的数据处理量。
第三方面,提供了一种分布式聚类系统,所述系统包括m个终端;所述m为大于或等于2的正整数;
所述m个终端中的第一终端获取第一待处理数据集;
所述第一终端将所述第一待处理数据集划分为n个第二待处理数据集;所述n为小于或等于所述m且大于或等于2的正整数;
所述m个终端中的n个终端分别对一个所述第二待处理数据集进行聚类处理,得到n个第一聚类结果;所述n个终端中的任意两个终端处理的第二待处理数据集均不同;
所述m个终端中的第二终端对所述n个第一聚类结果进行整合处理,得到第二聚类结果。
结合本申请任一实施方式,所述n个第一聚类结果包含至少n个第一簇;所述第二终端,用于:
对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果;所述第三聚类结果包括至少一个第二簇;
将属于同一个所述第二簇的质心对应的第一簇合并为第一目标簇,得到所述第二聚类结果。
结合本申请任一实施方式,所述第二终端,用于:
以所述至少n个第一簇的质心中的第一质心为起始点、第一预设值为半径,构建第一待确认质心邻域;
在所述第一待确认质心邻域中的质心的数量大于或等于第二预设值的情况下,确定所述第一待确认质心邻域中的质心属于同一类别,得到所述第三聚类结果。
结合本申请任一实施方式,在所述m个终端中的第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果之前,所述第二终端还用于:
分别确定所述至少n个第一簇中的每一个第一簇内的数据的均值,得到至少一个第一初始质心;所述第一初始质心与所述第一簇一一对应;
分别对所述至少一个第一初始质心中的每个所述第一初始质心进行正则化处理,得到所述至少n个第一簇的质心。
结合本申请任一实施方式,所述第一终端,用于:
从所述第一待处理数据集中的数据所在的空间中选取n个点作为n个第二初始质心;
确定所述第一待处理数据集中的数据与每个所述第二初始质心之间的相似度,得到每个所述数据的第一相似度集;
将所述第一待处理数据集中的数据与所述数据的第一相似度集中的最大值对应的第二初始质心归为一类,得到所述n个第二待处理数据集。
结合本申请任一实施方式,所述第一终端,用于:
对所述第一待处理数据集进行下采样处理,得到包含的数据的数量为第三预设值的第三待处理数据集;
从所述第三待处理数据集中选取n个点作为n个所述第二初始质心。
结合本申请任一实施方式,所述第一终端,用于:
接收摄像头发送的第一待处理视频流;
对所述第一待处理视频流中的至少两帧第一待处理图像进行结构化处理,得到所述至少两帧第一待处理图像的至少两个第一特征数据,作为所述第一待处理数据集;所述第一特征数据与所述第一待处理图像一一对应。
结合本申请任一实施方式,所述第二终端,还用于:
确定所述至少两个第一特征数据中的第一特征数据与所述第一特征数据所属簇的第二质心之间的第一特征相似度;
依据所述第一特征相似度确定与所述第一特征数据对应的第一待处理图像所属类别的置信度。
第四方面,提供了一种分布式聚类装置,所述装置包括:
获取单元,用于获取至少两个第四聚类结果;
整合处理单元,用于对所述至少两个第四聚类结果进行整合处理,得到第五聚类结果。
结合本申请任一实施方式,所述至少两个第四聚类结果包含至少两个第三簇;
所述整合处理单元,用于:
对所述至少两个第三簇的质心进行聚类处理,得到第七聚类结果;所述第七聚类结果包括至少一个第四簇;
将属于同一个所述第四簇的质心对应的第三簇合并为第二目标簇,得到所述第五聚类结果。
结合本申请任一实施方式,所述整合处理单元,用于:
以所述至少两个第三簇的质心中的第三质心为起始点、第四预设值为半径,构建第二待确认质心邻域;
在所述第二待确认质心邻域中的质心的数量大于或等于第五预设值的情况下,确定所述第二待确认质心邻域中的质心属于同一类别,得到所述第七聚类结果。
结合本申请任一实施方式,所述装置还包括:
第一确定单元,用于在对所述至少两个第三簇的质心进行聚类处理,得到第七聚类结果之前,分别确定所述至少两个第三簇中的每一个第三簇内的数据的均值,得到至少一个第三初始质心;所述第三初始质心与所述第三簇一一对应;
正则化处理单元,用于分别对所述至少一个第三初始质心中的每个所述第三初始质心进行正则化处理,得到所述至少两个第三簇的质心。
结合本申请任一实施方式,所述获取单元,用于:
获取第四待处理数据集;
将所述第四待处理数据集划分成至少两个第五待处理数据集;
对所述至少两个第五待处理数据集中的目标待处理数据集进行聚类处理,得到第六聚类结果;
获取至少一个第八聚类结果,将所述第六聚类结果和所述至少一个第八聚类结果作为所述至少两个第四聚类结果;所述至少一个第八聚类结果与所述至少两个第五待处理数据集中除所述目标待处理数据集之外的第五待处理数据集一一对应。
结合本申请任一实施方式,所述获取单元,用于:
从所述第四待处理数据集中的数据所在的空间中选取至少两个点作为至少两个第四初始质心;
确定所述第四待处理数据集中的数据与每个所述第四初始质心之间的相似度,得到每个所述数据的第二相似度集;
将所述第四待处理数据集中的数据与所述数据的第二相似度集中的最大值对应的第四初始质心归为一类,得到所述至少两个第五待处理数据集。
结合本申请任一实施方式,所述获取单元,用于:
对所述第四待处理数据集进行下采样处理,得到包含的数据的数量为第六预设值的第六待处理数据集;
从所述第六待处理数据集中选取至少两个点作为至少两个所述第四初始质心。
结合本申请任一实施方式,所述获取单元,用于:
接收摄像头发送的第二待处理视频流;
对所述第二待处理视频流中的至少两帧第二待处理图像进行结构化处理,得到所述至少两帧第一待处理图像的至少两个第三特征数据,作为所述第四待处理数据集;所述第三特征数据与所述第二待处理图像一一对应。
结合本申请任一实施方式,所述装置还包括:
第二确定单元,用于确定所述至少两个第三特征数据中的第四特征数据与所述第四特征数据所属簇的第四质心之间的第二特征相似度;
第三确定单元,用于依据所述第二特征相似度确定与所述第四特征数据对应的第二待处理图像所属类别的置信度。
第五方面,提供了一种处理器,所述处理器用于执行如上述第一方面及其任意一种可能实现的方式的方法。
第六方面,提供了一种电子设备,包括:相互连接的处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如上述第一方面及其任意一种可能实现的方式的方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被电子设备的处理器执行时,使所述处理器执行如上述第一方面及其任意一种可能实现的方式的方法。
第八方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面及其任一种可能的实现方式的方法。
第九方面,提供了一种处理器,所述处理器用于执行如上述第二方面及其任意一种可能实现的方式的方法。
第十方面,提供了一种电子设备,包括:相互连接的处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如上述第二方面及其任意一种可能实现的方式的方法。
第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被电子设备的处理器执行时,使所述处理器执行如上述第二方面及其任意一种可能实现的方式的方法。
第十二方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第二方面及其任一种可能的实现方式的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本申请实施例提供的一种分布式聚类方法的流程示意图;
图2为本申请实施例提供的另一种分布式聚类方法的流程示意图;
图3为本申请实施例提供的另一种分布式聚类方法的流程示意图;
图4为本申请实施例提供的另一种分布式聚类方法的流程示意图;
图5为本申请实施例提供的一种分布式聚类处理流程示意图;
图6为本申请实施例提供的一种分布式聚类系统的结构示意图;
图7为本申请实施例提供的一种分布式聚类装置的结构示意图;
图8为本申请实施例提供的一种终端的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,该三种关系如下:A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
使用终端(如计算机、服务器)对数据进行聚类处理,可得到数据的分布信息与数据之间的结构信息。由于终端的硬件资源(包括内存、显存、处理器的计算能力)有限,而需要进行聚类处理的数据的数量通常较大,导致在通过一个终端对较大数量的数据进行聚类处理时的处理时间长、处理效率低。基于此,越来越多的分布式聚类方法应运而生。
所谓分布式聚类即通过至少两个终端完成对数据的聚类处理,以减小处理时间、提高处理效率。由于不同的聚类算法的实现过程不同,传统的分布式聚类方法需要针对每一种聚类算法设计一种分布式聚类的方法,
例如,若用户期望使用k均值聚类算法(k-means clustering algorithm)对数据进行聚类处理,传统的分布式聚类方法需要为k均值聚类算法设计一个专有的分布式框架才能实现分布式聚类处理。若用户期望使用均值漂移聚类算法对数据进行聚类处理,传统的分布式聚类方法需要为均值漂移聚类算法设计一个专有的分布式框架才能实现分布式聚类处理。显然,传统的分布式聚类方法的通用性较差。
为此本申请实施例提供了一种具备较高通用性的分布式聚类方法。下面结合本申请实施例中的附图对本申请实施例进行描述。
请参阅图1,图1是本申请实施例(一)提供的一种分布式聚类方法的流程示意图。
101、m个终端中的第一终端获取第一待处理数据集。
本申请实施例提供的技术方案可应用于m个终端,其中,m为大于或等于2的正整数。上述第一终端可以是上述m个终端中的任意一个终端。
本申请实施中,第一待处理数据集中的数据可以是向量数据。该向量数据可以是语句向量,该向量数据也可以是图像的特征向量,该向量数据还可以是音频的特征向量,本申请实施例对向量数据包含的信息不作限定。
第一终端获取第一待处理数据集的方式可以是接收用户通过输入组件输入的第一待处理数据集,其中,输入组件包括:键盘、鼠标、触控屏、触控板和音频输入器等;也可以是接收与第一终端不同的终端发送的第一待处理数据集,其中,与第一终端不同的终端包括手机、计算机、平板电脑、服务器等。
102、上述第一终端将上述第一待处理数据集划分为n个第二待处理数据集。
将第一待处理数据集中的数据划分为n个数据集合,得到n个第二待处理数据集,以便后续使用一个终端处理一个第二待处理数据集,其中,n为小于或等于m且大于或等于2的正整数。
在一种可能实现的方式中,按第一待处理数据集中的数据的数量将第一待处理数据集平分为n个数据集合,得到n个第二待处理数据集。例如,第一待处理数据集包含100000个数据,n=10,则可将第一待处理数据集划分为10个均包含10000个数据的第二待处理数据集。
103、上述m个终端中的n个终端分别对一个上述第二待处理数据集进行聚类处理,得到n个第一聚类结果。本步骤中的聚类处理可通过用户的实际选用的聚类算法实现,例如,用户期望使用均值漂移聚类算法对第一待处理数据集进行聚类处理,本步骤中的聚类处理可由均值漂移聚类算法实现。
上述n个终端中的一个终端对上述n个第二待处理数据集中的一个第二待处理数据集进行聚类处理,可得到一个聚类结果(即第一聚类结果)。通过上述n个终端对上述n个第二待处理数据集进行聚类处理,可得到n个第一聚类结果。例如,n=2,n个终端分别为终端A和终端B,n个第二待处理数据集分别为第二待处理数据集a和第二待处理数据集b。终端A对第二待处理数据集a进行聚类处理得到一个第一聚类结果,终端B对第二待处理数据集b进行聚类处理得到一个第一聚类结果。
本申请实施例中,当n小于m时,上述n个终端可以不包括第一终端。例如,假设m=3,n=2。m个终端包括:第一终端、第二终端和第三终端,则n个终端可以包括:第二终端和第三终端。当然,上述n个终端也可以包括第一终端。
由于第二待处理数据集包含的数据的数量少于第一待处理数据集包含的数据的数量,一个终端对一个第二待处理数据集进行聚类处理的效率高于一个终端对一个第一待处理数据集进行聚类处理的效率。因此使用n个终端分别对n个第二待处理数据集进行聚类处理实现对第一待处理数据集的聚类处理的效率高于使用一个终端对第一待处理数据集进行聚类处理的效率。
104、上述m个终端中的第二终端对上述n个第一聚类结果进行整合处理,得到第二聚类结果。
上述第二终端可以是与第一终端不同的终端;上述第二终端也可以是上述第一终端。在得到n个第二待处理数据集的n个第一聚类结果后,第二终端对n个第一聚类结果进行整合处理,可得到第一待处理数据集的聚类结果(即第二聚类结果)。
由于每个第一聚类结果中均包含至少n个第一簇,而属于不同的第一聚类结果的第一簇中的数据可能属于同一类别,
例如(例1),第一聚类结果A包含第一簇a和第一簇b,第一聚类结果B包含第一簇c和第一簇d。第一簇a中的数据和第一簇d中的数据均属于类别A。整合处理即通过判断不同第一簇中的数据是否属于同一类别,并将包含的数据属于同一类别的至少两个第一簇合并为一个簇,得到第二聚类结果。例如,可将例1中的第一簇a和第一簇d合并为一个簇。
在一种判断不同第一簇中的数据是否属于同一类别的实现方式中,可通过确定n个第一聚类结果中的第一簇A与第一簇B之间的簇间距离判断第一簇A与第一簇B是否属于同一类别。
上述簇间距离可通过以下步骤得到:分别确定第一簇A内的每个数据与第一簇B内的数据之间的距离,得到第一簇A内的每个数据的第一距离。将每个数据的第一距离的最小值的和作为第一簇A与第一簇B之间的簇间距离。在簇间距离小于或等于第七预设值的情况下,将第一簇A内的数据和第一簇B内的数据合并为同一个簇。上述第七预设值为正数,可依据用户需求进行调整,本申请对此不作限定。
举例来说,第一簇A包含数据a和数据b,第一簇B包含数据c和数据e。数据a与数据c之间的距离为d1,数据a与数据e之间的距离为d2,d1和d2即为数据a的第一距离。若d1大于d2,d2为数据a的第一距离的最小值。数据b与数据c之间的距离为d3,数据b与数据e之间的距离为d4,d3和d4即为数据b的第一距离。若d3小于d4,d3为数据b的第一距离的最小值。d2与d3的和即为第一簇A和第一簇B之间的簇间距离。
由于n个第一聚类结果中的每个第一簇内的数据的数量较大,若通过判断任意两个第一簇内的数据之间的距离判断两个第一簇中的数据是否属于同一类别带来的数据处理量较大。因此在另一种判断不同第一簇中的数据是否属于同一类别的实现方式中,可以通过第一簇之间质心的距离判断两个第一簇是否属于同一类别。
例如,确定n个第一聚类结果中的第一簇C中所有数据的平均值,得到第一簇C的质心,确定n个第一聚类结果中的第一簇D中所有数据的平均值,得到第一簇D的质心。在第一簇C的质心与第一簇D的质心之间的距离小于或等于第八预设值的情况下,将第一簇C内的数据和第一簇D内的数据合并为同一个簇。
需要理解的是,在上述两种可能实现的方式中第一簇A和第二簇B属于不同的第一聚类结果,第一簇C和第二簇D也属于不同的第一聚类结果。
基于上述两种可能实现的方式均可通过判断不同第一簇中的数据是否属于同一类别完成对n个第一聚类结果的整合处理。
本申请实施例还提供了另外一种对n个第一聚类结果进行整合处理的实现的方式,分别确定n个第一聚类结果中的每个第一簇内的数据的均值,得到每个第一簇的簇质心(即至少一个第一初始质心)。分别对每一个第一初始质心进行正则化处理,得到n个第一聚类结果中的每一个第一簇的质心。对每一个第一簇的质心进行聚类处理,得到包括至少一个第二簇的第三聚类结果。将属于同一个第二簇的的质心对应的数据合并为第一目标簇,得到第二聚类结果。
举例来说,n个第一聚类包含第一簇A、第一簇B和第一簇C三个第一簇,计算第一簇A内的数据的均值得到第一初始质心A1,计算第一簇B内的数据的均值得到第一初始质心B1,计算第一簇C内的数据的均值得到第一初始质心C1。对第一初始质心A1进行正则化处理得到第一簇A的质心,对第一初始质心B1进行正则化处理得到第一簇B的质心,对第一初始质心C1进行正则化处理得到第一簇C的质心。第一簇A的质心对应的数据为第一簇A内的数据,第一簇B的质心对应的数据为第一簇B内的数据,第一簇C的质心对应的数据为第一簇C内的数据。对第一簇A的质心、第一簇B的质心和第一簇C的质心进行聚类处理,得到的第三聚类结果为:第一簇A的质心和第一簇B的质心属于簇D,第一簇C的质心为单独一个簇。则第二聚类结果为:第一簇A内的数据以及第一簇B内的数据属于同一类别,第一簇C内的数据属于同一类别。
本实施通过将第一待处理数据集划分为n个第二待处理数据集,并通过n个终端完成对n个第二待处理数据集的聚类处理,得到n个第一聚类结果,以提高对第一待处理数据集的聚类处理的效率。对n个第一聚类结果进行整合处理得到第二聚类结果,以得到第一待处理数据集的聚类结果。通过n个终端对n个第二待处理数据集执行的聚类处理可通过任意聚类算法实现,即实施本实施例提供的技术方案可实现将任意聚类算法以分布式处理的方式实现,具有较高的通用性。
请参阅图2,图2是本申请实施例(二)提供的步骤102的一种可能实现的方式的流程示意图。
201、从上述第一待处理数据集中的数据所在的空间中选取n个点作为n个第二初始质心。
本实施例中,第一待处理数据集中的数据所在的空间为包含第一待处理数据集中的所有数据的空间,该空间的维度与第一待处理数据集中的数据的维度相同。
例如,第一待处理数据集中的数据为256维,第一待处理数据集中的数据所在的空间为256维的空间。
从该空间中选取的n个点可以是第一待处理数据集中的数据所在的点,也可以不是第一待处理数据集中的数据所在的空间点。
例如,从该空间中选取的n个点中包含C点,第一待处理数据集包含:数据A和数据B。C点可以是该空间中数据A所在的点,A点也可以是该空间中数据B所在的点,C点还可以是该空间中除数据A所在的点和数据B所在的点之外的任意一点。
一种可能的实现方式中,可以从第一待处理数据集中的数据所在的空间随机选取n个点作为n个第二初始质心,以便后续处理中基于n个第二初始质心将第一待处理数据集中的数据划分为n个簇。
为使依据上述n个第二初始质心确定的每个簇中的数据的数量尽量接近(即尽量将第一待处理数据集中的数据均分成n份),可对上述n个第二初始质心进行调整。
在一种可能实现的方式中,将从第一待处理数据集中的数据所在的空间随机选取n个点作为n个第五初始质心,并将第一待处理数据集中的每个数据与距离最近的第五初始质心归为一类,得到n个第一初始簇。使用k均值聚类算法对上述n个第一初始簇的质心进行调整,可得到调整后的n个第一初始簇的质心,作为上述n个第二初始质心。
若第一待处理数据集中的数据的数量非常多,使用k均值聚类算法对上述n个初始簇的质心进行调整带来的数据处理量非常大。
可选的,可对第一待处理数据集进行下采样处理,得到包含的数据的数量为第三预设值的第三待处理数据集。从第三待处理数据集中的数据所在的空间中选取n个点作为n个第六初始质心,并将第三待处理数据集中的每个数据与距离最近的第六初始质心归为一类,得到n个第二初始簇。使用k均值聚类算法对上述n个第二初始簇的质心进行调整,可得到调整后的n个第二初始簇的质心,作为上述n个第二初始质心。上述第三预设值为正整数。上述上采样处理可以是从第三待处理数据集随机选取j个数据,其中,j等于第三预设值。若第三待处理数据集中的数据以某种形式排列(如按时间戳的大小排列),上述上采样处理也可以是均匀采样处理。
在上述得到n个第二初始质心的过程中,由于第三待处理数据集中的数据的数量少于第一待处理数据集中的数据的数量,基于通过对第一待处理数据集进行下采样处理得到的第三待处理数据集得到n个第二初始质心,可减小得到n个第二初始质心的数据处理量,提高处理速度。
202、确定上述第一待处理数据集中的数据与每个第二初始质心之间的相似度,得到每个数据的第一相似度集。
分别计算第一待处理数据集中的每个数据与每个第二初始质心之间的相似度,得到每个数据的第一相似度集。
举例来说(例2),第一待处理数据集包含:数据A、数据B、数据C、数据D。数据A、数据B、数据C和数据D所在空间为空间A。假设n=2,从空间A中随机选取的2个点作为第二初始质心,2个第二初始质心分别为:第二初始质心A和第二初始质心B,需要理解的是,这2个第二初始质心可以是第一待处理数据集中的数据所在的位置(如:第二初始质心A可以是数据A),也可以不是第一待处理数据集中的数据所在的位置。确定数据A与第二初始质心A之间的相似度为d1,确定数据A与第二初始质心B之间的相似度为d2,则数据A的第一相似度集包括:d1和d2。确定数据B与第二初始质心A之间的相似度为d3,确定数据B与第二初始质心B之间的相似度为d4,则数据B的第一相似度集包括:d3和d4。确定数据C与第二初始质心A之间的相似度为d5,确定数据C与第二初始质心B之间的相似度为d6,则数据C的第一相似度集包括:d5和d6。确定数据D与第二初始质心A之间的相似度为d7,确定数据D与第二初始质心B之间的相似度为d8,则数据D的第一相似度集包括:d7和d8。其中,数据与第二初始质心之间的相似度可以使用二者的空间距离(例如欧式距离)表示,距离越短,相似度越高。当然,在其他实施例中,相似度也可以采用其他参数表示,本申请对此不做限定。
203、将上述第一待处理数据集中的数据与数据的第一相似度集中的最大值对应的第二初始质心归为一类,得到上述n个第二待处理数据集。
对于第一待处理数据集中的每个数据,将数据与该数据的第一相似度集中的最大值对应的第二初始质心归为一类,即可实现将第一待处理数据集划分为n个簇,以便后续基于n个簇得到n个第二待处理数据集。
接着例2继续举例(例3),若d1大于d2,d4大于d3,d5大于d6,d8大于d7,数据A的第一相似度集中的最大值为d1,数据B的第一相似度集中的最大值为d4,数据C的第一相似度集中的最大值为d5,数据D的第一相似度集中的最大值为d8。由于与d1对应的第二初始质心为第二初始质心A,与d4对应的第二初始质心为第二初始质心B,与d5对应的第二初始质心为第二初始质心A,与d8对应的第二初始质心为第二初始质心B,将数据A与第二初始质心A归为一类,将数据B与第二初始质心B归为一类,将数据C与第二初始质心A归为一类,将数据D与第二初始质心B归为一类。将第二初始质心A所在的簇称为簇A,将第二初始质心B所在的簇称为簇B,则通过203的处理,可以将第一待处理数据划分为簇A和簇B两个簇。
由于第二初始质心均为从第一待处理数据集中的数据所在的空间中随机选取的,第二初始质心作为每个簇的质心可能存在较大的误差,为此,本申请实施例还提供了一种修正每个簇的质心,并依据每个簇的修正后的质心再次对第一待处理数据集中的数据进行划分的方法。下文将依据第二初始质心将第一待处理数据集中的数据划分为n个簇(如例3中的簇A和簇B)的过程称为第一次迭代。
可选的,在执行完第一次迭代后,第二次迭代可包括以下步骤:通过计算第一次迭代得到的每个簇中的数据的平均值修正每个簇的质心。
以例3为例,通过计算数据A和数据C的均值得到第一均值,将簇A的质心由第二初始质心A更新为由第一均值确定的点(下文将称为第一均值点)。通过计算数据B和数据D的均值得到第二均值,将簇B的质心由第二初始质心B更新为由第二均值确定的点(下文将称为第二均值点)。确定数据A与第一均值点之间的相似度为d9,确定数据A与第二均值点之间的相似度为d10,则数据A的第一相似度集包括:d9和d10。确定数据B与第一均值点之间的相似度为d11,确定数据B与第二均值点之间的相似度为d12,则数据B的第一相似度集包括:d11和d12。确定数据C与第一均值点之间的相似度为d13,确定数据C与第二均值点之间的相似度为d14,则数据C的第一相似度集包括:d13和d14。确定数据D与第一均值点之间的相似度为d15,确定数据D与第二均值点之间的相似度为d16,则数据D的第一相似度集包括:d15和d16。若d9大于d10,d12大于d11,d14大于d13,d16大于d15,数据A的第一相似度集中的最大值为d9,数据B的第一相似度集中的最大值为d12,数据C的第一相似度集中的最大值为d14,数据D的第一相似度集中的最大值为d16。由于与d9对应的第二初始质心为第一均值点,与d12对应的第二初始质心为第二均值点,与d14对应的第二初始质心为第二均值点,与d16对应的第二初始质心为第二均值点,将数据A与第一均值点归为一类(即数据A仍属于簇A),将数据B与第二均值点归为一类(即数据B仍属于簇B),将数据C与第二均值点归为一类(即将数据C从簇A中划分至簇B),将数据D与第二均值点归为一类(即数据D仍属于簇B)。
从上述示例中可以看出,在第二次迭代后,对第一待处理数据集中的数据进行划分得到的n个簇的质心发生了改变,且n个簇内的数据也发生了改变。若第二次迭代中得到的每个簇的质心与第一次迭代中得到的每个簇的质心相同(如:例3中的第一均值点与例2中的第二初始质心A相同,且例3中的第二均值点与例2中的第二初始质心B相同),将第二次迭代后得到的n个簇作为n个第二待处理数据集,如:在例3中,簇A包含数据A,簇B包含:数据B、数据C和数据D,而在例2中,簇A包含数据A和数据C,簇B包含数据B和数据D。若在第二次迭代后至少一个簇的质心发生改变(如:例3中的第一均值点与例2中的第二初始质心A不同,或例3中的第二均值点与例2中的第二初始质心B相同),在第二次迭代后,可再执行x次迭代,直至n个簇的质心不再改变结束迭代。将在第(x+2)次迭代后得到的n个簇作为n个第二待处理数据集,其中,x为正整数。
当n个簇的质心均不在改变时,表征对第一待处理数据集进行划分得到的n个簇已符合预期(得到n个簇,且每个簇内的数据的数量尽量相同)。通过上述修正簇的质心的方式调整n个簇的质心,可得到符合上述预期的n个簇。
本实施例依据第一待处理数据集中的每个数据与第二初始质心之间的相似度,将第一待处理数据集划分为n个簇,并通过对n个簇的质心进行修正,可得到符合上述预期的n个簇,作为第二待处理数据集。
本申请实施例还提供了一种对n个第一聚类结果中的每个第一簇的质心进行聚类处理,得到n个第一聚类结果的方法。
请参阅图3,图3是本申请实施例(三)提供的步骤103的一种可能实现的方式的流程示意图。
301、上述第二终端对上述至少n个第一簇的质心进行聚类处理,得到第三聚类结果。
为减小对n个第一聚类结果的整合处理的数据处理量,本实施例通过对n个第一聚类结果中的每个第一簇的簇质心进行聚类处理完成对n个第一聚类结果的整合处理。获得n个第一结果中的每个第一簇的质心的实现方式可参见步骤104,此处将不再赘述。
在一种对n个第一聚类结果中的至少n个第一簇的质心进行聚类处理的实现方式中,从至少n个第一簇的质心中随机选取一个质心(下文将称为第一质心)作为起始点并以第一预设值为半径,构建第一待确认质心邻域。在第一待确认质心邻域中的质心的数量大于或等于第二预设值的情况下,确定第一待确认质心邻域中的质心属于同一类别。若第一待确认质心邻域中的质心的数量小于第二预设值,确定第一待确认质心邻域中的质心不属于同一类别。
举例来说(例4),假设n=4,第一预设值为d8,第二预设值为3,至少n个第一簇包含第一簇A、第一簇B、第一簇C和第一簇D。第一簇A的质心与第一簇B的质心的距离为d1,第一簇A的质心与第一簇C的质心的距离为d2,第一簇A的质心与第一簇D的质心的距离为d3。d1小于d8,d2大于d8,d3等于d8。若选取第一簇A的质心作为起始点,以d8为半径构建的第一待确认质心邻域(下文将称为第一待确认质心邻域)包含第一簇B的质心和第一簇D的质心,即第一待确认质心邻域中的质心的数量为3。此时,将第一簇A的质心、第一簇B的质心以及第一簇D的质心归为同一类别,即将第一簇A的质心、第一簇B的质心以及第一簇D的质心归为同一个第二簇。
可选的,在以第一质心为起始点构建第一待确认质心邻域后,可继续“移动”第一待确认质心邻域,以使第一待确认质心邻域覆盖到每一个第一簇的质心。
在一种可能实现的方式中,以第一待确认质心邻域中除第一质心之外的任意一个质心为起始点、上述第一预设值为半径,构建第二第一待确认质心邻域。在第一待确认质心邻域中的质心的数量大于或等于上述第二预设值的情况下,确定第一待确认质心邻域中的质心属于同一类别。
以例4为例(例5),假设:第一簇B的质心与第一簇C的质心的距离为d4,第一簇B的质心与第一簇D的质心的距离为d5。如果:d4小于d8,d5大于d8。从第一簇B的质心和第一簇D的质心中随机选取一个质心作为起始点,假设选取第一簇B的质心为起始点,并以第一预设值为半径构建的第一待确认质心邻域包含第一簇A的质心、第一簇B的质心和第一簇C的质心。即第一待确认质心邻域中的质心的数量为3,此时,将第一簇A的质心、第一簇B的质心以及第一簇C的质心归为同一类别,即将第一簇A内的数据、第一簇B内的数据以及第一簇C内的数据归为同一类别。
结合例4,第三聚类结果为:第一簇A的质心、第一簇B的质心、第一簇C的质心以及第一簇D的质心均属于同一个第二簇。
以重新选取起始点的方式“移动”第一待确认质心邻域,直到所有质心都已作为过起始点完成对至少n个第一簇的质心的聚类处理,得到包含至少一个第二簇的第三聚类结果。
302、将属于同一个上述第二簇的质心对应的第一簇合并为第一目标簇,得到第二聚类结果。
在通过步骤301完成对第一簇的质心的聚类处理得到包含至少一个第二簇的第三聚类结果后,可将属于同一个第二簇的质心对应的第一簇合并为一个第一目标簇,得到第二聚类结果。
以例5为例,第三聚类结果为:第一簇A的质心、第一簇B的质心、第一簇C的质心以及第一簇D的质心均属于同一个第二簇。则可将第一簇A内的数据、第一簇B内的数据、第一簇C内的数据和第一簇D内的数据合并为一个第一目标簇,得到第二聚类结果。
本实施例通过对至少n个第一簇的质心进行聚类处理实现对n个第一聚类结果的整合处理,可减少整合处理的数据处理量。
请参阅图4,图4是本申请实施例(三)提供的另一种分布式聚类方法的流程示意图。
401、获取至少两个第四聚类结果。
本实施中的任意一个步骤的执行主体均为第四终端,第四终端可以是手机、计算机、平板电脑、服务器等等。第四终端可以是实施例(一)和实施例(二)中的m个终端中的任意一个终端。
本实施例中,第四聚类结果包含至少两个簇,每个簇包含至少两个数据。上述至少两个簇包含的数据为需要进行分布式聚类处理的数据,上述数据可以是向量数据。该向量数据可以是语句向量,该向量数据也可以是图像的特征向量,该向量数据还可以是音频的特征向量,本申请实施例对向量数据包含的信息不作限定。
第四终端获取至少两个第四聚类结果的方式可以是接收用户通过输入组件输入的第四聚类结果,其中,输入组件包括:键盘、鼠标、触控屏、触控板和音频输入器等;也可以是接收与第四终端不同的终端发送的第四聚类结果,其中,与第四终端不同的终端包括手机、计算机、平板电脑、服务器等。
在一种可能实现的方式中,获取至少两个第四聚类结果包括以下步骤:
获取第四待处理数据集。将第四待处理数据集划分成至少两个第五待处理数据集。对至少两个第五待处理数据集中的目标待处理数据集进行聚类处理,得到第六聚类结果。获取至少一个第八聚类结果,将第六聚类结果和至少一个第八聚类结果作为至少两个第四聚类结果,其中,至少一个第八聚类结果与至少两个第五待处理数据集中除目标待处理数据集之外的第五待处理数据集一一对应。
本实施例中的第四待处理数据集即为需要进行分布式聚类处理的数据集,第四待处理数据集中的数据可以是向量数据。该向量数据可以是语句向量,该向量数据也可以是图像的特征向量,该向量数据还可以是音频的特征向量,本申请实施例对向量数据包含的信息不作限定。
第四终端获取第四待处理数据集的实现方式可参见步骤101中第一终端获取第一待处理数据集的实现方式,此处将不再赘述。
在其他实施例中,也可以由其他终端对第四待处理数据集进行划分后,将目标待处理数据集给到第四终端进行聚类处理。
在上述过程中,第四终端将第四待处理数据集划分成至少两个第五待处理数据集的实现方式可参见步骤102中第一终端将第一待处理数据集划分为n个第二待处理数据集的实现方式,此处将不再赘述。
在一种可能实现的方式中,第四终端将第四待处理数据集划分成至少两个第五待处理数据集可包括以下步骤:
从第四待处理数据集中的数据所在的空间中选取至少两个点作为至少两个第四初始质心;
确定第四待处理数据集中的数据与每个第四初始质心之间的相似度,得到每个数据的第二相似度集;
将第四待处理数据集中的数据与数据的第二相似度集中的最大值对应的第四初始质心归为一类,得到至少两个第五待处理数据集。
该过程的实现方式可参见实施例(二),其中,第四待处理数据集与实施例(二)中的第一待处理数据集对应,第四初始质心与实施例(二)中的第二初始质心对应,第二相似度集与实施例(二)中的第一相似度集对应,第五待处理数据集与实施例(二)中的第二待处理数据集对应。
可选的,可通过以下步骤得到至少两个第四初始质心:
对第四待处理数据集进行下采样处理,得到包含的数据的数量为第六预设值的第六待处理数据集;
从第六待处理数据集中选取至少两个点作为至少两个第四初始质心。
该过程的实现方式可参见步骤201中得到n个第二初始质心的实现方式,其中,第四待处理数据集与步骤201中的第一待处理数据集对应,第六预设值与步骤201中的第三预设值对应,第六待处理数据集与步骤201中的第三待处理数据集对应。
本实施例中,目标待处理数据集为第五待处理数据集中的任意一个数据集。第四终端通过向目标待处理数据集进行聚类处理,可得到一个第六聚类结果。
本步骤中的聚类处理可通过用户的实际选用的聚类算法实现,例如,用户期望使用均值漂移聚类算法对第四待处理数据集进行聚类处理,本步骤中的聚类处理可由均值漂移聚类算法实现。
可选的,第四终端在从至少两个第五待处理数据集中确定目标待处理数据集后,可将除目标待处理数据集之外的第五待处理数据集分别发送至上述m个终端。可选的,可向每个终端分别发送一个第五待处理数据集。并分别向每个终端发送指令,该指令用于指示每个终端对接收到的第五待处理数据集进行聚类处理。
402、对上述至少两个第四聚类结果进行整合处理,得到第五聚类结果。
第四终端对上述至少两个第四聚类结果进行整合处理得到第五聚类结果的实现方式可参见步骤104中第二终端对n个第一聚类结果进行整合处理得到第二聚类结果的实现方式,此处将不再赘述。
在一种可能实现的方式中,第四终端对上述至少两个第四聚类结果进行整合处理得到第五聚类结果可包括以下步骤:
对至少两个第三簇的质心进行聚类处理,得到第七聚类结果,该第七聚类结果包括至少一个第四簇;
将属于同一个第四簇的质心对应的第三簇合并为第二目标簇,得到第五聚类结果。
该过程的实现方式可参见实施例(三),其中,至少两个第三簇与实施例(三)中的至少n个第一簇对应,第六聚类结果与实施例(三)中的第三聚类结果对应,第四簇与实施例(三)中的第二簇对应。
可选的,第四终端对至少两个第三簇的质心进行聚类处理,得到第七聚类结果,该第七聚类结果包括至少一个第四簇可包括以下步骤:
以至少两个第三簇的质心中的第三质心为起始点、第四预设值为半径,构建第二待确认质心邻域;
在第二待确认质心邻域中的质心的数量大于或等于第五预设值的情况下,确定第二待确认质心邻域中的质心属于同一类别,得到第七聚类结果。
该过程的实现方式可参见步骤301中得到第三聚类结果的实现方式,其中,至少两个第三簇与步骤301中的至少n个第一簇对应,第三质心与步骤301中的第一质心对应,第四预设值与步骤301中的第一预设值对应,第二待确认质心邻域与步骤301中的第一待确认质心邻域,第五预设值与步骤301中的第二预设值对应。
可选的,在第四终端对至少两个第三簇的质心进行聚类处理,得到第七聚类结果之前,第四终端还执行以下步骤:
分别确定至少两个第三簇中的每一个第三簇内的数据的均值,得到至少一个第三初始质心,该第三初始质心与第三簇一一对应;
分别对至少一个第三初始质心中的每个第三初始质心进行正则化处理,得到至少两个第三簇的质心。
该过程的实现方式可参见步骤104中得到每个第一簇的簇质心的实现方式,其中,至少两个第三簇与步骤104中的至少n个第一簇对应,至少一个第三初始质心与步骤104中的至少一个第一初始质心对应。
本实施通过对至少两个第四聚类结果进行整合处理,得到第五聚类结果,实现对第四聚类结果的簇中包含的数据的聚类。
基于实施例(一)、实施例(二)、实施例(三)和实施例(四)提供的技术方案,本申请实施例还提供了几种可能的应用场景。
场景A:在数据量急剧扩增的时代,通过对数据进行分类可分析得到数据之间隐藏的关联和信息。因此,如何高效、准确的对数据分类具有非常重要的意义。
基于本申请实施例提供的技术方案,假设需要进行聚类处理的数据为第一待处理数据集。m=8,即共有8个终端(分别为第一终端、第二终端、第三终端、第四终端、第五终端、第六终端、第七终端和第八终端)用于执行本申请实施例提供的分布式聚类方法。
如图4所示,8个终端中的第一终端将第一待处理数据集划分为8个第二待处理数据集。经8个终端对8个第二待处理数据集进行聚类处理(此处的聚类处理可由用户自定义,本申请对此不作限定)分别得到第一结果、第二结果、第三结果、第四结果、第五结果、第六结果、第七结果和第八结果。
第一终端对第一结果中所有簇的质心和第二结果中所有簇的质心进行聚类处理得到第九结果,第二终端对第三结果中所有簇的质心和第四结果中所有簇的质心进行聚类处理得到第十结果,第三终端对第五结果中所有簇的质心和第六结果中所有簇的质心进行聚类处理得到第十一结果,第四终端对第七结果中所有簇的质心和第八结果中所有簇的质心进行聚类处理得到第十二结果。第一终端对第九结果中所有簇的质心和第十结果中所有簇的质心进行聚类处理得到第十三结果,第二终端对第十一结果中所有簇的质心和第十二结果中所有簇的质心进行聚类处理得到第十四结果。第一终端对第十三结果中所有簇的质心和第十四结果中所有簇的质心进行聚类处理,最终得到第一待处理数据集的聚类结果。
在上述对第一结果、第二结果、第三结果、第四结果、第五结果、第六结果、第七结果和第八结果进行处理得到聚类结果的过程中,通过一个终端对2个结果中的簇的质心进行聚类处理可加速聚类处理的速度,提高聚类处理的效率。当然,在其他场景中,也可以利用一个终端对多个结果(如3个以上结果)中的簇的质心进行聚类处理以加速聚类处理的速度。
需要理解的是,图5所示的终端的数量仅为本申请实施例提供的一种示例,不应对本申请构成限定。在实际应用中,终端数量可以是大于或等于2的任意一个整数。
场景B:目前,为了增强工作、生活或者社会环境中的安全性,一方面在各个区域场所内及交通道路口安装摄像监控设备,以便根据视频信息进行安全防护,另一方面随着移动智能设备(如手机、平板电脑)的拍摄能力的增强,普通民众也可以通过移动智能设备采集到包含目标对象(包括目标人物和目标车辆)的视频。因此如何有效的通过海量视频确定包含目标对象的图像,并根据该图像的信息确定目标对象的行踪等信息具有重要意义。
传统方法中,相关工作人员通过观看摄像头或移动智能设备采集的视频,确定目标对象的行踪。但在视频时长较长的情况下,工作人员需要耗费较多的时间去观看视频,而这些视频中目标对象出现的时长可能又很短,这就导致通过工作人员观看视频确定目标对象的行踪的方式的效率低。
得益于深度学习技术的发展,基于深度学习技术对采集到的视频中的图像进行特征提取处理可得到图像的第一特征数据。对图像的特征向量数据进行聚类处理可实现将图像分类,进而可提高工作人员从视频中确定目标对象的效率。
由于采集到的视频中的图像的数量巨大,对图像的第一特征数据进行聚类处理的数据处理量巨大。为提高处理效率,可采用本申请实施例提供的技术方案对图像的第一特征数据进行分布式聚类处理。该处理过程可包括以下步骤:
501、m个终端中的第一终端接收摄像头发送的第一待处理视频流。
上述第一待处理视频流可以是离线视频,也可以是在线视频。其中,离线视频可以是通过摄像头或移动智能设备采集获得的视频。在线视频可以是摄像头实时获得视频,例如,第一终端可与多个摄像头相连,多个摄像头中的每个摄像头的安装位置不同,且服务器可从每个摄像头获取实时采集的视频作为第一待处理视频流。
502、对第一待处理视频流中的第一待处理图像进行结构化处理,得到第一待处理图像的第一特征数据集。
本实施例中,通过对第一待处理视频流进行结构化处理,可提取出第一待处理视频流中的第一待处理图像的第一特征数据。第一特征数据可包含第一待处理图像中的人物的属性信息或车辆的属性信息。其中,人物的属性信息包括:外貌特征(包括:体型、性别、发型、发色、动作、年龄段、是否戴眼镜、胸前是否抱东西)。车辆属性包括以下至少一种:车身颜色、车辆类型、车辆品牌型号、年检标。
第一终端对第一待处理视频流中的所有第一待处理图像分别进行结构化处理,可得到包含第一待处理视频流中的每一张第一待处理图像的第一特征数据的第一特征数据集。
可选的,通过多层任意堆叠的卷积层对第一待处理图像逐层进行卷积处理完成对第一待处理图像的特征提取处理,其中,每个卷积层提取出的特征内容及语义信息均不一样,具体表现为,特征提取处理一步步地将第一待处理图像的特征抽象出来,同时也将逐步去除相对次要的特征数据,因此,越到后面提取出的特征数据越小,内容及语义信息就越浓缩。通过多层卷积层逐级对待处理图像进行卷积处理,并提取相应的特征数据,这样,可在获得待处理图像主要内容信息(即第一待处理图像的特征数据)的同时,将第一待处理图像尺寸缩小,减小系统的计算量,提高运算速度,最终根据第一待处理图像的特征数据得到人脸属性。
在一种可能实现的方式中,卷积处理的实现过程如下:卷积层对第一待处理图像做卷积处理,即利用卷积核在第一待处理图像上滑动,并将第一待处理图像上的像素与对应的卷积核上的数值相乘,然后将所有相乘后的值相加作为卷积核中间像素对应的图像上像素值,最终滑动处理完第一待处理图像中所有的像素,并提取出特征数据。
在一种可能实现的方式中,通过预先训练好的神经网络对第一待处理图像进行人脸检测处理确定第一待处理图像中是否包含人脸。其中,该人脸检测处理还可通过特征提取模型或特征提取算法实现,本申请对此不作限定。
通过对第一待处理图像进行人脸检测处理确定待处理图像中包含人物和/或车辆的情况下,对第一待处理图像进行人物属性提取处理和/或车辆属性提取处理,获得待处理图像的人物属性和/或车辆属性。
需要理解的是,获得特征数据的特征提取处理和获得第一待处理图像的人物属性和/或车辆属性的人脸属性提取处理和/或车辆属性提取处理可通过不同的神经网络或不同的特征提取算法实现。
503、第一终端将上述第一特征数据集划分为n个第三待处理数据集。
本步骤中对第一特征数据集的划分方式与步骤102对第一待处理数据集的划分方式相同,此处将不再赘述。
504、n个终端中的每个终端分别对一个第三待处理数据集进行聚类处理,得到至少n个第八聚类结果。
本步骤中通过n个终端完成对第三待处理数据集的聚类处理的实现方式与步骤103中通过n个终端完成对第二待处理数据集的聚类处理的实现方式相同,此处将不再赘述。
505、对上述至少n个第八聚类结果进行整合处理,得到第九聚类结果。
本步骤中对至少n个第八聚类结果进行整合处理的实现方式与步骤104中对n个第一聚类结果进行整合处理的实现方式相同,此处将不再赘述。
可选的,在对至少n个第八聚类结果进行整合处理得到第九聚类结果后,可确定第一特征数据集中的第二特征数据与第二特征数据所属簇的第二质心之间的第一特征相似度。依据第一特征相似度确定与第二特征数据对应的第一待处理图像所属类别的置信度。
举例来说(例6),第一特征数据集包含第一待处理图像A的第一特征数据A、第一待处理图像B的第一特征数据B、第一待处理图像C的第一特征数据C和第一待处理图像D的第一特征数据D。经503~505的处理得到的第九聚类结果包含簇A和簇B,其中,簇A包含第一特征数据A和第一特征数据C,簇B包含第一特征数据B和第一特征数据D。第一特征数据A与簇A的质心(即第二质心)之间的相似度(即第一特征相似度)为90%,可选的,可将第一待处理图像A属于第一类别(即簇A的类别)的置信度取为0.9,以此类推,可以得到所有第一待处理图像属于对应类别的置信度。
基于依据第一特征数据的第一特征相似度确定与第一特征数据对应的第一待处理图像的置信度,用户在对第一待处理图像进行检索时,可以第一待处理图像的置信度为参考依据确定检索得到的第一待处理图像中的人物或车辆是否为目标对象,缩短检索时间,提高检索准确率。
可选的,可依据第一特征数据集中第一特征数据的第一特征相似度对属于同一类别的第一待处理图像进行排序。
以例6为例,若第一特征数据C与簇A的质心(即第二质心)之间的相似度(即第一特征相似度)为95%,第一特征数据B与簇B的质心(即第二质心)之间的相似度(即第一特征相似度)为80%,第一特征数据D与簇B的质心(即第二质心)之间的相似度(即第一特征相似度)为90%。则对属于第一类别的第一待处理图像排序得到的次序为:1.第一待处理图像C;2.第一待处理图像A。对属于第二类别(即簇B的类别)的第一待处理图像排序得到的次序为:1.第一待处理图像D;2.第一待处理图像B。
基于按第一待处理图像的第一特征相似度从大到小的顺序对属于同一类别的第一待处理图像进行排序,用户在需要对第一待处理视频流中的第一待处理图像进行检索时可选择只显示排名前几的图像,以减小检索时的数据处理量。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参阅图6,图6为本申请实施例提供的一种分布式聚类系统的结构示意图,该系统1包括m个终端;所述m为大于或等于2的正整数;所述m个终端包括所述第一终端11、所述第二终端12、以及除所述第一终端11和所述第二终端12之外的m-2个终端13;任意两个终端之间均可进行数据传输;
所述m个终端中的第一终端获取第一待处理数据集;
所述第一终端11将所述第一待处理数据集划分为n个第二待处理数据集;
所述m个终端中的n个终端分别对一个所述第二待处理数据集进行聚类处理,得到n个第一聚类结果;所述n个终端中的任意两个终端处理的第二待处理数据集均不同;
所述m个终端中的第二终端12对所述n个第一聚类结果进行整合处理,得到第二聚类结果。
结合本申请任一实施方式,所述n个第一聚类结果包含至少n个第一簇;所述第二终端12,用于:
对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果;所述第三聚类结果包括至少一个第二簇;
将属于同一个所述第二簇的质心对应的第一簇合并为第一目标簇,得到所述第二聚类结果。
结合本申请任一实施方式,所述第二终端12,用于:
以所述至少n个第一簇的质心中的第一质心为起始点、第一预设值为半径,构建第一待确认质心邻域;
在所述第一待确认质心邻域中的质心的数量大于或等于第二预设值的情况下,确定所述第一待确认质心邻域中的质心属于同一类别,得到所述第三聚类结果。
结合本申请任一实施方式,在所述m个终端中的第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果之前,所述第二终端12还用于:
分别确定所述至少n个第一簇中的每一个第一簇内的数据的均值,得到至少一个第一初始质心;所述第一初始质心与所述第一簇一一对应;
分别对所述至少一个第一初始质心中的每个所述第一初始质心进行正则化处理,得到所述至少n个第一簇的质心。
结合本申请任一实施方式,所述第一终端11,用于:
从所述第一待处理数据集中的数据所在的空间中选取n个点作为n个第二初始质心;
确定所述第一待处理数据集中的数据与每个所述第二初始质心之间的相似度,得到每个所述数据的第一相似度集;
将所述第一待处理数据集中的数据与所述数据的第一相似度集中的最大值对应的第二初始质心归为一类,得到所述n个第二待处理数据集。
结合本申请任一实施方式,所述第一终端11,用于:
对所述第一待处理数据进行下采样处理,得到包含的数据的数量为第三预设值的第三待处理数据集;
从所述第三待处理数据集中选取n个点作为n个所述第二初始质心。
结合本申请任一实施方式,所述第一终端111,用于:
接收摄像头发送的第一待处理视频流;
对所述第一待处理视频流中的至少两帧第一待处理图像进行结构化处理,得到所述至少两帧第一待处理图像的至少两个第一特征数据,作为所述第一待处理数据集;所述第一特征数据与所述第一待处理图像一一对应。
结合本申请任一实施方式,所述第二终端12,还用于:
确定所述至少两个第一特征数据中的第一特征数据与所述第一特征数据所属簇的第二质心之间的第一特征相似度;
依据所述第一特征相似度确定与所述第一特征数据对应的第一待处理图像所属类别的置信度。
本实施通过将第一待处理数据集划分为n个第二待处理数据集,并通过n个终端完成对n个第二待处理数据集的聚类处理,得到n个第一聚类结果,以提高对第一待处理数据集的聚类处理的效率。对n个第一聚类结果进行整合处理得到第二聚类结果,以得到第一待处理数据集的聚类结果。通过n个终端对n个第二待处理数据集执行的聚类处理可通过任意聚类算法实现,即实施本实施例提供的技术方案可实现将任意聚类算法以分布式处理的方式实现,具有较高的通用性。
请参阅图7,图7为本申请实施例提供的一种分布式聚类装置的结构示意图,该装置2包括:获取单元21、整合处理单元22、第一确定单元23、正则化处理单元24、第二确定单元25和第三确定单元26,其中:
获取单元21,用于获取至少两个第四聚类结果;
整合处理单元22,用于对所述至少两个第四聚类结果进行整合处理,得到第五聚类结果。
结合本申请任一实施方式,所述至少两个第四聚类结果包含至少两个第三簇;
所述整合处理单元22,用于:
对所述至少两个第三簇的质心进行聚类处理,得到第七聚类结果;所述第七聚类结果包括至少一个第四簇;
将属于同一个所述第四簇的质心对应的第三簇合并为第二目标簇,得到所述第五聚类结果。
结合本申请任一实施方式,所述整合处理单元22,用于:
以所述至少两个第三簇的质心中的第三质心为起始点、第四预设值为半径,构建第二待确认质心邻域;
在所述第二待确认质心邻域中的质心的数量大于或等于第五预设值的情况下,确定所述第二待确认质心邻域中的质心属于同一类别,得到所述第七聚类结果。
结合本申请任一实施方式,所述装置2还包括:
第一确定单元23,用于在对所述至少两个第三簇的质心进行聚类处理,得到第七聚类结果之前,分别确定所述至少两个第三簇中的每一个第三簇内的数据的均值,得到至少一个第三初始质心;所述第三初始质心与所述第三簇一一对应;
正则化处理单元24,用于分别对所述至少一个第三初始质心中的每个所述第三初始质心进行正则化处理,得到所述至少两个第三簇的质心。
结合本申请任一实施方式,所述获取单元21,用于:
获取第四待处理数据集;
将所述第四待处理数据集划分成至少两个第五待处理数据集;
对所述至少两个第五待处理数据集中的目标待处理数据集进行聚类处理,得到第六聚类结果;
获取至少一个第八聚类结果,将所述第六聚类结果和所述至少一个第八聚类结果作为所述至少两个第四聚类结果;所述至少一个第八聚类结果与所述至少两个第五待处理数据集中除所述目标待处理数据集之外的第五待处理数据集一一对应。
结合本申请任一实施方式,所述获取单元21,用于:
从所述第四待处理数据集中的数据所在的空间中选取至少两个点作为至少两个第四初始质心;
确定所述第四待处理数据集中的数据与每个所述第四初始质心之间的相似度,得到每个所述数据的第二相似度集;
将所述第四待处理数据集中的数据与所述数据的第二相似度集中的最大值对应的第四初始质心归为一类,得到所述至少两个第五待处理数据集。
结合本申请任一实施方式,所述获取单元21,用于:
对所述第四待处理数据集进行下采样处理,得到包含的数据的数量为第六预设值的第六待处理数据集;
从所述第六待处理数据集中选取至少两个点作为至少两个所述第四初始质心。
结合本申请任一实施方式,所述获取单元21,用于:
接收摄像头发送的第二待处理视频流;
对所述第二待处理视频流中的至少两帧第二待处理图像进行结构化处理,得到所述至少两帧第一待处理图像的至少两个第三特征数据,作为所述第四待处理数据集;所述第三特征数据与所述第二待处理图像一一对应。
结合本申请任一实施方式,所述装置2还包括:
第二确定单元25,用于确定所述至少两个第三特征数据中的第四特征数据与所述第四特征数据所属簇的第四质心之间的第二特征相似度;
第三确定单元26,用于依据所述第二特征相似度确定与所述第四特征数据对应的第二待处理图像所属类别的置信度。
本实施通过对至少两个第四聚类结果进行整合处理,得到第五聚类结果,实现对第四聚类结果的簇中包含的数据的聚类。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
图8为本申请实施例提供的一种分布式聚类系统中的终端的硬件结构示意图。该终端3包括处理器31,存储器32;还可以包括输入装置33,输出装置34。该处理器31、存储器32、输入装置33和输出装置34通过连接器相耦合,该连接器包括各类接口、传输线或总线等等,本申请实施例对此不作限定。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。
处理器31可以是一个或多个中央处理器(central processing unit,CPU),在处理器31是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。可选的,处理器31可以是多个CPU构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。可选的,该处理器还可以为其他类型的处理器等等,本申请实施例不作限定。
存储器32可用于存储计算机程序指令,以及用于执行本申请方案的程序代码在内的各类计算机程序代码。可选地,存储器包括但不限于是随机存储记忆体(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasableprogrammable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置33用于输入数据和/或信号,以及输出装置34用于输出数据和/或信号。输入装置33和输出装置34可以是独立的器件,也可以是一个整体的器件。
可理解,本申请实施例中,存储器32不仅可用于存储相关指令,还可用于存储相关数据,如该存储器32可用于存储通过输入装置33获取的第一待处理数据集,又或者该存储器32还可用于存储通过处理器31得到的第二聚类结果等等,本申请实施例对于该存储器中具体所存储的数据不作限定。
可以理解的是,图8仅仅示出了一种分布式聚类系统中的终端的简化设计。在实际应用中,分布式聚类系统中的终端还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、存储器等,而所有可以实现本申请实施例的分布式聚类系统中的终端都在本申请的保护范围之内。
本申请实施例还提供了一种处理器,该处理器的缓存中可存储计算机程序,当该计算机程序被该处理器执行时,该处理器可执行实施例(一)、实施例(二)、实施例(三)和实施例(四)所提供的技术方案。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所属领域的技术人员还可以清楚地了解到,本申请各个实施例描述各有侧重,为描述的方便和简洁,相同或类似的部分在不同实施例中可能没有赘述,因此,在某一实施例未描述或未详细描述的部分可以参见其他实施例的记载。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存储存储器(random access memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。
Claims (10)
1.一种分布式聚类方法,其特征在于,所述方法应用于m个终端;所述m为大于或等于2的正整数;所述方法包括:
所述m个终端中的第一终端获取第一待处理数据集;
所述第一终端将所述第一待处理数据集划分为n个第二待处理数据集;所述n为小于或等于所述m且大于或等于2的正整数;
所述m个终端中的n个终端分别对一个所述第二待处理数据集进行聚类处理,得到n个第一聚类结果;所述n个终端中的任意两个终端处理的第二待处理数据集均不同;
所述m个终端中的第二终端对所述n个第一聚类结果进行整合处理,得到第二聚类结果。
2.根据权利要求1所述的方法,其特征在于,所述n个第一聚类结果包含至少n个第一簇;
所述m个终端中的第二终端对所述n个第一聚类结果进行整合处理,得到第二聚类结果,包括:
所述第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果;所述第三聚类结果包括至少一个第二簇;
将属于同一个所述第二簇的质心对应的第一簇合并为第一目标簇,得到所述第二聚类结果。
3.根据权利要求2所述的方法,其特征在于,所述第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果,包括:
以所述至少n个第一簇的质心中的第一质心为起始点、第一预设值为半径,构建第一待确认质心邻域;
在所述第一待确认质心邻域中的质心的数量大于或等于第二预设值的情况下,确定所述第一待确认质心邻域中的质心属于同一类别,得到所述第三聚类结果。
4.根据权利要求2或3所述的方法,其特征在于,在所述第二终端对所述至少n个第一簇的质心进行聚类处理,得到第三聚类结果之前,所述方法还包括:
分别确定所述至少n个第一簇中的每一个第一簇内的数据的均值,得到至少一个第一初始质心;所述第一初始质心与所述第一簇一一对应;
分别对所述至少一个第一初始质心中的每个所述第一初始质心进行正则化处理,得到所述至少n个第一簇的质心。
5.一种分布式聚类方法,其特征在于,所述方法包括:
获取至少两个第四聚类结果;
对所述至少两个第四聚类结果进行整合处理,得到第五聚类结果。
6.一种分布式聚类系统,其特征在于,所述系统包括m个终端;所述m为大于或等于2的正整数;
所述m个终端中的第一终端获取第一待处理数据集;
所述第一终端将所述第一待处理数据集划分为n个第二待处理数据集;所述n为小于或等于所述m且大于或等于2的正整数;
所述m个终端中的n个终端分别对一个所述第二待处理数据集进行聚类处理,得到n个第一聚类结果;所述n个终端中的任意两个终端处理的第二待处理数据集均不同;
所述m个终端中的第二终端对所述n个第一聚类结果进行整合处理,得到第二聚类结果。
7.一种分布式聚类装置,其特征在于,所述装置包括:
获取单元,用于获取至少两个第四聚类结果;
整合处理单元,用于对所述至少两个第四聚类结果进行整合处理,得到第五聚类结果。
8.一种处理器,其特征在于,所述处理器用于执行如权利要求1至5中任意一项所述的方法。
9.一种电子设备,其特征在于,包括:相互连接的处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如权利要求1至5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被电子设备的处理器执行时,使所述处理器执行权利要求1至5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205761.XA CN110909817B (zh) | 2019-11-29 | 2019-11-29 | 分布式聚类方法及系统、处理器、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205761.XA CN110909817B (zh) | 2019-11-29 | 2019-11-29 | 分布式聚类方法及系统、处理器、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110909817A true CN110909817A (zh) | 2020-03-24 |
CN110909817B CN110909817B (zh) | 2022-11-11 |
Family
ID=69820923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911205761.XA Active CN110909817B (zh) | 2019-11-29 | 2019-11-29 | 分布式聚类方法及系统、处理器、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110909817B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508134A (zh) * | 2021-02-02 | 2021-03-16 | 贝壳找房(北京)科技有限公司 | 度量集合间相似度的方法、装置、介质和电子设备 |
JP2021168195A (ja) * | 2020-07-17 | 2021-10-21 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | 顔画像の分類方法、装置、電子機器及び記憶媒体 |
CN115952426A (zh) * | 2023-03-10 | 2023-04-11 | 中南大学 | 基于随机采样的分布式噪音数据聚类方法及用户分类方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765776A (zh) * | 2015-03-18 | 2015-07-08 | 华为技术有限公司 | 一种数据样本的聚类方法和装置 |
CN105183796A (zh) * | 2015-08-24 | 2015-12-23 | 同济大学 | 一种基于聚类的分布式链路预测方法 |
CN106874367A (zh) * | 2016-12-30 | 2017-06-20 | 江苏号百信息服务有限公司 | 一种基于舆情平台的抽样分布式聚类方法 |
CN109447186A (zh) * | 2018-12-13 | 2019-03-08 | 深圳云天励飞技术有限公司 | 聚类方法及相关产品 |
US20190303387A1 (en) * | 2018-03-30 | 2019-10-03 | AVAST Software s.r.o. | Efficiently initializing distributed clustering on large data sets |
-
2019
- 2019-11-29 CN CN201911205761.XA patent/CN110909817B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765776A (zh) * | 2015-03-18 | 2015-07-08 | 华为技术有限公司 | 一种数据样本的聚类方法和装置 |
CN105183796A (zh) * | 2015-08-24 | 2015-12-23 | 同济大学 | 一种基于聚类的分布式链路预测方法 |
CN106874367A (zh) * | 2016-12-30 | 2017-06-20 | 江苏号百信息服务有限公司 | 一种基于舆情平台的抽样分布式聚类方法 |
US20190303387A1 (en) * | 2018-03-30 | 2019-10-03 | AVAST Software s.r.o. | Efficiently initializing distributed clustering on large data sets |
CN109447186A (zh) * | 2018-12-13 | 2019-03-08 | 深圳云天励飞技术有限公司 | 聚类方法及相关产品 |
Non-Patent Citations (2)
Title |
---|
ˋ阿喜Z: "初识Hadoop两大核心:HDFS和MapReduce", 《HTTPS://BLOG.CSDN.NET/WUYA814070935/ARTICLE/DETAILS/78664674》 * |
王韬等: "基于RDDs的分布式聚类集成算法", 《小型微型计算机系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021168195A (ja) * | 2020-07-17 | 2021-10-21 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | 顔画像の分類方法、装置、電子機器及び記憶媒体 |
CN112508134A (zh) * | 2021-02-02 | 2021-03-16 | 贝壳找房(北京)科技有限公司 | 度量集合间相似度的方法、装置、介质和电子设备 |
CN115952426A (zh) * | 2023-03-10 | 2023-04-11 | 中南大学 | 基于随机采样的分布式噪音数据聚类方法及用户分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110909817B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113255694B (zh) | 训练图像特征提取模型和提取图像特征的方法、装置 | |
EP4156017A1 (en) | Action recognition method and apparatus, and device and storage medium | |
CN110909817B (zh) | 分布式聚类方法及系统、处理器、电子设备及存储介质 | |
WO2016154781A1 (en) | Low-cost face recognition using gaussian receptive field features | |
CN111931592A (zh) | 对象识别方法、装置及存储介质 | |
CN111598012B (zh) | 一种图片聚类管理方法、系统、设备及介质 | |
WO2023168998A1 (zh) | 视频片段的识别方法、装置、设备以及存储介质 | |
CN115170893B (zh) | 共视档位分类网络的训练方法、图像排序方法及相关设备 | |
CN112241789A (zh) | 用于轻量化神经网络的结构化剪枝方法、装置、介质及设备 | |
WO2023020214A1 (zh) | 检索模型的训练和检索方法、装置、设备及介质 | |
WO2019100348A1 (zh) | 图像检索方法和装置以及图像库的生成方法和装置 | |
CN111310834A (zh) | 数据处理方法及装置、处理器、电子设备、存储介质 | |
CN114298123A (zh) | 聚类处理方法、装置、电子设备及可读存储介质 | |
CN113157962A (zh) | 图像检索方法、电子装置和存储介质 | |
CN110688952B (zh) | 视频解析方法及装置 | |
TW202018540A (zh) | 資料庫更新方法和裝置、電子設備、電腦儲存介質 | |
Oh et al. | Deep feature learning for person re-identification in a large-scale crowdsourced environment | |
Gao et al. | Data-driven lightweight interest point selection for large-scale visual search | |
CN111428767B (zh) | 数据处理方法及装置、处理器、电子设备及存储介质 | |
Qi et al. | An efficient deep learning hashing neural network for mobile visual search | |
CN115587297A (zh) | 构建图像识别模型和图像识别的方法、装置、设备及介质 | |
CN115147434A (zh) | 图像处理方法、装置、终端设备及计算机可读存储介质 | |
CN112214639A (zh) | 视频筛选方法、视频筛选装置及终端设备 | |
CN111918137B (zh) | 一种基于视频特征的推送方法、装置、存储介质及终端 | |
CN117333926B (zh) | 一种图片聚合方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |