一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

聚类方法、装置和计算设备与流程

2022-04-13 18:12:52 来源:中国专利 TAG:


1.本技术涉及机器学习领域,尤其涉及一种聚类方法、装置和计算设备。


背景技术:

2.在大数据时代,海量的数据已远远超出了人类的理解能力。为了获取海量的数据所蕴含的信息,可以使用机器学习领域的算法对海量的数据进行挖掘。聚类是对数据集进行分组的一种非监督学习技术。聚类过程可以使用不同算法实现聚类,按照聚类算法可以将数据集分成若干个簇(cluster),确保同一簇内的数据之间具有相同的属性或者特征。但往往基于一种聚类算法对具有不同特征的数据进行聚类,由于不同的数据(如:文本、数字、图像数据)的特征分布不同,如果采用一种聚类算法对不同特征分布的数据进行聚类,无法保证聚类结果的合理性。因此,如何提供一种更合理的聚类方法成为亟待解决的问题。


技术实现要素:

3.本技术提供了一种聚类方法、装置和计算设备,由此提供一种更合理的聚类方法。
4.第一方面,本技术提供了一种聚类方法,该方法可以应用于聚类装置,具体包括如下步骤:获取到第一待聚类数据后,从聚类算法池中选择第一聚类算法,按照第一聚类算法完成对第一待聚类数据的聚类,使得第一聚类算法对第一待聚类数据的聚类效果优于聚类算法池中其他算法的聚类效果。其中,聚类算法池包括至少两个聚类算法,第一聚类算法为聚类算法池中任意一个算法。
5.如此,在聚类过程中可以从多个预设的聚类算法中自适应选择聚类算法,使得选择到的第一聚类算法适用于待聚类数据的特征分布,利用适应不同待聚类数据的需求,最终获得更准确的聚类结果。
6.在一种可能的实现方式中,从聚类算法池中选择第一聚类算法,包括:利用聚类算法池中多个聚类算法分别对第二待聚类数据进行聚类得到聚类结果,依据多个聚类算法的聚类结果选择第一聚类算法。其中,第一待聚类数据和所述第二待聚类数据的特征分布相同。可选的,多个聚类算法可以是用户指示的聚类算法池中的聚类算法。
7.具体的,评估多个聚类算法的聚类结果得到多个评估结果;根据多个评估结果选择第一聚类算法。
8.示例的,评估多个聚类算法的聚类结果得到多个评估结果,包括:确定多个聚类算法的聚类结果的评估系数,得到多个评估结果,多个评估结果包括第一聚类算法的评估结果,第一聚类算法的评估系数优于聚类算法池中其他算法的评估系数,评估系数用于衡量每个聚类结果中同一类内数据的相似程度,以及每个聚类结果中不同类的数据的差异程度;则根据多个评估结果选择第一聚类算法,包括:选择多个评估结果的评估系数中趋于阈值的评估系数对应的聚类算法作为第一聚类算法。
9.可选的,评估系数可以是紧凑度和分离度。紧凑度用于衡量每个聚类结果中同一类内数据的相似程度。分离度用于衡量每个聚类结果中不同类的数据的差异程度。
10.调用预先配置的多个聚类算法对待聚类数据进行聚类后,综合评估多个聚类结果,最终选择一个适用于待聚类数据的特征分布的第一聚类算法,有效地提高了聚类装置的整体适应性,获得最优的聚类结果。
11.在另一种可能的实现方式中,在按照第一聚类算法完成对第一待聚类数据的聚类之前,方法还包括:按照预设规则调整第一聚类算法的参数,预设规则为依据第一聚类算法对第二待聚类数据进行聚类的收敛趋势调整第一聚类算法的参数。
12.在另一种可能的实现方式中,按照预设规则调整第一聚类算法的参数,包括:根据预设步长调整第一聚类算法的参数的初始值,得到第一聚类算法的参数的中间值;利用第一聚类算法的参数的中间值对第二待聚类数据进行聚类,直到第一聚类算法收敛,将第一聚类算法的参数的中间值确定为第一聚类算法的参数的调整值。
13.依据第一聚类算法对待聚类数据进行聚类时的聚类趋势,自动调整第一聚类算法的参数,来得到一组最优第一聚类算法的参数的值,进一步提高对待聚类数据进行聚类的效率和准确度。
14.示例的,利用第一聚类算法的参数的中间值对第二待聚类数据进行聚类,直到第一聚类算法收敛,将第一聚类算法的参数的中间值确定为第一聚类算法的参数的调整值,包括:根据第一聚类算法的参数的初始值对第二待聚类数据进行聚类,得到初始聚类结果;根据第一聚类算法的参数的中间值对第二待聚类数据进行聚类,得到中间聚类结果;根据初始聚类结果和中间聚类结果得到聚类趋势,聚类趋势指示第一聚类算法的收敛速度;当聚类趋势指示第一聚类算法收敛,将第一聚类算法的参数的中间值确定为第一聚类算法的参数的调整值。
15.在另一种可能的实现方式中,方法还包括:显示第一聚类算法的聚类结果和聚类算法池中除了第一聚类算法的聚类算法的聚类结果的对比结果。从而,使用户可以直观地看到不同的聚类算法对待聚类数据进行聚类的聚类效果。
16.可选的,显示第一聚类算法的聚类结果、第一聚类算法的中间聚类结果和聚类算法池中除了第一聚类算法的聚类算法的聚类结果的对比结果。
17.在另一种可能的实现方式中,方法还包括:删除聚类算法池中多次评估后评估结果较差的聚类算法,或者,增加聚类算法池中聚类算法,或者,优化聚类算法池中的聚类算法。从而,提高聚类算法池中聚类算法的可靠性,确保每一种聚类算法适用于一种特征分布的待聚类数据。
18.在另一种可能的实现方式中,第二待聚类数据可以是预处理后的数据。预处理包括采样和降维。如此,在保留待聚类数据的整体分布的同时尽量地减小了待聚类数据的数据量,提高了数据聚类的速度。
19.第二方面,提供了一种聚类装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的聚类方法的各个模块。
20.第三方面,提供一种计算设备,该计算设备包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的聚类方法的操作步骤。
21.第四方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在计算设备中运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现
方式中所述方法的操作步骤。
22.第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
23.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
24.图1为本技术实施例提供的一种聚类装置部署示意图;
25.图2为本技术实施例提供的一种基于顾客位置分布进行商业选址的界面示意图;
26.图3为本技术实施例提供的另一种聚类装置部署示意图;
27.图4为本技术实施例提供的一种聚类方法的流程图;
28.图5为本技术实施例提供的一种聚类结果的界面示意图;
29.图6为本技术实施例提供的另一种聚类结果的界面示意图;
30.图7为本技术实施例提供的另一种聚类方法的流程图;
31.图8为本技术实施例提供的一种聚类结果的界面示意图;
32.图9为本技术实施例提供的一种聚类装置的组成示意图;
33.图10为本技术实施例提供的一种计算设备的组成示意图。
具体实施方式
34.下面将结合附图对本技术实施例的实施方式进行详细描述。
35.本技术提供一种聚类方法,该方法由聚类装置执行。聚类装置用于依据待聚类数据的特征分布,从多个预设聚类算法中选择一个最优聚类算法(也可以称为第一聚类算法),利用所选择的最优聚类算法对待聚类数据进行聚类,避免基于同一个聚类算法对不同特征分布的待聚类数据聚类时所带来的合理性问题。聚类装置的功能可以由软件系统实现、也可以由硬件设备实现、还可以由软件系统和硬件设备结合实现。
36.在一种可能的实现方式中,云服务提供商将聚类装置提供的功能抽象成为一项云服务,将该云服务部署在云数据中心。用户可以通过云服务平台咨询和购买这项云服务。用户购买这项云服务后,可以通过终端设备向云数据中心上传待聚类数据,云数据中心运行聚类装置,从多个预设聚类算法中选择最优聚类算法,利用最优聚类算法对待聚类数据进行聚类,得到聚类结果。
37.在另一种可能的实现方式中,聚类装置可以由软件提供商封装为软件包。由用户购买该软件包,用户将软件包部署在自有服务器中,或者,用户将软件包部署在云服务器中。例如,租户通过云服务平台购买云服务提供商提供的计算资源云服务,将聚类装置部署在租户租用的云数据中心的计算资源中(例如虚拟机),在购买的计算资源中运行聚类装置,使得聚类装置执行利用最优聚类算法对待聚类数据进行聚类,得到聚类结果的功能。可选的,聚类装置还可以对用户上传的待聚类数据和聚类结果进行加密,在不妨碍实施效果的前提下避免直接接触用户的数据,保证信息安全。
38.接下来,结合附图进一步介绍本技术提供的聚类方法。
39.图1为本技术提供的一种系统100的结构示意图,如图所示,系统100是利用基础资
源向用户提供云服务的实体。系统100包括云数据中心110。所述云数据中心110包括云服务提供商拥有的设备资源池(包括计算资源111、存储资源112和网络资源113)和云服务平台120。云数据中心110包括的计算资源111可以是计算设备(例如服务器)。聚类装置114可以部署在云数据中心110中的服务器中或运行在服务器中的虚拟机中,实现利用最优聚类算法对待聚类数据进行聚类,得到聚类结果的功能。该聚类装置114可以采用分布式部署方式,分别部署在多个服务器中、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。
40.终端设备200上可以部署交互装置210。交互装置210可以是浏览器或者能够实现与云服务平台120进行消息交互的应用。用户可以通过交互装置210访问云服务平台120,向云数据中心110上传待聚类数据。待聚类数据可以是文本、数字或图像数据等,本实施例对待聚类数据的数据类型不予限定。云数据中心110接收到终端设备200上传的待聚类数据后,调用聚类装置114,从多个预设聚类算法中选择最优聚类算法,利用最优聚类算法对待聚类数据进行聚类。进而,终端设备200接收云数据中心110反馈的聚类结果。
41.示例的,假设待聚类数据是关于顾客位置分布的数据,终端设备200向云数据中心110上传顾客位置分布数据,云数据中心110中的聚类装置114可以对顾客位置分布数据进行聚类,得到预测的商铺位置,确保所有顾客的位置到该预测位置的距离最短。图2为本技术实施例提供的一种基于顾客位置分布进行商业选址的界面示意图。如图2中的(a)所示,用户通过终端设备200上的浏览器访问云服务平台120。云服务平台120的界面显示有模型训练、模型推理、聚类等选项。用户点击“聚类”选项220。如图2中的(b)所示,云服务平台120响应用户的点击操作,显示聚类界面。云服务平台120的聚类界面显示“上传数据”按钮230。用户点击“上传数据”按钮230。如图2中的(c)所示,从本地文件中选择顾客位置分布数据,终端设备200向云数据中心110上传顾客位置分布数据。如图2中的(d)所示,云服务平台120的界面显示“开始聚类”按钮240。用户点击“开始聚类”按钮。云服务平台120接收到终端设备200上传的顾客位置分布数据后,聚类装置114从多个预设的聚类算法中选择最优聚类算法,利用最优聚类算法对顾客位置分布数据进行聚类,得到预测位置。最优聚类算法可以确保所有顾客的位置到该预测位置的距离最短。云数据中心110向终端设备200反馈预测位置。如图2中的(e)所示,终端设备200显示云数据中心110反馈的预测位置。
42.可选的,如图2中的(d)所示,云服务平台120的聚类界面还可以显示聚类算法池中所有的预设聚类算法的选项。预设的聚类算法是预先配置到云数据中心110的存储资源112中,以便于用户根据自己的意愿选择聚类算法。例如,云数据中心110调用聚类装置114,从多个预设聚类算法中选择最优聚类算法时,使用的多个预设聚类算法可以是用户选择的聚类算法。如果用户没有选择显示的预设聚类算法,云数据中心110从预先配置的所有聚类算法中选择最优聚类算法。
43.本技术实施例提供的聚类方法,系统从聚类算法池中的多个聚类算法中选择适用于待聚类数据的特征分布的最优聚类算法,利用最优聚类算法对待聚类数据进行聚类,使得最优聚类算法对待聚类数据的聚类效果优于聚类算法池中其他算法,得到更准确的聚类结果,从而有效地提高了聚类装置的整体适应性,还提高了聚类的效率。
44.其中,特征分布包括凸分布、非凸分布、密度分布和层次分布等。凸分布表示数据集中的任意两点连线的点都在该集合中。非凸分布表示数据集中的任意两点连线的点不都
在该集合中。密度分布(density distribution)表示数据集中数据成不同密度相连。层次分布表示数据集中数据之间有层级相连的关系。
45.聚类算法池包括k-均值聚类(k-means clustering,k-means)算法、基于密度的聚类(density-based spatial clustering of applications with noise,dbscan)算法、凝聚层次聚类(agglomerative hierarchical clustering,ahc)算法、统计信息网格聚类(statistical information grid,sting)算法和最大期望(expectation-maximization algorithm,em)算法等。
46.k-means适用于非凸分布。dbscan适用于非凸分布和不同密度分布。em适用于高斯分布。ahc适用于层次状分布。sting适用于高纬度的不同密度分布。
47.在另一种可能的实现方式中,终端设备200的计算能力和存储容量满足聚类过程的要求的情况下,如图3所示,还可以将聚类装置114部署在终端设备200,由终端设备200完成对待聚类数据进行聚类的过程。聚类装置114可以是一个软件包,用户将软件包按照到终端设备200上,终端设备200还部署有交互装置210。用户可以通过交互装置210上传待聚类数据,终端设备200运行软件包,从预先配置的多种聚类算法中选择适用于待聚类数据的特征分布的最优聚类算法,利用最优聚类算法对待聚类数据进行聚类,得到聚类结果。终端设备200显示聚类结果。
48.接下来,结合图4至图8,对本实施例提供的聚类方法进行详细说明。在这里,以图1中交互装置210和聚类装置114为例对聚类的过程进行说明。如图4所示,该方法包括以下步骤:
49.步骤401、交互装置210根据来自用户的指令向聚类装置114上传原始数据。
50.步骤402、聚类装置114接收交互装置210发送的原始数据。
51.步骤403、聚类装置114依据原始数据获取第一待聚类数据和第二待聚类数据。
52.原始数据是指用户需要进行聚类分析的数据源。聚类装置114可以对原始数据进行预处理得到第一待聚类数据和第二待聚类数据。
53.例如,聚类装置114可以对原始数据进行随机采样(sampling)和降维(dimension reduction),得到第一待聚类数据和第二待聚类数据。如此,聚类装置114依据多个预设的聚类算法分别对预处理后数据进行聚类得到聚类结果。在保留待聚类数据的整体分布的同时尽量地减小了待聚类数据的数据量,提高了聚类装置114对数据进行聚类的速度。
54.可选的,如果原始数据包括文本、图像等形式,预处理可以是对文本、图像等形式的数据进行处理,例如,对文本进行分词、错误纠正(如纠正文本中出现错误的词语等)、进行去噪(如去除无意义的字母、符号等字符)、去除停用词以及检测每个单词的词性中的任意一种或多种。其中,停用词,可以包括内容指示含义较低的功能词等词汇,通常难以指示文本的语义,如“一个”、“这些”、“的”等难以指示文本语义的词汇。如果原始数据是图像,预处理可以是对图像进行去噪(去除图像中的噪点)、图像下采样(减小图像分辨率)以及图像特征提取等。
55.又如,聚类装置114可以对原始数据进行分段,得到第一待聚类数据和第二待聚类数据,第一待聚类数据和第二待聚类数据是原始数据中的一部分数据。
56.可理解的,预处理后的待聚类数据(如第一待聚类数据和第二待聚类数据)与原始数据的特征分布相同。且第一待聚类数据和第二待聚类数据的特征分布也相同。
57.作为一种可能的实现方式,第一待聚类数据也可以是与第二待聚类数据特征分布相同的任意数据,也就是说,第一待聚类数据也可以从除原数据以外的其他数据中获取。
58.为了便于描述,以第一待聚类数据为选择第一聚类算法过程中所使用的数据,第二待聚类数据为在已选择第一聚类算法基础上需要聚类的数据为例进行描述。
59.步骤404、聚类装置114利用第二待聚类数据从聚类算法池中选择第一聚类算法。
60.聚类装置114可以利用聚类算法池包含的多个聚类算法分别对第二待聚类数据进行聚类,得到聚类结果。进而,聚类装置114评估多个聚类算法的聚类结果得到多个评估结果,根据多个评估结果选择第一聚类算法。其中,聚类算法池包括至少两个聚类算法,第一聚类算法为聚类算法池中任意一个算法。
61.可理解的,每种聚类算法针对不同特征分布的数据的聚类效果不同,聚类结果的合理性也不同,即有的聚类算法适用于第二待聚类数据的特征分布,有的聚类算法不适用于第二待聚类数据的特征分布,有的聚类算法介于适用于第二待聚类数据的特征分布和不适用于第二待聚类数据的特征分布之间。因此,聚类装置114利用聚类算法池中的多个聚类算法分别对第二待聚类数据进行聚类,可以得到多种聚类效果(如:高、中、低)的聚类结果。
62.通常,聚类装置114可以利用评估系数评估多个聚类算法的聚类结果,得到多个评估结果。应理解,多个聚类算法的聚类结果包括第一聚类算法的聚类结果。多个评估结果包括第一聚类算法的评估结果。
63.评估系数用于衡量每个聚类结果中同一类内数据的相似程度,以及每个聚类结果中不同类的数据的差异程度。例如,评估系数可以包含紧凑度和分离度。紧凑度衡量每个聚类结果中同一类内数据的相似程度。比如,可以计算簇内的点到中心点的平均距离或方差得到紧凑度。分离度衡量每个聚类结果中不同类的数据的差异程度。
64.在一些实施例中,聚类装置114可以采用轮廓系数(silhouette coefficient)对多个聚类结果进行评估,从多个评估结果的轮廓系数中选择趋于阈值的轮廓系数对应的聚类算法作为第一聚类算法。因此,第一聚类算法的评估结果优于聚类算法池中其他算法的评估结果。第一聚类算法为适用于第二待聚类数据的特征分布的最优聚类算法。进而,聚类装置114可以按照第一聚类算法完成对第一待聚类数据的聚类,得到聚类结果,即执行步骤405。
65.轮廓系数是聚类效果好坏的一种评价方式。轮廓系数结合紧凑度和分离度两种因素,用来在具有相同特征分布的数据的基础上用来评价不同聚类算法、或者聚类算法不同运行方式对聚类结果所产生的影响。
66.假设聚类结果包括k个簇。聚类装置114对k个簇中的每个向量分别计算轮廓系数。向量i的轮廓系数满足公式(1)。
67.s(i)=(b(i)-a(i))/max{a(i),b(i)}
ꢀꢀꢀꢀ
(1)
68.其中,s(i)表示聚类结果的轮廓系数。a(i)表示向量i到该向量i所属的簇中其他向量的距离的平均值。b(i)表示向量i到与该向量i所属的簇相邻的最近一个簇内的所有向量的距离的最小值。
69.聚类装置114对k个簇中所有向量的轮廓系数求平均,得到聚类结果的轮廓系数。可见,轮廓系数是介于[-1,1],轮廓系数越趋近于1,表示紧凑度和分离度都相对较优,聚类结果的效果越好。应理解,聚类装置114选择的评估结果是多个评估结果中最趋近于1的轮
廓系数对应的评估结果。
[0070]
可选地,聚类装置114对多个聚类结果的评估方法还包括戴维斯-博尔丁指数(davies-bouldin index)(db指数)、兰德系数(rand index,ri)、调整兰德系数(adjusted rand index,ari)和ch指数(calinski harabasz)等。
[0071]
步骤405、聚类装置114按照第一聚类算法对第一待聚类数据进行聚类,得到聚类结果。
[0072]
可选的,聚类装置114按照第一聚类算法对原始数据进行聚类,得到聚类结果。
[0073]
如此,在聚类过程中可以从多个预设的聚类算法中自适应选择聚类算法,使得选择到的第一聚类算法适用于待聚类数据的特征分布,利用适应不同待聚类数据的需求,最终获得更准确的聚类结果。
[0074]
可选的,聚类装置114还可以向交互装置210发送多个聚类结果和多个评估结果(步骤406)。交互装置210接收聚类装置114发送的多个聚类结果和多个评估结果(步骤407)。交互装置210呈现多个聚类结果和多个评估结果(步骤408)。从而,使用户可以直观地看到不同的聚类算法对同一个特征分布的待聚类数据聚类后的聚类结果和评估结果。
[0075]
图5为本实施例提供的一种基于顾客位置分布进行商业选址的聚类结果示意图。如图5中的(a)所示,图中的菱形图标表示聚类装置114采用k-means算法对顾客位置分布数据进行聚类后得到的预测位置。但是,预测的商铺位置在河流上,显然图5中的(a)所示的预测位置并不适合建商铺。如图5中的(b)所示,图中的菱形图标表示聚类装置114采用基于密度的聚类算法对顾客位置分布数据进行聚类后得到的预测位置。该基于密度的聚类算法是根据样本分布的紧密程度进行聚类,将各组紧密相连的样本划分为不同的类别。该预测位置在顾客位置分布区域内的中心,因此基于密度的聚类算法的预测位置优于k-means算法的预测位置。
[0076]
另外,用户也可以点击界面显示的聚类结果选项501查看其他聚类算法对同一个特征分布的待聚类数据聚类后的聚类结果和评估结果。或者,用户滑动滚动条502查看其他聚类算法对同一个特征分布的待聚类数据聚类后的聚类结果和评估结果。
[0077]
可选的,用户也可以点击图中的菱形图标,查看第一聚类算法的聚类结果和聚类算法池中除了第一聚类算法的聚类算法的聚类结果的对比结果。终端设备200响应用户的点击操作,显示第一聚类算法的聚类结果和聚类算法池中除了第一聚类算法的聚类算法的聚类结果的对比结果。示例的,如图6中的(a)所示,为基于密度的聚类算法的预测位置和k-means算法的预测位置的对比结果示意图。终端设备200显示k-means算法的聚类结果和基于密度的聚类算法的聚类结果的对比结果,k-means算法适用于非凸特征分布的数据,该预测位置不适合建商铺,基于密度的聚类算法适用于不同密度的特征分布的数据,该预测位置适合建商铺。基于密度的聚类算法的预测位置优于k-means算法的预测位置。
[0078]
可选的,终端设备200还可以显示第一聚类算法的聚类结果和聚类算法池中除了第一聚类算法的聚类算法的聚类结果的评估结果。示例的,如图6中的(b)所示,终端设备200可以显示k-means算法的聚类结果和基于密度的聚类算法的聚类结果的评估结果,基于密度的聚类算法的预测位置的轮廓系数比k-means算法的预测位置的轮廓系数趋近于1,表示基于密度的聚类算法的预测位置的紧凑度和分离度都相对k-means算法较优。
[0079]
进一步地,在聚类装置114利用第一聚类算法对第一待聚类数据进行聚类,得到聚
类结果之前,聚类装置114还可以调整第一聚类算法的参数,依据第一聚类算法对第二待聚类数据进行聚类的收敛趋势调整第一聚类算法的参数,确定第一聚类算法的参数的调整值,利用第一聚类算法的参数的调整值对第一待聚类数据进行聚类,得到聚类结果。如此,依据第一聚类算法对第二待聚类数据进行聚类时的聚类趋势,自适应地调整第一聚类算法的参数,以得到一组第一聚类算法的参数的最优取值,从而进一步地提高对第一待聚类数据进行聚类的准确度。
[0080]
图7为本实施例提供的另一种聚类方法的流程示意图。图7与上述图4的区别在于,在聚类装置114按照第一聚类算法对第一待聚类数据进行聚类之前,聚类装置114先对第一聚类算法的参数进行调整。该聚类方法还包括以下步骤。如图所示:
[0081]
步骤701、聚类装置114根据第一聚类算法的参数的初始值对第二待聚类数据进行聚类,得到初始聚类结果。
[0082]
步骤702、聚类装置114根据预设步长调整第一聚类算法的参数的第i-1中间值,得到第一聚类算法的参数的第i中间值。
[0083]
其中,用户可以根据调参经验预先设置预设步长。或者,用户可以对数据集进行验证测试,确定预设步长。对于不同的聚类算法,预设步长可以不同。例如,k-means算法的参数k(聚类个数),预设步长可以是1。又如,基于密度的聚类算法的参数邻域距离阈值(eps),预设步长可以是0.1。预设步长可以是经验值,也可以是根据统计值确定的。
[0084]
例如,聚类装置114可以以预设步长增加第一聚类算法的参数的第i-1中间值或减少第一聚类算法的参数的第i-1中间值,得到第一聚类算法的参数的第i中间值。
[0085]
为便于描述,第i-1中间值表示第i-1次调整的第一聚类算法的参数的中间值。第i中间值表示第i次调整的第一聚类算法的参数的中间值。
[0086]
步骤703、聚类装置114根据第一聚类算法的参数的第i中间值对第二待聚类数据进行聚类,得到第i中间聚类结果。
[0087]
步骤704、聚类装置114根据初始聚类结果和第i中间聚类结果得到聚类趋势。聚类趋势指示第一聚类算法的收敛速度。
[0088]
在一些实施例中,聚类趋势可以用第一聚类算法的迭代目标函数的收敛比例表示。初始聚类结果包含初始目标函数值,第i中间聚类结果包含目标函数值。
[0089]
聚类装置114先利用第一聚类算法的参数的初始值对第二待聚类数据进行n次迭代计算,得到初始目标函数值(targbase)。聚类装置114再利用第一聚类算法的参数的中间值对第二待聚类数据进行n次迭代计算,得到目标函数值(targ)。初始目标函数值和目标函数值均指示第一聚类算法的评估结果。聚类装置114根据初始目标函数值和目标函数值得到聚类趋势。聚类趋势满足如下公式(2)。
[0090]
p=(f1-f2)/f1
ꢀꢀꢀꢀ
(2)
[0091]
其中,p表示聚类趋势,f1表示初始目标函数值,f2表示目标函数值。
[0092]
步骤705、聚类装置114判断聚类趋势指示第一聚类算法是否继续收敛。
[0093]
例如,聚类装置114可以根据上述公式(2)确定聚类趋势,如果聚类装置114确定聚类趋势大于0且小于1,表示第一聚类算法继续收敛,继续根据预设步长调整第一聚类算法的参数的第i中间值。当聚类趋势小于0时,表示第一聚类算法收敛趋势不明显或停止收敛,将第一聚类算法的参数的第i-1中间值确定为第一聚类算法的参数的调整值。
[0094]
步骤706,若聚类趋势指示第一聚类算法停止收敛,将第一聚类算法的参数的第i-1中间值确定为第一聚类算法的参数的调整值。若聚类趋势指示第一聚类算法继续收敛,执行步骤702至步骤705。
[0095]
在确定了第一聚类算法的参数的调整值之后,执行步骤405a,即聚类装置114按照第一聚类算法的参数的调整值对第一待聚类数据进行聚类,得到聚类结果。
[0096]
应理解,当聚类趋势指示第一聚类算法停止收敛,表示第i次调整第一聚类算法的参数后,得到的第i中间聚类结果比第i-1中间聚类结果差,或者第i中间聚类结果与第i-1中间聚类结果相似,此时,可以将第i-1次调整的第一聚类算法的参数的中间值确定为第一聚类算法的参数的调整值。其中,i为大于等于1的整数。
[0097]
当聚类趋势指示第一聚类算法继续收敛,表示第i次调整第一聚类算法的参数后,得到的中间聚类结果优于第i-1中间聚类结果,也就是第一聚类算法的参数还可以继续调整。
[0098]
当i=1时,表示聚类装置114调整第一聚类算法的参数的初始值,得到第一聚类算法的参数的第1中间值。特别的,第0中间值表示第一聚类算法的参数的初始值。
[0099]
如果聚类装置114调整第一聚类算法的参数的初始值后,聚类趋势指示第一聚类算法停止收敛,将第一聚类算法的参数的初始值确定为第一聚类算法的参数的调整值。
[0100]
如果聚类装置114调整第一聚类算法的参数的初始值后,聚类趋势指示第一聚类算法继续收敛,执行步骤702,即聚类装置114根据预设步长调整第一聚类算法的参数的第1中间值。
[0101]
当i大于或等于2时,表示聚类装置114调整第一聚类算法的参数的第i-1中间值。
[0102]
如果聚类装置114调整第一聚类算法的参数的第i-1中间值后,聚类趋势指示第一聚类算法停止收敛,将第一聚类算法的参数的第i-1中间值确定为第一聚类算法的参数的调整值。
[0103]
如果聚类装置114调整第一聚类算法的参数的第i-1中间值后,聚类趋势指示第一聚类算法继续收敛,执行步骤702,即聚类装置114根据预设步长调整第一聚类算法的参数的第i中间值。
[0104]
聚类装置114遍历第一聚类算法中的每个参数,依据上述步骤701至步骤706进行调整,以得到第一聚类算法的参数最优配置。
[0105]
可选的,聚类装置114还可以向交互装置210发送中间聚类结果(步骤707)。交互装置210接收聚类装置114发送的中间聚类结果(步骤708)。交互装置210呈现中间聚类结果(步骤709)。从而,使用户可以直观地看到利用第一聚类算法的参数的中间值对第二待聚类数据进行聚类后的中间聚类结果,以便于用户直观地比较第一聚类算法的参数的不同取值对聚类结果的影响。
[0106]
示例的,如图8所示,为本实施例提供的一种基于顾客位置分布进行商业选址的中间聚类结果示意图。聚类装置114通过调整第一聚类算法的参数的值后,预测位置也随之变化,但是,调整第一聚类算法的参数的值后,图8中的(a)和图8中的(b)所示的预测位置均不在顾客位置分布区域内的中心,因此,调整后第一聚类算法的参数的中间值并不是最优的配置。
[0107]
可以理解的是,为了实现上述实施例中的功能,计算设备包括了执行各个功能相
应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术中所公开的实施例描述的各示例的单元及方法步骤,本技术能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
[0108]
上文中结合图1至图8,详细描述了根据本实施例所提供的聚类方法,下面将结合图9至图10,描述根据本实施例所提供的聚类装置和计算设备。
[0109]
图9为本实施例提供的可能的聚类装置的结构示意图。这些聚类装置可以用于实现上述方法实施例中聚类装置的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该聚类装置可以是如图1或图3所示的聚类装置114,还可以是应用于服务器的模块(如芯片)。
[0110]
如图9所示,聚类装置900包括通信模块910、算法自适应模块920、参数自适应模块930、聚类模块940和存储模块950。聚类装置900用于实现上述图4或图7中所示的方法实施例中聚类装置114的功能。
[0111]
当聚类装置900用于实现图4所示的方法实施例中聚类装置114的功能时:通信模块910用于实现步骤402、步骤406的功能;算法自适应模块920用于实现步骤404的功能;聚类模块940用于实现步骤405的功能;存储模块950用于存储预先配置的聚类算法。
[0112]
当聚类装置900用于实现图7所示的方法实施例中聚类装置114的功能时:通信模块910用于实现步骤402、步骤406的功能和步骤707的功能;算法自适应模块920用于实现步骤404的功能;参数自适应模块930用于实现步骤702、步骤704的功能、步骤705的功能和步骤706的功能;聚类模块940用于实现步骤405a的功能、步骤701的功能和步骤703的功能;存储模块950用于存储预先配置的聚类算法。
[0113]
可选的,聚类装置900还可以包括预处理模块960,预处理模块960用于对原始数据进行预处理,得到预处理后数据(如:第一待聚类数据和第二待聚类数据)。例如,预处理模块960用于实现步骤403的功能。
[0114]
应理解的是,本技术实施例的聚类装置900可以通过专用集成电路(application-specific integrated circuit,asic)实现,或可编程逻辑器件(programmable logic device,pld)实现,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。也可以通过软件实现图4或图7所示的聚类方法时,聚类装置900及其各个模块也可以为软件模块。
[0115]
有关上述通信模块910、算法自适应模块920、参数自适应模块930、聚类模块940、存储模块950和预处理模块960更详细的描述可以直接参考图4或图7所示的方法实施例中相关描述直接得到,这里不加赘述。
[0116]
图10为本实施例提供的一种计算设备1000的结构示意图。如图所示,计算设备1000包括处理器1010、总线1020、存储器1030通信接口1040。
[0117]
应理解,在本实施例中,处理器1010可以是中央处理器(central processing unit,cpu),该处理器1010还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立
门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
[0118]
处理器还可以是图形处理器(graphics processing unit,gpu)、神经网络处理器(neural network processing unit,npu)、微处理器、特定应用集成电路(application-specific integrated circuit,asic)、或一个或多个用于控制本技术方案程序执行的集成电路。
[0119]
通信接口1040用于实现计算设备1000与外部设备或器件的通信。在本实施例中,通信接口1040用于接收待聚类数据。
[0120]
总线1020可以包括一通路,用于在上述组件(如处理器1010和存储器1030)之间传送信息。总线1020除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1020。
[0121]
作为一个示例,计算设备1000可以包括多个处理器。处理器可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。处理器1010可以调用存储器1030存储的多个聚类算法分别对待聚类数据进行聚类,得到多个聚类结果,依据多个聚类结果的评估结果选择一个第一聚类算法,利用第一聚类算法对待聚类数据进行聚类,得到聚类结果。
[0122]
值得说明的是,图10中仅以计算设备1000包括1个处理器1010和1个存储器1030为例,此处,处理器1010和存储器1030分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
[0123]
存储器1030可以对应上述方法实施例中用于存储聚类算法的存储介质,例如,磁盘,如机械硬盘或固态硬盘。
[0124]
上述计算设备1000可以是一个通用设备或者是一个专用设备。例如,计算设备1000可以是基于x86、arm的服务器,也可以为其他的专用服务器,如策略控制和计费(policy control and charging,pcc)服务器等。本技术实施例不限定计算设备1000的类型。
[0125]
应理解,根据本实施例的计算设备1000可对应于本实施例中的聚类装置900,并可以对应于执行根据图4和图7中任一方法中的相应主体,并且聚类装置900中的各个模块的上述和其它操作和/或功能分别为了实现图4和图7中的各个方法的相应流程,为了简洁,在此不再赘述。
[0126]
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
[0127]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。
[0128]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献