数据处理方法及装置、处理器、电子设备、存储介质与流程

文档序号:21783332发布日期:2020-08-07 20:17阅读:162来源:国知局
数据处理方法及装置、处理器、电子设备、存储介质与流程

本申请涉及计算机技术领域,尤其涉及一种数据处理方法及装置、处理器、电子设备、存储介质。



背景技术:

聚类处理是数据挖掘和机器学习等领域的关键技术之一。聚类处理通过将数据集中的相似数据划分至同一类簇,将不相似的数据划分至不同的类簇。目前的聚类处理技术主要包括划分聚类、合并聚类、基于密度聚类、网格聚类、谱聚类等几种。合并聚类因其概念简单、易于解释、聚类结果层次化和结构化明显等特点被广泛应用于各种领域。但传统合并聚类方法的合并准确度低。



技术实现要素:

本申请提供一种数据处理方法及装置、处理器、电子设备、存储介质。

第一方面,提供了一种数据处理方法,所述方法包括:

获取待处理数据集和聚类神经网络,其中,所述聚类神经网络以簇对的纯度为监督信息训练获得,所述簇对的纯度依据第一类别的纯度和第二类别的纯度得到,所述第一类别用于表示所述簇对中的第一簇中包含数据数量最多的类别,所述第二类别是指所述簇对中包含数据数量最多的类别;

使用所述聚类神经网络对所述待处理数据集进行处理,得到所述待处理数据集的聚类结果。

在该方面中,依据合并纯度和簇对中至少一个簇的纯度得到簇对的纯度,可在确定簇对的纯度过程中,不仅考虑簇对中包含数据的数量最多的类别的纯度,而且考虑簇对中至少一个簇的纯度,进而可降低误合并发生的概率,从而提高合并准确度。

结合本申请任一实施方式,所述以簇对的纯度为监督信息训练获得所述聚类神经网络,包括:

获取待训练神经网络、第一待训练簇对和第二待训练簇对;

经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到先合并所述第一待训练簇对的第一概率;

依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率;

依据所述第一概率和所述第二概率的差异,得到所述待训练神经网络的损失;

基于所述损失调整所述待训练神经网络的参数,得到所述聚类神经网络。

结合本申请任一实施方式,所述第一待训练簇对还包括第二簇,所述第二待训练簇对包括第三簇,在所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率之前,所述方法还包括:

依据所述第一待训练簇对中的数据的标注数据,确定所述第一待训练簇对中至少一个类别包含的数据的数量,作为第一数量集;

依据所述第二待训练簇对中的数据的标注数据,确定所述第二待训练簇对中至少一个类别包含的数据的数量,作为第二数量集,其中,所述标注数据携带数据的类别信息;

依据所述第一数量集中的最大值与所述第一待训练簇对中包含的数据的数量,得到第三纯度,依据所述第二数量集中的最大值与所述第二待训练簇对中包含的数据的数量,得到第四纯度,其中,所述第三纯度用于表征所述第一待训练簇对中包含数据的数量最多的类别的纯度,所述第四纯度用于表征所述第二待训练簇对中包含数据的数量最多的类别的纯度;

确定所述第二簇中包含数据的数量最多的类别的纯度得到第五纯度,确定所述第三簇中包含数据的数量最多的类别的纯度得到第六纯度;

依据所述第三纯度和所述第五纯度得到所述第一纯度,依据所述第四纯度和所述第六纯度得到所述第二纯度。

结合本申请任一实施方式,所述依据所述第一数量集中的最大值与所述第一待训练簇对中的数据的数量,得到第三纯度,依据所述第二数量集中的最大值与所述第二待训练簇对中的数据的数量,得到第四纯度,包括:

将所述第一数量集中的最大值与所述第一待训练簇对中的数据的数量的比值作为所述第三纯度;

将所述第二数量集中的最大值与所述第二待训练簇对中的数据的数量的比值作为所述第四纯度。

结合本申请任一实施方式,所述第一待训练簇对包括第二簇,所述第二待训练簇对包括第三簇,在所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率之前,所述方法还包括:

依据所述第一待训练簇对中的数据的标注数据,确定所述第一待训练簇对中每个类别包含的数据的数量,作为第三数量集,依据所述第二待训练簇对中的数据的标注数据,确定所述第二待训练簇对中每个类别包含的数据的数量,作为第四数量集,其中,所述标注数据携带数据的类别信息;

依据所述第三数量集中的元素和所述第一待训练簇对中的数据的数量,得到第七纯度,依据所述第四数量集中的元素和所述第一待训练簇对中的数据的数量,得到第八纯度,其中,所述第七纯度用于表征所述第一待训练簇对中包含数据的数量最多的类别的纯度,所述第八纯度用于表征所述第二待训练簇对中包含数据的数量最多的类别的纯度;

确定所述第二簇中包含数据数量最多的类别的纯度得到第五纯度,确定所述第三簇中包含数据数量最多的类别的纯度得到第六纯度;

依据所述第五纯度和所述第七纯度得到所述第一纯度,依据所述第六纯度和所述第八纯度得到所述第二纯度。

结合本申请任一实施方式,所述依据所述第三数量集中的元素和所述第一待训练簇对中的数据的数量,得到所述第七纯度,依据所述第四数量集中的元素和所述第一待训练簇对中的数据的数量,得到所述第八纯度,包括:

确定所述第三数量集中包含的元素的平方和,得到第一中间数,确定所述第四数量集中包含的元素的平方和,得到第二中间数;

确定所述第一待训练簇对中包含的数据的数量的平方,得到第三中间数,确定所述第二待训练簇对中包含的数据的数量的平方,得到第四中间数;

将所述第一中间数与所述第三中间数的比值作为所述第七纯度,将所述第二中间数与所述第四中间数的比值作为所述第八纯度。

结合本申请任一实施方式,所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第四概率,包括:

在所述第一纯度大于所述第二纯度的情况下,确定所述第四概率为第一值;

在所述第一纯度等于所述第二纯度的情况下,确定所述第四概率为第二值;

在所述第一纯度小于所述第二纯度的情况下,确定所述第四概率为第三值;

所述第一值大于所述第二值,所述第二值大于所述第三值。

结合本申请任一实施方式,所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率,包括:

确定所述第一纯度与所述第二纯度的差,得到第四值;

在所述第四值处于第一取值范围内的情况下,确定所述第二概率为第五值;

在所述第四值处于第二取值范围内的情况下,确定所述第二概率为第六值;所述第五值与所述第六值不同;所述第一取值范围与所述第二取值范围之间无交集。

结合本申请任一实施方式,所述经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到先合并所述第一待训练簇对的第一概率,包括:

经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到第三概率和第四概率,其中,所述第三概率与合并所述第一待训练簇对得到的合并结果的准确度呈正相关,所述第四概率与合并所述第二待训练簇对得到的合并结果的准确度呈正相关;

依据所述第三概率和所述第四概率得到所述第一概率。

第二方面,提供了一种数据处理装置,所述装置包括:

获取单元,用于获取待处理数据集和聚类神经网络,其中,所述聚类神经网络以簇对的纯度为监督信息训练获得,所述簇对的纯度依据第一类别的纯度和第二类别的纯度得到,所述第一类别用于表示所述簇对中的第一簇中包含数据数量最多的类别,所述第二类别是指所述簇对中包含数据数量最多的类别;

处理单元,用于使用所述聚类神经网络对所述待处理数据集进行处理,得到所述待处理数据集的聚类结果。

结合本申请任一实施方式,所述以簇对的纯度为监督信息训练获得所述聚类神经网络,包括:

获取待训练神经网络、第一待训练簇对和第二待训练簇对;

经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到先合并所述第一待训练簇对的第一概率;

依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率;

依据所述第一概率和所述第二概率的差异,得到所述待训练神经网络的损失;

