一种基于大规模样本的聚类结果评价方法及装置
技术领域
本申请实施例涉及数据聚类技术领域,尤其涉及一种基于大规模样本的聚类结果评价方法及装置。
背景技术
聚类是数据挖掘的一种方法。在图像处理技术领域中,图像聚类是基于图像特征将多幅图像分成由类似的图像组成的多个类的过程。图像聚类在图像分割、目标跟踪等领域具有重要的作用。而由于在很多聚类场景中,聚类过程可能会出现误差,将本不属于同一类的图像归为同一个图像簇,则该图像簇的中心会发生偏移,使得后续的聚类结果越来越不准确。因此需要评价聚类结果的准确程度,以及时修正错误的图像聚类结果。
目前,在进行聚类结果评估时,通常采用轮廓系数(Silhouette Coefficient)进行聚类结果的评价。同其他聚类评估指标相比,轮廓系数不需要事先获取到样本真实标签,因此对于样本真实未知的聚类任务,轮廓系数是一种较佳的选择。但是,在使用轮廓系数对大规模样本的聚类结果进行评价时,由于待评估样本数量相对较大,导致基于轮廓系数的聚类结果评价的计算复杂度偏高,聚类结果评价生成效率相对较低。
发明内容
本申请实施例提供一种基于大规模样本的聚类结果评价方法、装置、电子设备及存储介质,能够降低聚类结果评价计算的复杂度,保障聚类结果评价生成效率。
在第一方面,本申请实施例提供了一种基于大规模样本的聚类结果评价方法,包括:
获取聚类结果,从所述聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类;
对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于所述抽样样本组成第二抽样类;
根据所述第二抽样类计算轮廓系数,获取对应的聚类结果评价。
进一步的,对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,包括:
计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,并从对应的两个样本中选取一个样本作为候选样本;
计算对应类中各个样本与所述候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的样本序列;
按设定的相似度距离间隔从所述样本序列中抽取第二设定数量个样本作为抽样样本。
进一步的,对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,包括:
计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,作为第一候选样本和第二候选样本;
计算对应中各个样本与所述第一候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的第一样本序列,计算对应类中各个样本与所述第二候选样本的第三相似度距离,并基于所述第三相似度距离对各个样本进行排序,得到对应的第二样本序列;
基于第二设定数量并按设定的相似度距离间隔分别从所述第一样本序列和所述第二样本序列中抽取样本作为抽样样本。
进一步的,从所述聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类,还包括:
若所述聚类结果的所有类的数量小于所述第一设定数量,以所述聚类结果的所有类作为第一抽样类。
进一步的,对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,还包括:
若所述第一抽样类中对应类的样本数量小于所述第二设定数量,以对应类的所有样本作为抽样样本。
进一步的,根据所述第二抽样类计算轮廓系数,获取对应的聚类结果评价,包括:
逐一提取所述第二抽样类中的各个抽样样本进行轮廓系数计算,得到对应的第一轮廓系数;
基于各个所述第一轮廓系数求平均值,得到对应的第二轮廓系数,以所述第二轮廓系数作为聚类结果评价。
进一步的,在基于各个所述第一轮廓系数求平均值,得到对应的第二轮廓系数,以所述第二轮廓系数作为聚类结果评价之后,还包括:
将所述第二轮廓系数比对预设的系数范围,若所述第二轮廓系数处于所述系数范围内,判定所述聚类结果合理,若所述第二轮廓系数超出所述系数范围,更新聚类参数以基于更新后的聚类参数进行样本聚类。
在第二方面,本申请实施例提供了一种基于大规模样本的聚类结果评价装置,包括:
第一抽取模块,用于获取聚类结果,从所述聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类;
第二抽取模块,用于对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于所述抽样样本组成第二抽样类;
计算模块,用于根据所述第二抽样类计算轮廓系数,获取对应的聚类结果评价。
进一步的,所述第一抽取模块包括:
第一计算单元,用于计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
第一选取单元,用于从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,并从对应的两个样本中选取一个样本作为候选样本;
第一排序单元,用于计算对应类中各个样本与所述候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的样本序列;
第一抽样单元,用于按设定的相似度距离间隔从所述样本序列中抽取第二设定数量个样本作为抽样样本。
进一步的,所述第一抽取模块包括:
第二计算单元,用于计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
第二选取单元,用于从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,作为第一候选样本和第二候选样本;
第二排序单元,用于计算对应类中各个样本与所述第一候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的第一样本序列,计算对应类中各个样本与所述第二候选样本的第三相似度距离,并基于所述第三相似度距离对各个样本进行排序,得到对应的第二样本序列;
第二抽样单元,用于基于第二设定数量并按设定的相似度距离间隔分别从所述第一样本序列和所述第二样本序列中抽取样本作为抽样样本。
进一步的,所述计算模块包括:
提取单元,用于逐一提取所述第二抽样类中的各个抽样样本进行轮廓系数计算,得到对应的第一轮廓系数;
评价单元,用于基于各个所述第一轮廓系数求平均值,得到对应的第二轮廓系数,以所述第二轮廓系数作为聚类结果评价。
进一步的,还包括:
更新模块,用于在以所述第二轮廓系数作为聚类结果评价之后,将所述第二轮廓系数比对预设的系数范围,若所述第二轮廓系数处于所述系数范围内,判定所述聚类结果合理,若所述第二轮廓系数超出所述系数范围,更新聚类参数以基于更新后的聚类参数进行样本聚类。
在第三方面,本申请实施例提供了一种电子设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于大规模样本的聚类结果评价方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于大规模样本的聚类结果评价方法。
本申请实施例通过获取聚类结果,从聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类,对第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于抽样样本组成第二抽样类,最终根据第二抽样类计算轮廓系数,获取对应的聚类结果评价。采用上述技术手段,通过合理的样本抽样可以减少聚类结果的数据量,在保障抽样样本具备聚类结果的代表性的前提下,降低聚类结果评价计算的复杂度,进而提升聚类结果评价的生成效率。
附图说明
图1是本申请实施例一提供的一种基于大规模样本的聚类结果评价方法的流程图;
图2是本申请实施例一中的抽样样本抽取流程图;
图3是本申请实施例一中的另一种抽样样本抽取流程图;
图4是本申请实施例一中的轮廓系数计算流程图;
图5是本申请实施例二提供的一种基于大规模样本的聚类结果评价装置的机构示意图;
图6是本申请实施例三提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的基于大规模样本的聚类结果评价方法,旨在基于聚类结果计算轮廓系数得到聚类结果评价时,对聚类结果进行抽样处理,以减少聚类结果的数据量,进一步基于抽样样本进行轮廓系数计算,在保障聚类结果评价高相似性的情况下提升聚类结果评价指标的计算效率,使得轮廓系数可以适用于百万级大规模样本下进行聚类结果评价。相对于传统的聚类结果评价方式,其在评价数据聚类结果是否合理时,经常采用轮廓系数作为评估指标进行聚类结果评价。同其他聚类评估指标相比,轮廓系数不需要事先获取到样本真实标签,因此对于样本真实未知的聚类任务,轮廓系数是一种最佳的选择。然而,使用轮廓系数作为评估指标评价聚类结果是否合理时,其计算复杂度相对较高。若待评估样本数量为“n”,则需要进行“n2”次计算。这种评价方式在小样本聚类结果的评价时可以得到较好的效果,但在进行大规模数据聚类任务时,直接采取轮廓系数评价数据聚类结果的效率相对较低。基于此,提供本申请实施例的一种基于大规模样本的聚类结果评价方法,以解决现有大规模样本的聚类结果评价生成效率低下的技术问题。
实施例一:
图1给出了本申请实施例一提供的一种基于大规模样本的聚类结果评价方法的流程图,本实施例中提供的基于大规模样本的聚类结果评价方法可以由基于大规模样本的聚类结果评价设备执行,该基于大规模样本的聚类结果评价设备可以通过软件和/或硬件的方式实现,该基于大规模样本的聚类结果评价设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该基于大规模样本的聚类结果评价设备可以是电脑,服务器主机等计算设备。
下述以基于大规模样本的聚类结果评价设备为执行基于大规模样本的聚类结果评价方法的主体为例,进行描述。参照图1,该基于大规模样本的聚类结果评价方法具体包括:
S110、获取聚类结果,从所述聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类。
本申请实施例提供的基于大规模样本的聚类结果评价方法,可以应用于大规模图像、人脸及文本数据等样本的聚类结果评价。其基于数据样本的聚类结果,根据统计抽样技术和轮廓系数定义进行聚类结果评价。其中,使用统计抽样技术旨在对大规模的样本进行抽样,在保障抽样样本具备高代表性的前提下减少聚类结果的样本数量,进而减少聚类结果评价的计算量,提升聚类结果评价的生成效率。另一方面,使用轮廓系数旨在提供一个聚类结果的评价指标,通过该评价指标即可判断对应样本的聚类结果是否合理。其中,轮廓系数(Silhouette Coefficient)是聚类效果好坏的一种评价方式。它结合内聚度和分离度两种因素对聚类结果进行评估。可以在相同原始数据的基础上用来评价不同算法、或者算法不同运行方式对聚类结果所产生的影响。
具体的,在进行聚类结果评价时,首先获取基于大规模样本进行数据聚类后的聚类结果,该聚类结果中包含了多个类,每个类为一个样本集合,其包含了多个具备一定相似性的数据样本。基于获取到的聚类结果进行类抽样,从聚类结果中随机抽取N个类。定义N为第一设定数量,第一设定数量根据实际计算需求确定,本申请实施例的第一设定数量为100,即从聚类结果中抽取100个类。在一个实施例中,若所述聚类结果的所有类的数量小于所述第一设定数量,以所述聚类结果的所有类作为第一抽样类。本申请实施例中,如若聚类结果的类小于100个,则抽取聚类结果中的所有类。定义抽取到的类为第一抽样类。
在一个实施例中,进行类抽样确定第一抽样类时,首先从聚类结果中的各个类抽取一个样本作为代表样本,该代表样本可以是随机抽取的,也可以选取对应类中与其他样本的相似度距离平均值最小的样本作为代表样本。基于抽取到的代表样本,选择一个代表样本作为中心样本,计算中心样本与其他代表样本的相似度距离,并根据相似度距离由小到大进行排序,得到对应的代表样本序列。并进一步从代表样本序列中按照相似度距离间隔或者样本数量间隔抽取第一设定数量的代表样本(本申请实施为100),并将抽取到的100个代表样本所代表的类作为第一抽样类进行抽取。基于统计抽样技术抽取第一抽样类的方式有很多,在此不一一赘述。
S120、对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于所述抽样样本组成第二抽样类。
进一步的,在确定第一抽样类后,考虑到每一个类中的样本数量不同,存在部分类的样本数量过大的情况,如果只是简单地进行聚类结果的类抽样,第一抽样类的样本数量仍可能偏大,仍然会导致后续的聚类结果评价计算任务过于繁重。因此,本申请实施例基于上述步骤S110对聚类结果进行类抽样得到的第一抽样类,进一步进行样本抽样操作。其中,对应第一抽样类中的每一个类,均抽取M个样本作为抽样样本,定义M为第二设定数量。并且,若所述第一抽样类中对应类的样本数量小于所述第二设定数量,则以对应类的所有样本作为抽样样本。举例而言,M为100,对于第一抽样类中的每个类,先判断该类包含的样本数量是否大于100个。如果该类包含样本数量不足100个,则抽取所有样本。如果大于100个样本则基于设定的抽样规则对应抽取100个样本代表该类。
可以理解的是,本申请实施例采用抽样的方式减少聚类结果中的样本数量,以达到减少聚类结果评价计算量的效果。而为了保障抽样样本最终进行计算得到的轮廓系数能够与直接基于聚类结果的所有样本进行计算的轮廓系数存在高相似性,则需要在抽取样本时,确保抽取到的抽样样本具备一定的代表性,使其能够代表聚类结果的所有样本进行轮廓系数计算。
基于此,参照图2,提供本申请实施例的一种抽样样本抽取流程图,该抽样样本的抽取流程包括:
S1201、计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
S1202、从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,并从对应的两个样本中选取一个样本作为候选样本;
S1203、计算对应类中各个样本与所述候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的样本序列;
S1204、按设定的相似度距离间隔从所述样本序列中抽取第二设定数量个样本作为抽样样本。
具体的,在对第一抽样类进行样本抽取时,对第一抽样类中的每个类,都计算对应类中任意两个样本的相似度距离,定义该相似度距离为第一相似度距离,以此得到对应的第一相似度距离集合。以人脸图像为例,通过人脸图像上指示人脸特征的特征向量计算两个人脸图像(即两个样本)的相似度距离。可以采用多种特征提取方法对人脸图像进行特征提取。如采用边缘检测、角点检测、尺度不变特征变换(Scale Invariant FeatureTransform,SIFT)、主成分分析等算法提取出人脸图像的特征。也可以通过卷积神经网络获取人脸图像中每个人脸图像用于指示人脸特征的特征向量。可以预先通过大量的包含人脸的图像对卷积神经网络进行训练,使得训练后的卷积神经网络可以确定出具有区分度的人脸特征的特征向量。在通过卷积神经网络获取人脸图像中用于指示人脸特征的特征向量时,可以将人脸图像输入到卷积神经网络,将卷积神经网络的全连接层输出的特征向量,确定为用于指示人脸特征的特征向量。对应第一抽样类中各个类的人脸图像,均确定其人脸特征向量。基于一个类中各个人脸特征向量计算任两者的第一相似度距离,得到第一相似度距离集合。需要说明的是,在计算两个人脸特征的相似度距离时,可以采用余弦相似度表征两者的相似度距离。通过测量两个人脸特征向量的夹角的余弦值来度量它们之间的相似性。其中,0度角的余弦值是1,而其他任何角度的余弦值都不大于1,并且其最小值是-1。基于两个人脸特征向量之间的角度的余弦值可以确定两个人脸特征向量是否大致指向相同的方向。可以理解的是,两个人脸特征向量有相同的指向时,两个人脸图像最相似,余弦相似度的值为1;两个人脸特征向量夹角为90°时,余弦相似度的值为0;两个人脸特征向量指向完全相反的方向时,余弦相似度的值为-1。可以理解的是,余弦值越接近1,则表示两个人脸特征向量对应的人脸图像越相似,反之,余弦值越接近-1,则表示两个人脸特征向量对应的人脸图像越不相似。进一步的,基于已确定的两个人脸特征向量的余弦值,将其转换为对应的相似度距离值。其中相似度距离取值[0,1],相似度距离越短,则两个人脸图像越相似,其人脸特征向量的余弦值越趋向于1。相似度距离越长,则两个人脸图像越不相似,其人脸特征向量的余弦值越趋向于-1。最终,基于余弦值换算确定第一抽样类的各个类中任意两个样本的第一相似度距离,得到第一相似度距离集合。
更进一步的,从各个类对应的第一相似度距离集合中,提取第一相似度距离最大的两个样本,该两个样本即为对应类中最不相似的两个样本。以该两个样本中的一个样本作为候选样本,计算对应类中候选样本与其他样本的相似度距离,定义这一相似度距离为第二相似度距离。将计算得到的第二相似度距离从小到大或者从大到小排序得到对应的样本序列。该样本序列中,各个样本与候选样本从最相似到最不相似或者从最不相似到最相似进行排序。
基于上述样本序列,按照设定相似度距离间隔依序进行样本抽取,得到第二设定数量个抽样样本,该抽样样本作为第一抽样类中各个类的样本的代表,组成第二抽样类,以这些抽样样本进一步进行轮廓系数计算。需要说明的是,在对样本序列进行样本抽取时,不简单按照样本排序进行一定样本数量间隔抽取。而是根据样本的设定相似度距离间隔进行样本抽取。举例而言,样本序列中包括1000个样本,需要从中抽取100个样本作为抽样样本。由于相似度距离取值[0,1],则样本序列各个样本与候选样本的相似度距离取值为[0,1]。根据相似度距离,按照0.01的相似度距离间隔进行样本抽取。如若第一个抽取的样本与候选样本的相似度距离为0.01,则下一个抽取的样本与候选样本的相似度距离应当为0.02,以此类推,直至最后抽取与候选样本的相似度距离为1所对应的样本,完成样本序列抽取,得到对应的抽样样本。可以理解的是,不同于单纯的采用样本序号均匀间隔抽取的方式,采用设定相似度距离间隔抽取样本的方式,可以保障抽样样本与候选样本的相似度从最不相似趋向最相似均匀分布,保障抽取到的样本更具代表性。并且,如若样本序列中与候选样本相似度距离最远的值为0.5,即样本序列各个样本与候选样本的相似度距离取值为[0,0.5],则根据抽样需求,按照0.005的相似度距离间隔进行样本抽取,以从中抽取100个样本作为抽样样本。
此外,在上述抽样样本抽取方法的基础上,提供另一种抽样样本的抽取流程,参照图3,该抽样样本的抽取流程包括:
S1205、计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
S1206、从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,作为第一候选样本和第二候选样本;
S1207、计算对应类中各个样本与所述第一候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的第一样本序列,计算对应类中各个样本与所述第二候选样本的第三相似度距离,并基于所述第三相似度距离对各个样本进行排序,得到对应的第二样本序列;
S1208、基于第二设定数量并按设定的相似度距离间隔分别从所述第一样本序列和所述第二样本序列中抽取样本作为抽样样本。
不同于上述步骤S1201-S1204,本申请实施例在确定第一相似度距离集合中第一相似度距离最大的两个样本后,分别以该两个样本作为第一候选样本和第二候选样本,并分别计算对应的第一抽样类中各个样本与第一候选样本的相似度距离,并基于相似度距离进行排序,确定第一样本序列。同理,计算对应的第一抽样类中各个样本与第二候选样本的第三相似度距离,并基于第三相似度距离对各个样本进行排序,得到对应的第二样本序列。
进一步根据已确定的第一样本序列和第二样本序列,分别按照上述样本抽样方式,基于第二设定数量并按设定的相似度距离间隔分别从第一样本序列和第二样本序列中抽取样本作为抽样样本。需要说明的是,由于分别从第一样本序列和第二样本序列中抽取样本,因此抽样样本中一半的样本来源于第一样本序列,另一半来源于第二样本序列。举例而言,需要抽取100个样本作为抽样样本。其中,第一样本序列中包括1000个样本,需要从中抽取50个样本作为抽样样本。由于相似度距离取值[0,1],则第一样本序列各个样本与候选样本的相似度距离取值为[0,1]。根据相似度距离,按照0.02的相似度距离间隔进行样本抽取。如若第一个抽取的样本与候选样本的相似度距离为0.02,则下一个抽取的样本与候选样本的相似度距离应当为0.04,以此类推,直至最后抽取与候选样本的相似度距离为1所对应的样本,得到50个样本。同样的,依据相同的抽样方式,按照0.02的相似度距离间隔进行第二样本序列的样本抽取,得到50个样本,以此即可完成100个样本的抽取,得到该抽样样本。
S130、根据所述第二抽样类计算轮廓系数,获取对应的聚类结果评价。
最终,参照上述方式确定第二抽样类的抽样样本,即可对应进行聚类结果评价计算。其中,使用轮廓系数作为聚类结果的评价指标。轮廓系数分别从内聚度和分离度两方面对聚类效果进行评估。对于抽样样本中的第i个对象,计算它与所属类中所有其他对象的平均相似度距离,记为ai(体现内聚度);计算它与不包含该第i个对象的任意类中所有其他对象的平均相似度距离,记为bi(体现分离度)。则第i个对象的轮廓系数为:
其中,si接近1,则说明样本i聚类合理,si接近-1,则说明样本i更应该分类到另外的类,若si近似为0,则说明样本i在两个类的边界上。参照上述方式,即可计算得到抽样样本中各个样本的轮廓系数,进而以这些轮廓系数的值作为对应样本的聚类结果评价。
进一步的,参照图4,提供轮廓系数计算流程图,该轮廓系数计算流程包括:
S1301、逐一提取所述第二抽样类中的各个抽样样本进行轮廓系数计算,得到对应的第一轮廓系数;
S1302、基于各个所述第一轮廓系数求平均值,得到对应的第二轮廓系数,以所述第二轮廓系数作为聚类结果评价。
具体的,对应各个抽样样本的轮廓系数计算,得到的轮廓系数定义为第一轮廓系数。可以理解的是,每一个抽样样本均对应有一个表征其聚类结果指标的第一轮廓系数,这一第一轮廓系数仅表示对应抽样样本的聚类结果评价。而为了评价整个聚类结果,则本申请实施例进一步根据第一轮廓系数求取平均值,该平均值定义为第二轮廓系数,以第二轮廓系数作为整个聚类结果的评价指标。可以理解的是,第二轮廓系数越接近1,则说明整个聚类结果越合理。第二轮廓系数越接近-1,则说明整个聚类结果越不合理。以此即可完成整个聚类结果的评价计算。
此外,在一个实施例中,还进一步将所述第二轮廓系数比对预设的系数范围,若所述第二轮廓系数处于所述系数范围内,判定所述聚类结果合理,若所述第二轮廓系数超出所述系数范围,更新聚类参数以基于更新后的聚类参数进行样本聚类。举例而言,算法预先确定表征聚类结果合理的系数范围,该系数范围为[0.6,1]。则基于上述步骤S1301~S1302求得的第二轮廓系数,将其与系数范围进行比对,若第二轮廓系数取值在[0.6,1]区间内,则判定聚类合理,反之则判定不合理。系数范围根据实际需要可适应性进行设置,本申请不做固定限制。可以理解的是,为了保障后续数据聚类结果的合理性,对于判定为聚类不合理的情况,可适应性地对聚类参数进行调整,并以更新后的聚类参数进行大规模样本的数据聚类,以避免后续的数据聚类结果频繁出现不合理的现象。
在一个实施例中,还可以基于上述计算得到的第一轮廓系数,比对预设的系数范围,判断各个样本是否聚类合理。对应判定为聚类不合理的样本,可调整聚类参数对其进行重新聚类,以将该样本归类至更相似的类中。以此可使得最终呈现出的聚类结果更合理。
上述,通过获取聚类结果,从聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类,对第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于抽样样本组成第二抽样类,最终根据第二抽样类计算轮廓系数,获取对应的聚类结果评价。采用上述技术手段,通过合理的样本抽样可以减少聚类结果的数据量,在保障抽样样本具备聚类结果的代表性的前提下,降低聚类结果评价计算的复杂度,进而提升聚类结果评价的生成效率。根据实验仿真结果表明,本申请实施例可以解决在大规模聚类场景下使用轮廓系数评估计算效率低下的问题,对于百万级样本以上的聚类任务,使用本申请实施例基于大规模样本的聚类结果评价方法,基于类里面样本之间的相似度聚类,抽取对应数量的代表样本来代表当前类样本的分布,具有较好的统计意义,使用该方法与标准的轮廓系数计算方法的相似性达到97%以上。
实施例二:
在上述实施例的基础上,图5为本申请实施例二提供的一种基于大规模样本的聚类结果评价装置的结构示意图。参考图5,本实施例提供的基于大规模样本的聚类结果评价装置具体包括:第一抽取模块21、第二抽取模块22和计算模块23。
其中,第一抽取模块21用于获取聚类结果,从所述聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类;
第二抽取模块22用于对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于所述抽样样本组成第二抽样类;
计算模块23用于根据所述第二抽样类计算轮廓系数,获取对应的聚类结果评价。
上述,通过获取聚类结果,从聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类,对第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于抽样样本组成第二抽样类,最终根据第二抽样类计算轮廓系数,获取对应的聚类结果评价。采用上述技术手段,通过合理的样本抽样可以减少聚类结果的数据量,在保障抽样样本具备聚类结果的代表性的前提下,降低聚类结果评价计算的复杂度,进而提升聚类结果评价的生成效率。
具体的,所述第一抽取模块21包括:
第一计算单元,用于计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
第一选取单元,用于从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,并从对应的两个样本中选取一个样本作为候选样本;
第一排序单元,用于计算对应类中各个样本与所述候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的样本序列;
第一抽样单元,用于按设定的相似度距离间隔从所述样本序列中抽取第二设定数量个样本作为抽样样本。
进一步的,所述第一抽取模块21还包括:
第二计算单元,用于计算所述第一抽样类中每个类任意两个样本的第一相似度距离,生成第一相似度距离集合;
第二选取单元,用于从所述第一相似度距离集合中选取每个类中所述第一相似度距离最大的两个样本,作为第一候选样本和第二候选样本;
第二排序单元,用于计算对应类中各个样本与所述第一候选样本的第二相似度距离,并基于所述第二相似度距离对各个样本进行排序,得到对应的第一样本序列,计算对应类中各个样本与所述第二候选样本的第三相似度距离,并基于所述第三相似度距离对各个样本进行排序,得到对应的第二样本序列;
第二抽样单元,用于基于第二设定数量并按设定的相似度距离间隔分别从所述第一样本序列和所述第二样本序列中抽取样本作为抽样样本。
进一步的,所述计算模块23包括:
提取单元,用于逐一提取所述第二抽样类中的各个抽样样本进行轮廓系数计算,得到对应的第一轮廓系数;
评价单元,用于基于各个所述第一轮廓系数求平均值,得到对应的第二轮廓系数,以所述第二轮廓系数作为聚类结果评价。
进一步的,还包括:
更新模块,用于在以所述第二轮廓系数作为聚类结果评价之后,将所述第二轮廓系数比对预设的系数范围,若所述第二轮廓系数处于所述系数范围内,判定所述聚类结果合理,若所述第二轮廓系数超出所述系数范围,更新聚类参数以基于更新后的聚类参数进行样本聚类。
本申请实施例二提供的基于大规模样本的聚类结果评价装置可以用于执行上述实施例一提供的基于大规模样本的聚类结果评价方法,具备相应的功能和有益效果。
实施例三:
本申请实施例三提供了一种电子设备,参照图6,该电子设备包括:处理器31、存储器32、通信模块33、输入装置34及输出装置35。该电子设备中处理器的数量可以是一个或者多个,该电子设备中的存储器的数量可以是一个或者多个。该电子设备的处理器、存储器、通信模块、输入装置及输出装置可以通过总线或者其他方式连接。
存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的基于大规模样本的聚类结果评价方法对应的程序指令/模块(例如,基于大规模样本的聚类结果评价装置中的第一抽取模块、第二抽取模块和计算模块)。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块33用于进行数据传输。
处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于大规模样本的聚类结果评价方法。
输入装置34可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。
上述提供的电子设备可用于执行上述实施例一提供的基于大规模样本的聚类结果评价方法,具备相应的功能和有益效果。
实施例四:
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于大规模样本的聚类结果评价方法,该基于大规模样本的聚类结果评价方法包括:获取聚类结果,从所述聚类结果的所有类中随机抽取第一设定数量个类,作为第一抽样类;对所述第一抽样类的每个类按照设定抽样规则抽取第二设定数量个样本作为抽样样本,基于所述抽样样本组成第二抽样类;根据所述第二抽样类计算轮廓系数,获取对应的聚类结果评价。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到第一计算机***。第二计算机***可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于大规模样本的聚类结果评价方法,还可以执行本申请任意实施例所提供的基于大规模样本的聚类结果评价方法中的相关操作。
上述实施例中提供的基于大规模样本的聚类结果评价装置、存储介质及电子设备可执行本申请任意实施例所提供的基于大规模样本的聚类结果评价方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于大规模样本的聚类结果评价方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。