基于所述损失调整所述待训练神经网络的参数,得到所述聚类神经网络。

结合本申请任一实施方式,所述第一待训练簇对还包括第二簇,所述第二待训练簇对包括第三簇,在所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率之前,所述方法还包括:

依据所述第一待训练簇对中的数据的标注数据,确定所述第一待训练簇对中至少一个类别包含的数据的数量,作为第一数量集;

依据所述第二待训练簇对中的数据的标注数据,确定所述第二待训练簇对中至少一个类别包含的数据的数量,作为第二数量集,其中,所述标注数据携带数据的类别信息;

依据所述第一数量集中的最大值与所述第一待训练簇对中包含的数据的数量,得到第三纯度,依据所述第二数量集中的最大值与所述第二待训练簇对中包含的数据的数量,得到第四纯度,其中,所述第三纯度用于表征所述第一待训练簇对中包含数据的数量最多的类别的纯度,所述第四纯度用于表征所述第二待训练簇对中包含数据的数量最多的类别的纯度;

确定所述第二簇中包含数据的数量最多的类别的纯度得到第五纯度,确定所述第三簇中包含数据的数量最多的类别的纯度得到第六纯度;

依据所述第三纯度和所述第五纯度得到所述第一纯度,依据所述第四纯度和所述第六纯度得到所述第二纯度。

结合本申请任一实施方式,所述依据所述第一数量集中的最大值与所述第一待训练簇对中的数据的数量,得到第三纯度,依据所述第二数量集中的最大值与所述第二待训练簇对中的数据的数量,得到第四纯度,包括:

将所述第一数量集中的最大值与所述第一待训练簇对中的数据的数量的比值作为所述第三纯度;

将所述第二数量集中的最大值与所述第二待训练簇对中的数据的数量的比值作为所述第四纯度。

结合本申请任一实施方式,所述第一待训练簇对包括第二簇,所述第二待训练簇对包括第三簇,在所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率之前,所述方法还包括:

依据所述第一待训练簇对中的数据的标注数据,确定所述第一待训练簇对中每个类别包含的数据的数量,作为第三数量集,依据所述第二待训练簇对中的数据的标注数据,确定所述第二待训练簇对中每个类别包含的数据的数量,作为第四数量集,其中,所述标注数据携带数据的类别信息;

依据所述第三数量集中的元素和所述第一待训练簇对中的数据的数量,得到第七纯度,依据所述第四数量集中的元素和所述第一待训练簇对中的数据的数量,得到第八纯度,其中,所述第七纯度用于表征所述第一待训练簇对中包含数据的数量最多的类别的纯度,所述第八纯度用于表征所述第二待训练簇对中包含数据的数量最多的类别的纯度;

确定所述第二簇中包含数据数量最多的类别的纯度得到第五纯度,确定所述第三簇中包含数据数量最多的类别的纯度得到第六纯度;

依据所述第五纯度和所述第七纯度得到所述第一纯度,依据所述第六纯度和所述第八纯度得到所述第二纯度。

结合本申请任一实施方式,所述依据所述第三数量集中的元素和所述第一待训练簇对中的数据的数量,得到所述第七纯度,依据所述第四数量集中的元素和所述第一待训练簇对中的数据的数量,得到所述第八纯度,包括:

确定所述第三数量集中包含的元素的平方和,得到第一中间数,确定所述第四数量集中包含的元素的平方和,得到第二中间数;

确定所述第一待训练簇对中包含的数据的数量的平方,得到第三中间数,确定所述第二待训练簇对中包含的数据的数量的平方,得到第四中间数;

将所述第一中间数与所述第三中间数的比值作为所述第七纯度,将所述第二中间数与所述第四中间数的比值作为所述第八纯度。

结合本申请任一实施方式,所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第四概率,包括:

在所述第一纯度大于所述第二纯度的情况下,确定所述第四概率为第一值;

在所述第一纯度等于所述第二纯度的情况下,确定所述第四概率为第二值;

在所述第一纯度小于所述第二纯度的情况下,确定所述第四概率为第三值;

所述第一值大于所述第二值,所述第二值大于所述第三值。

结合本申请任一实施方式,所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率,包括:

确定所述第一纯度与所述第二纯度的差,得到第四值;

在所述第四值处于第一取值范围内的情况下,确定所述第二概率为第五值;

在所述第四值处于第二取值范围内的情况下,确定所述第二概率为第六值;所述第五值与所述第六值不同;所述第一取值范围与所述第二取值范围之间无交集。

结合本申请任一实施方式,所述经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到先合并所述第一待训练簇对的第一概率,包括:

经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到第三概率和第四概率,其中,所述第三概率与合并所述第一待训练簇对得到的合并结果的准确度呈正相关,所述第四概率与合并所述第二待训练簇对得到的合并结果的准确度呈正相关;

依据所述第三概率和所述第四概率得到所述第一概率。

第三方面,提供了一种处理器,所述处理器用于执行如上述第一方面及其任意一种可能实现的方式的方法。

第四方面,提供了一种电子设备,包括:处理器、发送装置、输入装置、输出装置和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如上述第一方面及其任意一种可能实现的方式的方法。

第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被电子设备的处理器执行时,使所述处理器执行如上述第一方面及其任意一种可能实现的方式的方法。

第六方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行上述第一方面及其任一种可能的实现方式的方法。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。

图1为本申请实施例提供的一种数据处理方法的流程示意图;

图2为本申请实施例提供的一种神经网络训练方法的流程示意图;

图3为本申请实施例提供的另一种数据处理方法的流程示意图;

图4为本申请实施例提供的另一种确定第一纯度和第二纯度的方法的流程示意图;

图5为本申请实施例提供的另一种确定第一纯度和第二纯度的方法的流程示意图;

图6为本申请实施例提供的一种数据处理装置的结构示意图;

图7为本申请实施例提供的一种数据处理装置的硬件结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为表述方便,下文将用[a,b]表示大于或等于a且小于或等于b的取值区间,用(c,d]表示大于c且小于或等于d的取值区间,用[e,f)表示大于或等于e且小于f的取值区间。

聚类处理是数据挖掘和机器学习等领域的关键技术之一。聚类处理指通过将相似的待聚类数据划分至同一个簇,将不相似的待聚类数据划分至不同的簇。依据合并条件合并簇对(一个簇对包括至少两个簇)得到新的簇,直到不存在满足合并条件的簇对,停止合并簇对,并依据待聚类数据中的簇得到聚类结果。

例如,假设合并条件为:在簇对中包含数据的数量最多的类别的纯度超过合并阈值的情况下合并簇对;在簇对中包含数据的数量最多的类别的纯度未超过合并阈值的情况下不合并簇对;在包含数据的数量最多的类别的纯度超过合并阈值的簇对的数量超过1的情况下,合并包含数据的数量最多的类别的纯度最高的簇对。

待聚类数据包括:数据a、数据b、数据c、数据d、数据e、数据f、数据g。依据数据之间的相似度,将数据a、数据c、数据d划分至簇1,将数据b、数据e划分至簇2,将数据f、数据g划分至簇3。簇对1包括簇1和簇2,簇对2包括簇1和簇3,簇对3包括簇2和簇3。假设簇对1中包含数据的数量最多的类别的纯度超过合并阈值,簇对2中包含数据的数量最多的类别的纯度超过合并阈值,簇对3中包含数据的数量最多的类别的纯度未超过合并阈值。且簇对1中包含数据的数量最多的类别的纯度大于簇对2中包含数据的数量最多的类别的纯度。执行将簇对1合并的操作,即将簇1和簇2合并得到簇4,其中,簇4包括:数据a、数据b、数据c、数据d、数据e。此时,待聚类数据包括簇3和簇4。

假设包括簇3和簇4的簇对4中包含数据的数量最多的类别的纯度未超过合并阈值,则停止合并簇对4的操作,待聚类数据中的簇包括:簇3和簇4。

假设数据a的类别、数据b的类别、数据c的类别均为a,数据d的类别和数据e的类别均为b,数据f的类别和数据g的类别均为c。那么,簇3中包含数据的数量最多的类别为c,即簇3的类别为c。簇4中包含数据的数量最多的类别为a,即簇4的类别为a。

此时,待聚类数据的聚类结果包括:类别a和类别c,其中,类别为a的数据包括:数据a、数据b、数据c、数据d、数据e,类别为c的数据包括:数据f和数据g。

假设包括簇3和簇4的簇对4中包含数据的数量最多的类别的纯度超过合并阈值,执行将簇对4合并的操作,即将簇3和簇4合并得到簇5。此时,待聚类数据中包括簇5。

假设数据a的类别、数据b的类别、数据c的类别均为a,数据d的类别和数据e的类别均为b,数据f的类别和数据g的类别均为c。那么,簇5中包含数据的数量最多的类别为a,即簇5的类别为a。

此时,待聚类数据的聚类结果包括:类别a,其中,类别为a的数据包括:数据a、数据b、数据c、数据d、数据e、数据f、数据g。

在传统聚类方法的合并条件中,以簇对中包含数据的数量最多的类别的纯度为依据,确定是否执行合并簇对的操作。但以该依据确定是否执行合并簇对的准确度低,进而导致合并准确度低。

基于此,本申请提供了一种提高合并准确度的技术方案。下面结合本申请实施例中的附图对本申请实施例进行描述。请参阅图1,图1是本申请实施例提供的一种数据处理方法的流程示意图。

101、获取待处理数据集和聚类神经网络。

本实施例的执行主体为数据处理装置。数据处理装置可以是服务器、手机、电脑、平板电脑等。

本申请实施例中,待处理数据集可以是向量数据。该向量数据可以是语句向量,该向量数据也可以是图像的特征向量,该向量数据还可以是音频的特征向量,本申请实施例对向量数据包含的信息不做限定。

上述聚类神经网络为具备对待处理数据集中的数据进行聚类的功能的神经网络。例如,聚类神经网络可以由卷积层、池化层、归一化层、全连接层、下采样层、上采样层、分类器等神经网络层按照一定方式堆叠或组成。本申请对聚类神经网络的结构不做限定。

在一种可能实现的方式中,聚类神经网络包括多层卷积层、池化层和全连接层,依次通过聚类神经网络中的多层卷积层、池化层和全连接层对待处理数据集进行卷积处理和归一化处理,可完成对待处理数据集的聚类,获得待处理数据集的聚类结果。

本申请实施例中,聚类神经网络以簇对的纯度为监督信息训练获得,其中,簇对包括两个簇,簇对的纯度携带以下信息:簇对中至少一个簇的纯度、簇对中包含数据的数量最多的类别的纯度。例如,簇对1包括簇a和簇b,其中,簇a包括:数据a、数据b、数据c,簇b包括:数据d、数据e,其中,数据a、数据b、数据e均属于a类别,数据c数据b类别、数据d属于c类别,簇对1中包含数据的数量最多的类别为a类别,a类别的纯度为:a类别包含的数据的数量/簇对1包含的数据的数量=3/6=60%。

簇的纯度指簇中包含数据的数量最多的类别的纯度。例如,簇1包括:数据a、数据b、数据c、数据d,其中,数据a、数据b、数据c均属于a类别,数据d属于b类别。在簇1中,包含数据的数量最多的类别为a类别,a类别的纯度为:a类别包含的数据的数量/簇1包含的数据的数量=3/4=75%。

在一种可能实现的方式中,簇对包括第一簇,第一簇中包含数据数量最多的类别为第一类别,簇对中包含数据数量最多的类别为第二类别。那么簇对的纯度依据第一簇中第一类别的纯度和簇对中第二类别的纯度得到。

例如,簇对1包括簇2和簇3,其中,簇2为第一簇。簇2中包含数据的数量最多的类别为类别a,即第一类别为类别a。簇对1中包含数据的数量最多的类别为类别b,即第二类别为类别b。

簇对中包含的数据类别的数量至少为1。显然,簇对中的数据类别越少,表征将簇对中的至少两个簇越合并的准确度越高。此时无论是将簇c的类别确定为a或者确定为b均是不合理的,即将簇a和簇b合并的准确度低。

将簇对中包含数据的数量最多的类别称为参考类别(如上述第二类别),若参考类别中的数据的数量与簇对中的数据的数量的比值越高,表征将簇对中的至少两个簇合并的准确度越高。例如(例1),簇对1包括簇a和簇b,其中,簇a中的数据的类别为a,簇b中的数据的类别为b,且簇a中的数据的数量为10000,簇b中的数据的数量为1。若将簇a和簇b合并得到的簇c中包含10001个数据。虽然簇c包含类别为a的数据和类别为b的数据,但类别为a的数据的数量远大于类别为b的数据的数量,此时将簇c的类别确定为a只会导致1个数据的类别是错的,但有10000个数据的类别正确的。显然该合并获得的簇中的数据的类别的准确度仍然很高(10000/10001=99.99%),即将簇a和簇b合并的准确度高。

为表述方便,下文将簇对中参考类别的纯度称为合并纯度。假设参考类别包含的数据的数量为n,簇对中的数据的数量为m,则参考类别的纯度为n/m。在例1中,簇对1中包含数据的数量最多的类别为a,类别a的纯度为:10000/10001=99.99%。

由例1可以看出,合并纯度与将簇对合并的准确度呈正相关。传统方法将合并纯度大于或等于阈值作为是否合并簇对的依据,例如,在合并纯度大于或等于85%的情况下合并簇对。但基于该种方法得到的合并准确度低。例如(例2),簇对1包括:簇a和簇b,簇a包含:8500个类别为a的数据以及1500个类别为b的数据,簇b包含:97个类别为c的数据以及3个类别为d的数据。簇对1的合并纯度为84.2%,簇a的纯度为85%,簇b的纯度为97%。假设合并簇对的依据为:在合并纯度大于或等于82%的情况下合并簇对,将簇a和簇b合并得到簇c,簇c的类别为a。簇b的纯度比簇a的纯度大,簇b的纯度也比簇对1的纯度大,也就是说,簇b的类别的准确度比簇a的类别的准确度和簇c的类别的准确度均高,但在簇c中,属于簇b的数据的类别均是错误的。

本申请中,簇的类别的准确度为:簇中类别准确的数据的数量/簇中的数据的数量。例如,簇1包含数据a、数据b、数据c,其中,数据a和数据b属于类别a,数据c属于类别b。在簇1的类别为a的情况下,簇1的类别准确度=类别a包含的数据的数量/簇1中的数据的数量=2/3。

通过这次合并,使一个大概率为正确的类别(即簇b的类别)变成错误的了,显然这是不合理的,也将降低合并准确度。而出现这种情况(下文将这种情况称为误合并情况)的原因,是在确定合并纯度的过程中,未考虑簇对中每个簇的纯度。

在本申请提供的技术方案中,依据合并纯度和簇对中至少一个簇的纯度得到簇对的纯度,可在确定簇对的纯度过程中,不仅考虑合并纯度,而且考虑簇对中至少一个簇的纯度,进而可提高合并准确度。

作为一种可选的实施方式,在确定簇对的纯度的过程中,使簇对中至少一个簇的纯度与簇对的纯度呈负相关、合并纯度与簇对的纯度呈正相关,可降低误合并情况发生的概率。

在一种可能实现的方式中,簇对包括第一簇和第二簇,第一簇中包含数据数量最多的类别为第一类别,簇对中包含数据数量最多的类别为第二类别。那么簇对的纯度依据第一簇中第一类别的纯度和簇对中第二类别的纯度得到。

假设第一类别的纯度(即第一簇的纯度)为p1,第二簇的纯度为p2,第二类别的纯度(即簇对的合并纯度)为p3,簇对的纯度为p4。

在一种可能实现的方式中,p1、p3、p4满足下式:

在另一种可能实现的方式中,p1、p2、p3、p4满足下式:

可选的,μ1=1。

在又一种可能实现的方式中,p1、p2、p3、p4满足下式:

可选的,δ1=0。

需要理解的是,在本申请中,簇对的纯度为簇对的指标,该指标用于表征合并纯度和簇对中每个簇的纯度,簇对的纯度可以大于1。

以本申请中的簇对的纯度为合并簇对的依据,可提高合并准确度。接着例2继续举例,假设合并簇对的依据为:在簇对的纯度大于或等于82%的情况下合并簇对。簇对的纯度通过公式(3)确定,且α1=-0.3、β1=-0.4,γ1=1.7,δ1=0。依据公式(3),可确定簇对1的纯度为:-0.3×85%-0.4×97%+1.7×84.2%=78.84%。由于78.84%小于82%,数据处理装置不执行合并簇a和簇b的操作。

再举例来说,假设簇对1包括:簇a、簇b,其中,簇a包含100个数据,簇b包含10个数据,且簇a的纯度和簇b的纯度均为100%。簇对1的合并纯度为:100/110=90.9%。假设合并簇对的依据为在簇对的纯度大于或等于85%的情况下合并簇对。若将簇对1的合并纯度作为簇对1的纯度,数据处理装置将执行合并簇a和簇b的操作。假设将簇a和簇b合并得到的簇为簇c,簇c的纯度为90.9%。也就是说,合并后得到的簇的纯度小于未合并的两个簇的纯度,显然这是不合理的。若α1=-0.5、β1=-0.5,γ1=1.7,依据公式(1),可确定簇对1的纯度为:-0.5×100%-0.5×100%+2×90.1%=81.82%。由于81.82%小于85%,数据处理装置不执行合并簇a和簇b的操作。

本申请实施例以簇对的纯度为监督信息对神经网络进行训练,获得聚类神经网络,可使聚类神经网络在对待处理数据集进行处理时,获得待处理数据集中的簇对的纯度。

数据处理装置获取待处理数据集或聚类神经网络的方式可以是接收用户通过输入组件输入的待处理数据集,其中,输入组件包括:键盘、鼠标、触控屏、触控板和音频输入器等。数据处理装置获取待处理数据集或聚类神经网络的方式也可以是接收第一终端发送的待处理数据集或聚类神经网络,其中,第一终端包括手机、计算机、平板电脑、服务器等。

102、使用上述聚类神经网络对上述待处理数据集进行处理,得到上述待处理数据集的聚类结果。

如步骤101所述,经聚类神经网络对待处理数据集进行处理,可获得待处理数据集中的簇对的纯度,进而可依据待处理数据集中的簇对的纯度完成对待处理数据集的聚类,得到待处理数据集的聚类结果。

在一种可能实现的方式中,可按待处理数据集中的簇对的纯度从大到小的顺序对待处理数据集中的簇对进行排序,作为待处理数据集中的簇对的合并顺序,并按合并顺序合并簇对。举例来说,待处理数据集包括簇a、簇b、簇c,其中,由簇a和簇b组成的簇对1的纯度为90%,由簇a和簇c组成的簇对2的纯度为60%,由簇b和簇c组成的簇对3的纯度为78%,按簇对的纯度从大到小的顺序对待处理数据集中的簇对进行排序得到的合并顺序为:1.簇对1;2.簇对3;3.簇对2。依据合并顺序可首先将簇对1合并得到簇d。

在另一种可能实现的方式中,在簇对的纯度大于或等于第一纯度阈值的情况下,合并簇对。直到待处理数据集中的不存在纯度大于或等于第一纯度阈值的簇对的情况下,停止合并簇对,得到聚类结果。

本申请实施例使用以纯度为监督信息训练获得的聚类神经网络对待处理数据集进行处理,可获得待处理数据集中的簇对的纯度,依据簇对的纯度可得到簇对的合并顺序。依据合并顺序合并待处理数据集中的簇对可降低误合并发生的概率,从而提高合并准确度。

接下来将详细阐述训练获得聚类神经网络的过程。请参阅图2,图2是本申请实施例提供的一种神经网络训练方法的流程示意图。

201、获取待训练神经网络、第一待训练簇对和第二待训练簇对。

本实施例的执行主体可以是数据处理装置,也可以不是数据处理装置,本申请对本实施例的执行主体不做限定。为表述方便,下文将本实施例的执行主体称为训练装置。

本实施例中,待训练神经网络与步骤101中聚类神经网络的结构相同。待训练簇对(包括第一待训练簇对和第二待训练簇对)均包括至少两个簇,同一个簇中的数据的类别相同,不同簇中的数据的类别可以相同也可以不同。待训练簇对中的数据均包含标签数据,该标签数据携带数据的类别信息。

训练装置获取待训练神经网络或第一待训练簇对或第二待训练簇对的方式可以是接收用户通过输入组件输入的待训练神经网络或第一待训练簇对或第二待训练簇对,其中,输入组件包括:键盘、鼠标、触控屏、触控板和音频输入器等。训练装置获取待训练神经网络或第一待训练簇对或第二待训练簇对的方式也可以是接收第二终端发送的待训练神经网络或第一待训练簇对或第二待训练簇对,其中,第二终端包括手机、计算机、平板电脑、服务器等。

202、经上述待训练神经网络对上述第一待训练簇对和上述第二待训练簇对进行处理,得到先合并上述第一待训练簇对的第一概率。

本申请实施例中,经待训练神经网络对待训练簇对(包括第一待训练簇对和第二待训练簇对)进行处理,可得到先合并该待训练簇对的概率,该概率可用于表征先合并该待训练簇对的准确度。

在一种可能实现的方式中,待训练神经网络包括卷积层、池化层和全连接层。经卷积层和池化层对第一待训练簇对进行处理,得到第一待训练簇对的特征数据,该特征数据携带第一待训练簇对中每个数据的特征信息和不同数据之间的相似度信息,经全连接层对第一待训练簇对的特征数据进行处理,可得到先合并第一待训练簇对的概率,即第一概率。

在另一种可能实现的方式中,待训练神经网络包括卷积层、池化层和全连接层。经卷积层和池化层对第一待训练簇对和第二待训练簇对进行处理,得到第一待训练簇对的第一中间特征数据和第二待训练簇对的第二中间特征数据,第一中间特征数据携带第一待训练簇对中每个数据的特征信息和不同数据之间的相似度信息,第二中间特征数据携带第二待训练簇对中每个数据的特征信息和不同数据之间的相似度信息。经全连接层对待训练簇对的第一中间特征数据进行处理可得到合并第一待训练簇对的概率,经全连接层对待训练簇对的第一中间特征数据进行处理可得到合并第二待训练簇对的概率。依据合并第一待训练簇对的概率和合并第二待训练簇对的概率,可得到先合并第一待训练簇对的概率,即第一概率。

203、依据上述第一待训练簇对的第一纯度和上述第二待训练簇对的第二纯度,得到先合并上述第一待训练簇对的第二概率。

本实施例中,待训练簇对的纯度(包括第一待训练簇对的纯度和第二待训练簇对的纯度)与步骤101中的“簇对的纯度”的含义相同,此处将不再赘述。

本实施例中,依据第一纯度和第二纯度可确定先合并第一待训练簇对的概率(即第二概率)。

在一种可能实现的方式中,若第一纯度大于第二纯度,表征先合并第一待训练簇可提高获得的聚类结果的准确度。若第一纯度小于第二纯度,表征先合并第二待训练簇可提高获得的聚类结果的准确度。若第一纯度等于第二纯度,表征先合并第一待训练簇或优先合并第二待训练簇对获得的聚类结果的准确度相同。基于此,在第一纯度大于第二纯度的情况下,确定第二概率为第一值,第一值为正数。可选的,第一值为1。在第一纯度等于第二纯度的情况下,确定第二概率为第二值,第二值为小于第一值的正数。可选的,第二值为1/2。在第一纯度小于第二纯度的情况下,确定第二概率为第三值,第三值为小于第二值的非负数。可选的,第三值为0。

在另一种可能实现的方式中,确定第一纯度与第二纯度的差(即第一纯度减第二纯度),得到第四值。在第四值处于第一取值范围内的情况下,确定第二概率为第五值。在第四值处于第二取值范围内的情况下,确定第二概率为第六值。第一取值范围与第二取值范围之间无交集,且第一取值范围与第二取值范围的并集为大于或等于-1且小于或等于1。第五值与第六值均为小于或等于1的非负数,且第五值与第六值不同。

在上述可能实现的方式中,第四值的取值范围为大于或等于-1且小于或等于1(下文将称为参考区间),而第一取值范围和第二取值范围无交集,且第一取值范围与第二取值范围的并集为参考区间,即将参考区间分为两个子区间(即第一取值范围和第二取值范围)。在实际应用中,可将参考区间划分为三个子区间或三个以上子区间,第四值处于不同的子区间时,第二概率的取值不同。本申请对子区间的数量不做限定。

举例来说,将参考区间划分为六个子区间,分别为[-1,0)、[0,0]、(0,0.3)、[0.3,0.7)、[0.7,1]。在第四值处于[-1,0)的情况下,表征第一纯度比第二纯度小,即应该先合并第二待处理簇对,因此可将第二概率值取为0。在第四值处于[0,0]的情况下,表征第一纯度与第二纯度相等,即先合并第一待处理簇对或先合并第二待处理簇对均可以,因此可将第二概率值取为0.5。在第四值处于(0,0.3)的情况下,表征第一纯度比第二纯度大,但第一纯度与第二纯度之间的差异(下文将称为第一差异)较小,因此可将第二概率值取一个比0.5大的正数,如:0.6。在第四值处于[0.3,0.7)的情况下,表征第一纯度比第二纯度大,且第一纯度与第二纯度之间的差异(下文将称为第二差异)比第一差异大,因此可将第二概率值取一个比0.6大的正数,如:0.8。在第四值处于[0.7,1]的情况下,表征第一纯度比第二纯度大,且第一纯度与第二纯度之间的差异比第二差异大,因此可将第二概率值取一个比0.8大的正数,如:1。

依据第一纯度与第二纯度之间的大小关系得到的第二概率的取值范围只有三个数(1、1/2、0),而由于第一纯度与第二纯度之间的差异可能是[-1,1]之间的任意一个数,即第一纯度与第二纯度之间的差异的分布较广,显然用三个数表示第一纯度与第二纯度之间的差异的效果较差。在通过将参考区间划分为至少两个子区间,并依据第四值的大小与子区间之间的关系得到的第二概率的取值范围包括至少两个数值,且第二概率的取值范围中的数值为(0,1)之间的任意一个数。相较于依据第一纯度与第二纯度之间的大小关系确定第二概率,通过将参考区间划分为至少两个子区间,并依据第四值的大小与子区间之间的关系得到的第二概率更接近第一纯度与第二纯度之间的差异的分布。因此,使用通过将参考区间划分为至少两个子区间,并依据第四值的大小与子区间之间的关系得到的第二概率进行后续的处理(如作为监督信息)可提高对待训练神经网络的训练效果。

204、依据上述第一概率和上述第二概率的差异,得到上述待训练神经网络的损失。

将基于第一纯度和第二纯度获得的第二概率作为监督信息,监督待训练神经网络得到的第一概率,可使待训练神经网络学习到如何依据簇对的纯度确定先合并簇对的概率。

在一种可能实现的方式中,可通过将第一概率和第二概率代入交叉熵(crossentropy)函数计算获得第一概率与第二概率之间的交叉熵损失,作为待训练神经网络的损失。

205、基于上述损失调整上述待训练神经网络的参数,得到上述聚类神经网络。

基于待训练神经网络的损失,以反向梯度传播的方式对待训练训练网络进行训练,直至收敛,完成对待训练神经网络的训练,得到聚类神经网络。

本实施例中,在对待训练神经网络的训练过程中,将待训练簇对的纯度作为待训练神经网络的监督信息,可使训练获得的聚类神经网络具备依据簇对的纯度确定是否合并簇对的能力,进而提高聚类神经网络合并簇对的准确度。

请参阅图3,图3为本申请实施例提供步骤202的一种可能实现的方法的流程示意图。

301、经上述待训练神经网络对上述第一待训练簇对和上述第二待训练簇对进行处理,得到第三概率和第四概率。

本申请实施例中,经待训练神经网络对待训练簇对(包括第一待训练簇对和第二待训练簇对)进行处理,可得到合并该待训练簇对的概率,该概率可用于表征合并该待训练簇对的准确率。

在一种可能实现的方式中,待训练神经网络包括卷积层、池化层和全连接层。经卷积层和池化层对待训练簇对进行处理,得到待训练簇对的特征数据,该特征数据携带待训练簇对中每个数据的特征信息和不同数据之间的相似度信息,经全连接层对待训练簇对的特征数据进行处理,可得到合并待训练簇对的概率。

需要理解的是,在实际处理中,待训练簇对的数量可以是两个以上,本申请对待训练簇对的数量不做限定。假设待训练簇对的数量为n,n为大于或等于2的正整数,经待训练神经网络对n个待训练簇对进行处理,得到n个合并概率,n个合并概率与n个待训练簇对一一对应。

经上述待训练神经网络对上述第一待训练簇对和上述第二待训练簇对进行处理,得到合并上述第一待训练簇对的概率(即第三概率)和合并上述第二待训练簇对的概率(即第四概率)。

302、依据上述第三概率和上述第四概率得到上述第一概率。

若待聚类数据中包含至少三个簇,在对数据进行聚类时,需要将不同的簇合并,而不同的合并顺序将产生不同聚类结果。举例来说(例3),待聚类数据中包含簇a、簇b和簇c,簇a中的数据的类别为a,簇b中的数据的类别为b,簇c中的数据的类别为c。簇a与簇b之间的相似度(下文将称为第一相似度)为80%,簇b与簇c之间的相似度(下文将称为第二相似度)为60%,簇a与簇c之间的相似度(下文将称为第三相似度)为70%。若执行合并的条件为两个簇之前的相似度大于或等于55%,可将簇a与簇b合并、也可将簇b与簇c合并、还可将簇a与簇c合并。若首先将簇a与簇c合并得到簇d,而簇d与簇b之间的相似度为45%,则最终的聚类结果为簇b和簇d。若首先将簇a与簇b合并得到簇e,而簇e与簇c之间的相似度为50%,则最终的聚类结果为簇c和簇e。

从例3可以看出,合并顺序将影响聚类结果。此外,在例3中,由于第一相似度比第二相似度和第三相似度都大,显然,相较于将簇b和簇c合并以及将簇a和簇c合并,更应该将簇a和簇b合并,即将簇a和簇b合并得到的聚类结果的准确率比将簇b和簇c合并得到的聚类结果的准确率以及将簇a和簇c合并得到的聚类结果的准确率都要高。但在例3中,若首先将簇a与簇c合并得到簇d,由于簇d与簇b之间的相似度为45%小于55%,导致簇a与簇b无法合并。也就是说,合并顺序将影响聚类结果的准确率。

本实施中,待训练网络可依据合并第一待训练簇对的第三概率和合并第二待训练簇对的第四概率得到先合并第一待训练簇对的概率(即第一概率)。进而可依据第一概率确定合并第一待训练簇对和合并第二待训练簇对的顺序。

在一种可能实现的方式中,假设合并第一待训练簇对的概率为s1,合并第二待训练簇对的概率为s2,则先合并第一待训练簇对的概率p1满足下式:

同理,先合并第二待训练簇对的概率p2满足下式:

本实施通过待训练神经网络得到第三概率和第四概率。依据第三概率和第四概率得到第一概率,以实现通过待训练神经网络得到先合并第一待训练簇对的概率。

本申请实施例还提供了两种确定簇对的纯度的方法,接下来以确定第一待训练簇对的第一纯度为例进行阐述。

请参阅图4,图4为本申请实施例提供一种确定第一纯度和第二纯度的方法的流程示意图。

401、依据上述第一待训练簇对中的数据的标注数据,确定上述第一待训练簇对中至少一个类别包含的数据的数量,作为第一数量集。

本实施例中,第一待训练簇对中的每个数据的标注数据均携带数据的类别信息,例如,第一待训练簇对中的数据a的标注数据携带数据a为类别a的信息,即数据a属于类别a。

本实施例中,第一待训练簇对的纯度为第一待训练簇中参考类别的纯度。在确定第一待训练簇对的纯度之前,需确定第一待训练簇对中至少一个类别包含的数据的数量,作为第一数量集。将第一数量集中的最大值对应的类别作为参考类别。举例来说(例4),第一待训练簇对中包含数据a、数据b、数据c、数据d、数据e,其中,数据a的类别为a,数据b的类别为b,数据c的类别为c,数据d的类别为a,数据e的类别为c。可确定类别a包含的数据的数量为2以及确定类别b包含的数据的数量为1,得到的第一数量集为:1、2。也可确定类别a包含的数据的数量为2以及确定类别c包含的数据的数量为2,得到的第一数量集为:2、2。还可确定类别b包含的数据的数量为1以及确定类别c包含的数据的数量为2,得到的第一数量集为:1、2。还可确定类别a包含的数据的数量为2,确定类别b包含的数据的数量为1,确定类别c包含的数据的数量为2,得到的第一数量集为:1、2、2。

可选的,可分别确定第一待训练簇对中每个类别包含的数据的数量,作为第一数量集,接着例4继续举例(例5),确定类别a包含的数据的数量为2,确定类别b包含的数据的数量为1,确定类别c包含的数据的数量为2,得到的第一数量集为:1、2、2。

402、依据上述第一数量集中的最大值与上述第一待训练簇对中的数据的数量,得到第三纯度。

在一种可能实现的方式中,第一数量集中的最大值对应的类别即为参考类别,计算参考类别包含的数据的数量(即第一数量集中的最大值)与第一待训练簇对中数据的数量的比值即可得到第一待训练簇对的纯度,即第三纯度。

需要理解的是,若第一数量集中的最大值有至少两个(如例5中的第一数量集中的最大值有2个),则将至少两个最大值中的任意一个最大值对应的类别作为参考类别(如例中的参考类别可以是类别a,也可以是类别c)。

以例5为例,第一数量集中的最大值为2,第一待训练簇对中的数据的数量为5,则第一待训练簇对的第三纯度为2/5=40%。

在另一种可能实现的方式中,用max表示第一数量集中的最大值,用sum表示第一待训练簇对中的数据的数量,则第三纯度p5满足下式:

其中,a为实数。

在另一种可能实现的方式中,用max表示第一数量集中的最大值,用sum表示第一待训练簇对中的数据的数量,则第三纯度p5满足下式:

其中,b为实数。

需要理解的是,本实施例提供的确定第一待训练簇对的纯度的方法也可用于确定其他簇对(包括第二待训练簇对和待处理数据集中的簇对)的纯度。

例如,可依据第二待训练簇对中的数据的标注数据,确定第二待训练簇对中至少一个类别包含的数据的数量,作为第二数量集。依据第二数量集中的最大值与第二待训练簇对中的数据的数量,得到第四纯度。可选的,将第二数据集中的最大值与第二待训练簇对中的数据的数量的比值作为第四纯度。

上述第三纯度用于表征第一待训练簇对的合并纯度,上述第四纯度用于表征第二待训练簇对的合并纯度。

403、确定第二簇中包含数据的数量最多的类别的纯度得到第五纯度,确定第三簇中包含数据的数量最多的类别的纯度得到第六纯度。

本实施例中,第一待训练簇对包括:第二簇,第二待训练簇对包括:第三簇。确定第二簇中包含数据的数量最多的类别的纯度得到第五纯度,即为第二簇的纯度。确定第三簇中包含数据的数量最多的类别的纯度得到第六纯度,即为第三簇的纯度。

404、依据上述第三纯度和上述第五纯度得到上述第一纯度,依据上述第四纯度和上述第六纯度得到上述第二纯度。

本申请中,第三纯度与第一纯度呈正相关,第五纯度与第一纯度呈负相关,第四纯度与第二纯度呈正相关,第六纯度与第二纯度呈负相关。

假设:第一纯度为p6、第二纯度为p7、第三纯度为p5、第四纯度为p8、第五纯度为p9、第六纯度为p10。

在一种可能实现的方式中,p5、p6、p9满足下式:

p7、p8、p10满足下式:

可选的,α2=3,γ2=3。

在另一种可能实现的方式中,假设第一待训练簇对还包括第四簇,第二待训练簇对还包括第五簇。第四簇的纯度为p11,第五簇的纯度为p12。p5、p6、p9、p11满足下式:

p7、p8、p10、p12满足下式:

可选的,α4=5,β4=5,γ4=5,μ2=μ3=1。

在又一种可能实现的方式中,假设第一待训练簇对还包括第四簇,第二待训练簇对还包括第五簇。第四簇的纯度为p11,第五簇的纯度为p12。p5、p6、p9、p11满足下式:

p7、p8、p10、p12满足下式:

可选的,α6=7,β6=7,γ6=7,δ2=δ3=0。

本实施例提供的技术方案依据待训练簇对(包括第一待训练簇对和第二待训练簇对)的合并纯度以及待训练簇对中每个簇的纯度,得到待训练簇对的纯度,可丰富待训练簇对的纯度中携带的信息。

本申请实施例还提供了一种确定簇对中类别的纯度的方法。请参阅图5,图5为本申请实施例提供另一种确定第一纯度和第二纯度的方法的流程示意图。

501、依据上述第一待训练簇对中的数据的标注数据,确定上述第一待训练簇对中每个类别包含的数据的数量,作为第三数量集。

本实施例中,第一待训练簇对中的每个数据的标注数据均携带数据的类别信息,例如,第一待训练簇对中的数据a的标注数据携带数据a为类别a的信息,即数据a属于类别a。

依据第一待训练簇对中每个数据的标注数据,可确定第一待训练簇对中每个类别包含的数据的数量,并作为第三数量集。举例来说(例6),第一待训练簇对包含:数据a、数据b、数据c、数据d和数据e,其中,数据a的类别为a,数据b的类别为b,数据c的类别为a,数据d的类别为c,数据e的类别为b。第一待训练簇对中类别a包含的数据的数量为2,第一待训练簇对中类别b包含的数据的数量为2,第一待训练簇对中类别c包含的数据的数量为1,第三数量集为:{2,2,1}。

502、依据上述第三数量集中的元素和上述第一待训练簇对中的数据的数量,得到第七纯度。

本实施例中,第三数量集中的元素即为第一待训练簇对中每个类别包含的数据的数量,如例6中的第三数量集包括三个元素:{2、2、1}。

在一种可能实现的方式中,确定第三数量集中的每个元素的平方和,得到第一中间数。确定第一待训练簇对中的数据的数量的平方,得到第三中间数。将第一中间数与第三中间数的比值作为第七纯度。以例6为例,第三数量集包含三个元素:2、2、1,第三数量集中的每个元素的平方和为:22+22+12=9。第一待训练簇对中的数据的数量的平方为:52=25。那么第七纯度为:9/25=36%。

在另一种可能实现的方式中,确定第三数量集中的每个元素的立方和,得到第五中间数。确定第一待训练簇对中的数据的数量的立方,得到第六中间数。将第五中间数与第六中间数的比值作为第七纯度。以例6为例,第三数量集包含三个元素:2、2、1,第三数量集中的每个元素的立方和为:23+23+13=17。第一待训练簇对中的数据的数量的平方为:53=125。那么第七纯度为:17/125=13.6%。

在又一种可能实现的方式中,确定第三数量集中的每个元素的平方和,得到第七中间数。确定第七中间数与第七值的和,得到第八中间数,其中,第七值为实数。确定第一待训练簇对中的数据的数量的平方,得到第九中间数。将第八中间数与第九中间数的比值作为第七纯度。以例6为例,假设第七值为0.1,第三数量集包含三个元素:2、2、1,第三数量集中的每个元素的平方和为:22+22+12=9。第一待训练簇对中的数据的数量的平方为:52=25。那么第七纯度为:(9+0.1)/25=36.4%。确定第三数量集中的每个元素的立方的和,得到第五中间数。确定第一待训练簇对中的数据的数量的立方,得到第六中间数。将第五中间数与第六中间数的比值作为第七纯度。以例6为例,第三数量集包含三个元素:2、2、1,第三数量集中的每个元素的立方和为:23+23+13=17。第一待训练簇对中的数据的数量的平方为:53=125。那么第七纯度为:17/125=13.6%。

需要理解的是,本实施例提供的确定第一待训练簇对的纯度的方法也可用于确定其他簇对(包括第二待训练簇对和待处理数据集中的簇对)的纯度。

例如,可依据所述第二待训练簇对中的数据的标注数据,确定所述第二待训练簇对中每个类别包含的数据的数量,作为第四数量集。依据所述第四数量集中的元素和所述第一待训练簇对中的数据的数量,得到所述第八纯度。可选的,可确定第四数量集中的每个元素的平方的和,得到第二中间数。确定第二待训练簇对中的数据的数量的平方,得到第四中间数。将第二中间数与第四中间数的比值作为第八纯度。

上述第七纯度用于表征第一待训练簇对的合并纯度,上述第八纯度用于表征第二待训练簇对的合并纯度。

503、确定上述第二簇中包含数据数量最多的类别的纯度得到第五纯度,确定上述第三簇中包含数据数量最多的类别的纯度得到第六纯度。

确定第二簇中包含数据的数量最多的类别的纯度得到第五纯度。确定第三簇中包含数据的数量最多的类别的纯度得到第六纯度。

504、依据上述第五纯度和上述第七纯度得到上述第一纯度,依据上述第六纯度和上述第八纯度得到上述第二纯度。

本申请中,第七纯度与第一纯度呈正相关,第五纯度与第一纯度呈负相关,第八纯度与第二纯度呈正相关,第六纯度第二纯度呈负相关。

假设:第一纯度为p6、第二纯度为p7、第五纯度为p9、第六纯度为p10、第七纯度为p13、第八纯度为p14。

在一种可能实现的方式中,p6、p9、p13满足下式:

p7、p10、p14满足下式:

可选的,α8=9,γ8=9。

在另一种可能实现的方式中,假设第一待训练簇对还包括第四簇,第二待训练簇对还包括第五簇。第四簇的纯度为p11,第五簇的纯度为p12。p6、p9、p11、p13满足下式:

p7、p10、p12、p14满足下式:

可选的,α10=11,β10=11,γ10=11,μ4=μ5=1。

在又一种可能实现的方式中,假设第一待训练簇对还包括第四簇,第二待训练簇对还包括第五簇。第四簇的纯度为p11,第五簇的纯度为p12。p6、p9、p11、p13满足下式:

p7、p10、p12、p14满足下式:

可选的,α12=13,β12=13,γ12=13,δ4=δ5=0。

基于本实施例提供的技术方案,得到的待训练簇对(包括第一待训练簇对和第二待训练簇对)的纯度,不仅可表征参考类别的纯度(即参考类别包含的数据的数量在簇对的数据的数量中的占比),还可表征簇对中类别的纯度。簇对中类别的纯度指簇对中类别的数量,簇对中类别的纯度与簇对中类别的数量呈正相关。

举例来说,第一待训练簇对1包含:数据a、数据b、数据c、数据d、数据e,其中,数据a的类别为a,数据b的类别为b,数据c的类别为c,数据d的类别为a,数据e的类别为c。在第一待训练簇对1中类别为a的数据的数量为2,类别为b的数据的数量为1,类别为c的数据的数量为2。第一待训练簇对2包含:数据f、数据g、数据h、数据i、数据j,其中,数据f的类别为a,数据g的类别为b,数据h的类别为c,数据i的类别为d,数据j的类别为a。在第一待训练簇对2中类别为a的数据的数量为2,类别为b的数据的数量为1,类别为c的数据的数量为1,类别为d的数据的数量为1。显然,第一待训练簇对1中的类别的数量小于第一待训练簇对2中的类别的数量,即第一待训练簇对2中的类别的纯度更高。

依据本实施例提供的技术方案得到的第一待训练簇对1的纯度可以是:(22+12)/32=5/9≈55.6%,基于本实施例提供的技术方案得到的第二待训练簇对2的纯度可以是:(22+12+12)/42=6/16=37.5%。显然,本实施例提供的技术方案获得的第一待训练簇对1的纯度和第一待训练簇对2的纯度可更好的反应第一待训练簇对1中类别的纯度和第一待训练簇对2中类别的纯度。

基于本申请提供的技术方案,本申请实施例还提供了一种可能的应用场景。

在数据量急剧扩增的时代,数据管理的难度也在急剧增加。通过对数据进行聚类,可有效提高数据管理效率。因此,如何高效、准确的完成数据的聚类具有非常重要的意义。

数据处理装置获取待聚类数据集,该待聚类数据集包括至少两个待聚类数据。例如,待聚类数据集包括100000张图像。又例如,待聚类数据集包括100000条语句。再例如,待聚类数据集包括100000个语音数据。

数据处理装置将待聚类数据集中的数据划分为至少两个数据集合,作为至少两个簇。可选的,可通过k均值聚类算法(k-meansclusteringalgorithm)对数据进行处理,得到至少两个簇。

数据处理装置基于至少两个簇得到至少一个待处理簇对。例如,至少两个簇包括簇a和簇b。基于至少两个簇得到的待处理簇对包括簇a和簇b。又例如,至少两个簇包括:簇a、簇b、簇c。基于至少两个簇可得到待处理簇对1、待处理簇对2、待处理簇对3,其中,待处理簇对1包括簇a和簇b,待处理簇对2包括簇a和簇c,待处理簇对3包括簇b和簇c。

基于本申请实施例提供的技术方案对待处理簇对进行处理,得到每个待处理簇对的纯度。按纯度从大到小的顺序,对所有待处理簇对排序,得到第一次序。在第一次序中的第一个待处理簇对的纯度大于或等于第二纯度阈值的情况下,合并第一次序中的第一个待处理簇对。在第一次序中的第一个待处理簇对的纯度小于第二纯度阈值的情况下,分别确定每个簇的类别,得到聚类结果。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。

请参阅图6,图6为本申请实施例提供的一种数据处理装置的结构示意图,该处理装置包括:获取单元11、处理单元12,其中:

获取单元11,用于获取待处理数据集和聚类神经网络,其中,所述聚类神经网络以簇对的纯度为监督信息训练获得,所述簇对的纯度依据第一类别的纯度和第二类别的纯度得到,所述第一类别用于表示所述簇对中的第一簇中包含数据数量最多的类别,所述第二类别是指所述簇对中包含数据数量最多的类别;

处理单元12,用于使用所述聚类神经网络对所述待处理数据集进行处理,得到所述待处理数据集的聚类结果。

结合本申请任一实施方式,以簇对的纯度为监督信息训练获得所述聚类神经网络,包括:

获取待训练神经网络、第一待训练簇对和第二待训练簇对;

经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到先合并所述第一待训练簇对的第一概率;

依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率;

依据所述第一概率和所述第二概率的差异,得到所述待训练神经网络的损失;

基于所述损失调整所述待训练神经网络的参数,得到所述聚类神经网络。

结合本申请任一实施方式,所述第一待训练簇对还包括第二簇,所述第二待训练簇对包括第三簇,在所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率之前,所述方法还包括:

依据所述第一待训练簇对中的数据的标注数据,确定所述第一待训练簇对中至少一个类别包含的数据的数量,作为第一数量集;

依据所述第二待训练簇对中的数据的标注数据,确定所述第二待训练簇对中至少一个类别包含的数据的数量,作为第二数量集,其中,所述标注数据携带数据的类别信息;

依据所述第一数量集中的最大值与所述第一待训练簇对中包含的数据的数量,得到第三纯度,依据所述第二数量集中的最大值与所述第二待训练簇对中包含的数据的数量,得到第四纯度,其中,所述第三纯度用于表征所述第一待训练簇对中包含数据的数量最多的类别的纯度,所述第四纯度用于表征所述第二待训练簇对中包含数据的数量最多的类别的纯度;

确定所述第二簇中包含数据的数量最多的类别的纯度得到第五纯度,确定所述第三簇中包含数据的数量最多的类别的纯度得到第六纯度;

依据所述第三纯度和所述第五纯度得到所述第一纯度,依据所述第四纯度和所述第六纯度得到所述第二纯度。

结合本申请任一实施方式,所述依据所述第一数量集中的最大值与所述第一待训练簇对中的数据的数量,得到第三纯度,依据所述第二数量集中的最大值与所述第二待训练簇对中的数据的数量,得到第四纯度,包括:

将所述第一数量集中的最大值与所述第一待训练簇对中的数据的数量的比值作为所述第三纯度;

将所述第二数量集中的最大值与所述第二待训练簇对中的数据的数量的比值作为所述第四纯度。

结合本申请任一实施方式,所述第一待训练簇对包括第二簇,所述第二待训练簇对包括第三簇,在所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率之前,所述方法还包括:

依据所述第一待训练簇对中的数据的标注数据,确定所述第一待训练簇对中每个类别包含的数据的数量,作为第三数量集,依据所述第二待训练簇对中的数据的标注数据,确定所述第二待训练簇对中每个类别包含的数据的数量,作为第四数量集,其中,所述标注数据携带数据的类别信息;

依据所述第三数量集中的元素和所述第一待训练簇对中的数据的数量,得到第七纯度,依据所述第四数量集中的元素和所述第一待训练簇对中的数据的数量,得到第八纯度,其中,所述第七纯度用于表征所述第一待训练簇对中包含数据的数量最多的类别的纯度,所述第八纯度用于表征所述第二待训练簇对中包含数据的数量最多的类别的纯度;

确定所述第二簇中包含数据数量最多的类别的纯度得到第五纯度,确定所述第三簇中包含数据数量最多的类别的纯度得到第六纯度;

依据所述第五纯度和所述第七纯度得到所述第一纯度,依据所述第六纯度和所述第八纯度得到所述第二纯度。

结合本申请任一实施方式,所述依据所述第三数量集中的元素和所述第一待训练簇对中的数据的数量,得到所述第七纯度,依据所述第四数量集中的元素和所述第一待训练簇对中的数据的数量,得到所述第八纯度,包括:

确定所述第三数量集中包含的元素的平方和,得到第一中间数,确定所述第四数量集中包含的元素的平方和,得到第二中间数;

确定所述第一待训练簇对中包含的数据的数量的平方,得到第三中间数,确定所述第二待训练簇对中包含的数据的数量的平方,得到第四中间数;

将所述第一中间数与所述第三中间数的比值作为所述第七纯度,将所述第二中间数与所述第四中间数的比值作为所述第八纯度。

结合本申请任一实施方式,所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第四概率,包括:

在所述第一纯度大于所述第二纯度的情况下,确定所述第四概率为第一值;

在所述第一纯度等于所述第二纯度的情况下,确定所述第四概率为第二值;

在所述第一纯度小于所述第二纯度的情况下,确定所述第四概率为第三值;

所述第一值大于所述第二值,所述第二值大于所述第三值。

结合本申请任一实施方式,所述依据所述第一待训练簇对的第一纯度和所述第二待训练簇对的第二纯度,得到先合并所述第一待训练簇对的第二概率,包括:

确定所述第一纯度与所述第二纯度的差,得到第四值;

在所述第四值处于第一取值范围内的情况下,确定所述第二概率为第五值;

在所述第四值处于第二取值范围内的情况下,确定所述第二概率为第六值;所述第五值与所述第六值不同;所述第一取值范围与所述第二取值范围之间无交集。

结合本申请任一实施方式,所述经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到先合并所述第一待训练簇对的第一概率,包括:

经所述待训练神经网络对所述第一待训练簇对和所述第二待训练簇对进行处理,得到第三概率和第四概率,其中,所述第三概率与合并所述第一待训练簇对得到的合并结果的准确度呈正相关,所述第四概率与合并所述第二待训练簇对得到的合并结果的准确度呈正相关;

依据所述第三概率和所述第四概率得到所述第一概率。

在该实施例中,依据合并纯度和簇对中至少一个簇的纯度得到簇对的纯度,可在确定簇对的纯度过程中,不仅考虑合并纯度,而且考虑簇对中至少一个簇的纯度,进而可提高合并准确度。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

图7为本申请实施例提供的一种数据处理装置的硬件结构示意图。该数据处理装置2包括处理器21,存储器22,输入装置23,输出装置24。该处理器21、存储器22、输入装置23和输出装置24通过连接器相耦合,该连接器包括各类接口、传输线或总线等等,本申请实施例对此不作限定。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。

处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessingunit,cpu),在处理器是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。可选的,处理器21可以是多个gpu构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。可选的,该处理器还可以为其他类型的处理器等等,本申请实施例不作限定。

存储器22可用于存储计算机程序指令,以及用于执行本申请方案的程序代码在内的各类计算机程序代码。可选地,存储器包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、或便携式只读存储器(compactdiscread-onlymemory,cd-rom),该存储器用于相关指令及数据。

输入装置23用于输入数据和/或信号,以及输出装置24用于输出数据和/或信号。输入装置23和输出装置24可以是独立的器件,也可以是一个整体的器件。

可理解,本申请实施例中,存储器22不仅可用于存储相关指令,还可用于存储相关数据,如该存储器22可用于存储通过输入装置23获取的待处理数据集,又或者该存储器22还可用于存储通过处理器21得到的聚类结果等等,本申请实施例对于该存储器中具体所存储的数据不作限定。

可以理解的是,图7仅仅示出了一种数据处理装置的简化设计。在实际应用中,数据处理装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、存储器等,而所有可以实现本申请实施例的数据处理装置都在本申请的保护范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所属领域的技术人员还可以清楚地了解到,本申请各个实施例描述各有侧重,为描述的方便和简洁,相同或类似的部分在不同实施例中可能没有赘述,因此,在某一实施例未描述或未详细描述的部分可以参见其他实施例的记载。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digitalversatiledisc,dvd))、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-onlymemory,rom)或随机存储存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1