数据分类方法、装置及设备与流程

文档序号:22798015发布日期:2020-11-04 03:53阅读:138来源:国知局
数据分类方法、装置及设备与流程

本申请涉及图像处理领域,尤其涉及一种数据分类方法、装置及设备。



背景技术:

数据分类(例如图像分类等)的应用越来越广泛,目前,可以通过稀疏表示分类算法对数据进行分类。

可以通过聚类src算法对训练数据集进行处理,以构造超完备字典,其中,超完备字典包括多个字典原子。当需要获取待测数据的类别时,可以通过字典原子的线性组合获取待测数据对应的稀疏表示信号,计算稀疏表示信号和字典原子的残差,并根据该残差确定待测数据的类别。但是,聚类src算法的复杂度随着训练数据量的增加而增高,因此,当训练数据量过大时,聚类src算法的训练时间会急剧增加,导致数据分类的效率较低。



技术实现要素:

本申请提供一种数据分类方法、装置及设备。提高了数据分类的效率。

第一方面,本申请实施例提供一种数据分类方法,包括:

获取训练集和待分类对象;

将所述训练集划分为多个子训练集;

确定所述待分类对象与每个子训练集之间的残差集合,所述残差集合中包括多个残差;

根据所述待分类对象与每个子训练集之间的残差集合,确定所述待分类对象的类别。

在一种可能的实施方式中,根据所述待分类对象与每个子训练集之间的残差集合,确定所述待分类对象的类别,包括:

根据所述待分类对象与每个子训练集之间的残差集合,确定第一原子集合,所述第一原子集合中包括多个原子,所述原子为子训练集中每一类数据的聚类中心;

对所述待分类对象与每个子训练集之间的残差集合中同类数据的残差求和,得到残差和;

根据所述残差和以及所述第一原子集合,确定所述待分类对象的类别。

在一种可能的实施方式中,根据所述待分类对象与每个子训练集之间的残差集合,确定第一原子集合,包括:

在每个残差集合中确定最小残差,得到m个最小残差,所述m为大于或等于2的整数,所述m为所述子训练集的数量;

在所述m个最小残差中确定n个最小残差,所述n为小于或等于所述m的整数;

确定所述第一原子集合包括所述n个最小残差对应的原子集合。

在一种可能的实施方式中,在所述m个最小残差中确定n个最小残差,包括:

对所述m个最小残差按照从小到大的顺序排序;

将排序后的前n个最小残差确定为所述n个最小残差。

在一种可能的实施方式中,根据所述残差和以及所述第一原子集合,确定所述待分类对象的类别,包括:

根据所述第一原子集合,确定所述待分类对象对应的第一稀疏信号;

根据所述第一稀疏信号和所述待分类对象,确定第一残差;

根据所述第一残差和所述残差和,确定目标残差;

根据所述目标残差,确定所述待分类对象的类别。

在一种可能的实施方式中,针对任意一个子训练集,确定所述待分类对象与所述子训练集之间的残差集合,包括:

对所述子训练集进行聚类处理,得到所述子训练集对应的第二原子集合;

根据所述第二原子集合,确定所述待分类对象对应的第二稀疏信号;

根据所述第二稀疏信号和所述待分类对象,确定所述残差集合。

第二方面,本申请实施例提供一种数据分类装置,包括获取模块、划分模块、第一确定模块和第二确定模块,其中:

所述获取模块用于,获取训练集和待分类对象;

所述划分模块用于,将所述训练集划分为多个子训练集;

所述第一确定模块用于,确定所述待分类对象与每个子训练集之间的残差集合,所述残差集合中包括多个残差;

所述第二确定模块用于,根据所述待分类对象与每个子训练集之间的残差集合,确定所述待分类对象的类别。

在一种可能的实施方式中,所述第二确定模块具体用于:

根据所述待分类对象与每个子训练集之间的残差集合,确定第一原子集合,所述第一原子集合中包括多个原子,所述原子为子训练集中每一类数据的聚类中心;

对所述待分类对象与每个子训练集之间的残差集合中同类数据的残差求和,得到残差和;

根据所述残差和以及所述第一原子集合,确定所述待分类对象的类别。

在一种可能的实施方式中,所述第二确定模块具体用于:

在每个残差集合中确定最小残差,得到m个最小残差,所述m为大于或等于2的整数,所述m为所述子训练集的数量;

在所述m个最小残差中确定n个最小残差,所述n为小于或等于所述m的整数;

确定所述第一原子集合包括所述n个最小残差对应的原子集合。

在一种可能的实施方式中,所述第二确定模块具体用于:

对所述m个最小残差按照从小到大的顺序排序;

将排序后的前n个最小残差确定为所述n个最小残差。

在一种可能的实施方式中,所述第二确定模块具体用于:

根据所述第一原子集合,确定所述待分类对象对应的第一稀疏信号;

根据所述第一稀疏信号和所述待分类对象,确定第一残差;

根据所述第一残差和所述残差和,确定目标残差;

根据所述目标残差,确定所述待分类对象的类别。

在一种可能的实施方式中,所述第一确定模块具体用于:

对所述子训练集进行聚类处理,得到所述子训练集对应的第二原子集合;

根据所述第二原子集合,确定所述待分类对象对应的第二稀疏信号;

根据所述第二稀疏信号和所述待分类对象,确定所述残差集合。

第三方面,本申请实施例提供一种终端设备,包括:处理器,所述处理器与存储器耦合;

所述存储器用于,存储计算机程序;

所述处理器用于,执行所述存储器中存储的计算机程序,以使得所述终端设备执行如第一方面任一项所述的数据分类方法。

第四方面,本申请实施例提供一种计算机可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,如上述第一方面任一项所述的数据分类方法被执行。

本申请实施例提供的数据分类方法、装置及设备,先获取训练集和待分类对象,并将训练集划分为多个子训练集,同时确定分类对象与每个子训练集之间的残差集合,并根据待分类对象与每个子训练集之间的残差集合,确定待分类对象的类别。由于训练集被划分为多个子训练集,可以并行处理每个子训练集,且待分类对象的类别是根据待分类对象与每个子训练集之间的残差集合确定的,因此,待分类对象与残差集合的相关度较高,且数据分类的训练集减小,提高了数据分类的效率。

附图说明

图1为本申请实施例适用的一种应用场景示意图;

图2为本发明实施例提供的数据分类方法的流程示意图;

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

图4为本申请实施例提供的判断待分类对象的类别的过程示意图;

图5为本申请实施例提供的数据分类方法提供的仿真实验示意图;

图6a为本申请实施例提供的随机投影法降维后提供的仿真实验示意图;

图6b为本申请实施例提供的eigenface法降维后提供的仿真实验示意图;

图7为本申请实施例提供的数据分类方法过程示意图;

图8为本申请实施例提供的一种数据分类装置的结构示意图;

图9为本申请实施例提供的终端设备的结构示意图。

具体实施方式

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

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于理解,下面,结合图1介绍本申请可适用的应用场景。

本实施例提供的数据分类方法可以应用于需要数据分类的场景,包括但不限于:人脸识别分类、图像分类和数字分类等。为了描述方便,下面以数字分类为例进行描述。

图1为本申请实施例适用的一种应用场景示意图。请参见图1,包括手写数据集、训练数据集和终端设备101,其中,终端设备101中包括本申请实施例中的数据分类装置,训练数据集可以为数字集,例如,训练数据集可以为1-100的数字图像。手写数据集包括待分类的数字图像,例如,类别为x的数字图像。当需要对手写数据集中的数字图像进行分类时,用户可以将训练数据集和手写数据集输入到终端设备101中,终端设备101会将手写数据集中的数字进行分类。例如,如图1所示,手写数据集中包括类别为x的数字图像,将手写数据集和训练数据集输入到终端设备101中,终端设备101会识别手写数据集中的类别为x的数字图像,输出x的数字图像的类别。

在本申请实施例中,先获取训练集和待分类对象,并将训练集划分为多个子训练集,同时确定分类对象与每个子训练集之间的残差集合,并根据待分类对象与每个子训练集之间的残差集合,确定待分类对象的类别。由于训练集被划分为多个子训练集,提高了训练集的维度,进而提升了聚类处理的效率,且待分类对象的类别是根据待分类对象与每个子训练集之间的残差集合确定的,根据第一原子集合确定第一残差值,根据第一残差值和残差和确定待分类对象的类别,因此,待分类对象与残差集合的相关度较高,提高了数据分类的准确率。

下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。

图2为本发明实施例提供的数据分类方法的流程示意图。请参见图2,该方法可以包括:

s201、获取训练集和待分类对象。

本发明实施例的执行主体可以为终端设备,也可以为设置在终端设备中的数据分类装置。可选的,终端设备可以为手机、电脑等设备。可选的,数据分类装置可以通过软件实现,也可以通过软件和硬件的结合实现。

其中,待分类对象可以为需要进行分类的对象。可选的,不同领域的待分类的对象不同。例如,在图像分类领域中,待分类对象可以为不同类别图像;在人脸识别领域中,待分类对象可以为人脸图像;在数据处理领域中,待分类对象可以为需要进行分类的数据集。

可以通过如下可行的方式获取待分类对象:可以从数据库中获取待分类对象。例如,在人脸识别领域中,需要对不同的人脸图像进行分类,可以从人脸识别的数据库中获取不同的人脸图像作为待分类对象。

训练集可以是和待分类对象相同类型的数据集合。例如,若待分类对象为图像时,训练集可以是图像的集合;若待分类对象为人脸图像时,训练集可以是人脸图像的集合;若待分类对象为需要进行分类的数据集时,训练集可以是数据集。

可选的,可以通过如下可行的方式获取待分类对象:可以从待分类对象的数据库中获取训练集。例如,在人脸识别领域中,可以从人脸识别的数据库中获取人脸图像作为训练集。

可选的,训练集和待分类对象可以为同一集合中的数据。例如,人脸识别领域中,有100张人脸图像需要进行分类,此时可以选取90张人脸图像作为训练集,选取10张图像作为待分类对象。

可选的,训练集中包括多个类别的训练数据。例如,训练集中有1000张图像,其中有500张风景类图像,500张动漫类图像。可选的,可以将训练集中的训练数据的类别进行标注。例如,训练集有1000张图像,500张图像为风景类图像,500张图像为动漫类图像,可以将500张风景类图像标注为类型1,可以将500张动漫类图像标注为类型2。

s202、将训练集划分为多个子训练集。

子训练集可以是总训练集的子集。

可选的,可以通过如下可行的方式将训练集划分为多个子训练集:

一种可行的实现方式:将训练集等比例划分为多个子训练集。

在实际应用过程中,可以按照训练集的总量等比例的将训练集划分为多个子训练集,每个子训练集中的图像类别数量与总训练集中的图像类别数量相同。例如,总训练集中可以包括10类图像,每类图像中有100张图像,可以将总训练集等比例的分割为5个子训练集,其中,每个子训练集可以包括10类图像,每一类20张图像,共200张图像。

在该种可行的实现方式中,由于训练集是按照等比例划分为多个子训练集,不需要复杂的筛选过程,因此,可以快速的将训练集划分为多个子训练集。

另一种可行的实现方式:将训练集随机划分为多个子训练集。

可以按照训练集的总量将训练集随机划分为多个子训练集,每个子训练集中的图像类别数量与总训练集中图像类别数量相同。例如,在人脸识别领域中,训练集中有10类人脸图像,每类10张人脸图像,此时可以将训练集划分为2个子训练集,一个子训练集中有30张人脸图像,另一个子训练集中有70张人脸图像,且每个子训练集中都包括10类人脸图像。

在该种可行的实现方式中,由于训练集随机划分为多个子训练集,在训练集划分的过程中,可以任意设定子训练集的数据量,因此,可以合理的利用系统的资源。

s203、确定待分类对象与每个子训练集之间的残差集合。

其中,残差集合中包括多个残差。残差可以是实际观察值与估计值之间的差,例如,在图像识别领域中,残差可以是预测值与实际值的差值。

可选的,可以根据如下可行的方式确定待分类对象与每个子训练集之间的残差集合:根据待分类对象对应的第二稀疏信号和待分类对象确定。

稀疏信号可以指信号中非零元素小于预设阈值的信号,稀疏信号可以是离散的信号。例如,若一个信号中,非零元素小于预设阈值k,那么该信号可称为k-稀疏信号。

第二稀疏信号可以是待分类对象对应的稀疏信号。可选的,可以根据如下可行的方式确定待分类对象对应的第二稀疏信号:根据第二原子集合,确定待分类对象对应的第二稀疏信号。

第二原子集合可以是子训练集对应的原子集合。可选的,可以对子训练集进行聚类处理,得到子训练集对应的第二原子集合。例如,对子训练集中的每一类数据进行聚类处理,得到每一类数据对应的聚类中心,根据聚类中心,得到训练集对应的第二原子集合。聚类处理可以是将临近的类似分类区域聚类并合并。例如,子训练集中包括3类数据,每类数据有100个,对子训练集中的每一类数据分别进行聚类处理,得到每一类数据对应的10个聚类中心,总共得到30个聚类中心,将这30个聚类中心构造成子训练集对应的第二原子集合a。

可选的,可以使用k-means算法对子训练集中各类数据进行聚类处理。

可选的,可以将第二原子集合中的各类数据聚类得到的聚类中心归一化处理,使得‖clj‖2=1,其中,‖clj‖2=1表示第l个子训练集中的第j个聚类中心的矩阵元素的平方和为1,然后将归一化处理后的第二原子集合输入到omp算法中,使用omp算法可以确定待分类对象的第二稀疏信号。

其中,第二稀疏信号满足如下公式:

即,第二稀疏信号满足且非零系数最少。其中,ε表示最小误差可以取0.01;表示第二稀疏信号;y表示待分类数据;a表示归一化处理后的第二原子集合;s.t.表示subjectto(使得满足),表示非零系数最少的稀疏信号。

获取待分类对象的第二稀疏信号后,可以根据如下公式计算第二原子集合的残差:

其中,rl(y)表示第二原子集合的残差;y表示待分类数据;a表示归一化处理后的第二原子集合;表示第二稀疏信号;表示中第l类训练数据位置的系数,其它类训练数据位置的系数都为零。

根据第二原子集合对应的多个残差,得到待分类对象与每个子训练集之间的残差集合。

s204、根据待分类对象与每个子训练集之间的残差集合,确定待分类对象的类别。

待分类对象的类别可以用于区分待分类对象。例如,在图像领域中,待分类对象的类别可以是风景类图像和动漫类图像。可以根据如下方式确定待分类对象的类别:根据目标残差确定,其中,目标残差可以为残差和与第一残差的和。例如,可以根据如下方式确定目标残差:

rl'(y)=rl(y)+rnewl(y)

其中,rl′(y)为目标残差;rl(y)为残差和;rnewl(y)为第一残差。

残差和可以为残差的和值。可选的,可以对待分类对象与每个子训练集之间的残差集合中同类数据的残差求和,得到残差和。例如,子训练集1中第一类数据对应的残差为a1,子训练集2中第一类数据对应的残差为a3,子训练集3中第一类数据对应的残差为a3,则残差和为残差a1、残差a2与残差a3的和。

第一残差为第一原子集合对应的残差。第一残差可以为第一稀疏信号和待分类对象确定的残差。可选的,可以根据第一原子集合确定第一稀疏信号,其中,第一原子集合可以为原子的集合,可以包括多个原子,其中,原子为子训练集中每一类数据的聚类中心。

可选的,可以根据待分类对象与每个子训练集之间的残差集合,确定第一原子集合。可选的,可以在待分类对象与每个子训练集之间的残差集合中确定预设阈值个残差,将残差对应的子训练集组成第一原子集合。例如,预设阈值为10,待分类对象与每个子训练集之间的残差集合中有100个残差,从中选取10个残差,获取这10个残差对应的10个子训练集,将10个子训练集组成第一原子集合。

可选的,可以将第一原子集合归一化处理,将归一化处理后的第一原子集合输入到omp算法中,omp算法可以输出待分类对象对应的第一稀疏信号。

其中,待分类对象对应的第一稀疏信号满足如下公式:

即,第一稀疏信号满足且非零系数最少。其中,ε表示最小误差可以取0.01;表示第一原子集合重建的稀疏信号;y表示待分类数据;a表示归一化处理后的第一原子集合;s.t.表示subjectto(使得满足),表示非零系数最少的稀疏信号。

获取待分类对象对应的第一稀疏信号后,可以根据如下公式计算第一原子集合的残差:

其中,rnewl(y)表示第一原子集合的第一残差;y表示待分类数据;anew表示第一原子集合;表示第一稀疏信号;表示中的第一原子集合,在除了第l个原子的其它原子的系数都为零。

可选的,可以根据如下公式确定待分类对象的类别:

class(y)=argminr′l(y)

其中,class(y)为待分类对象的类别;argmin表示使rl′(y)达到最小值时y的取值;rl′(y)表示目标残差。

根据目标残差判断待分类对象的类别可以有效提高判断的准确性。若测试数据为y,所属类别为lp。由于训练集的随机分割,假设子训练集1判断数据类别为lp,则认为子训练集1最能够表示测试数据y。若子训练集2判断数据类别为lq,则认为子训练集2不能够表示测试数据y。为了降低子训练集2带来的影响,将子训练集1和子训练集2组合构造新的子训练集3,在利用omp算法求解稀疏表示信号时,由于测试数据会与所属类别的子训练集更匹配,将会更大概率地选取子训练集1得到新的残差,从而平衡子训练集2带来的影响。

本申请实施例提供的数据分类方法、装置及设备,先获取训练集和待分类对象,并将训练集划分为多个子训练集,同时确定分类对象与每个子训练集之间的残差集合,并根据待分类对象与每个子训练集之间的残差集合,确定待分类对象的类别。由于训练集被划分为多个子训练集,可以并行处理每个子训练集,且待分类对象的类别是根据待分类对象与每个子训练集之间的残差集合确定的,因此,待分类对象与残差集合的相关度较高,且数据分类的训练集减小,提高了数据分类的准确率和效率。

在图2实施例的基础上,下面,结合图3,对上述数据分类方法进行详细说明。

图3为本申请实施例提供的另一数据分类方法的流程示意图。请参见图3,该方法可以包括:

s301、获取训练集和待分类对象。

需要说明的是,s301的执行过程可以参见s201的执行过程,本发明实施例不再进行赘述。

s302、将训练集划分为多个子训练集。

需要说明的是,s302的执行过程可以参见s202的执行过程,本发明实施例不再进行赘述。

s303、确定待分类对象与每个子训练集之间的残差集合。

需要说明的是,s303的执行过程可以参见s203的执行过程,本发明实施例不再进行赘述。

s304、根据待分类对象与每个子训练集之间的残差集合,确定第一原子集合。

第一原子集合可以为原子的集合。第一原子集合可以包括多个原子,其中,原子为子训练集中每一类数据的聚类中心。

可选的,可以根据如下可行的方式确定第一原子集合:根据待分类对象和每个子训练集之间的残差集合中,确定残差集合中的最小残差,得到m个最小残差,其中m为大于或等于2的整数,m为子训练集的数量。例如,若m为10,聚类数目为10,且每个子训练集中包括10类数据;对每个子训练集中的10类数据进行聚类处理,每个子训练集中的每类数据得到10个聚类中心,进而得到每个子训练集中的10个残差,确定每个子训练集中的最小残差,从而得到10个子训练集的10个最小残差。

在m个最小残差中确定n个最小残差,其中n为小于或等于m的整数。例如,得到10个子训练集对应的10个最小的残差,对残差进行排序,可以在10个最小残差中,确定2个最小残差。根据n个最小的残差,确定第一原子集合。例如,确定2个最小残差,其对应的聚类中心为聚类中心a和聚类中心b,将聚类中心a和聚类中心b,组成第一原子集合。

可选的,可以对m个最小残差按照从小到大的顺序排序,将排序后的前n个最小残差确定为n个最小残差。例如,若有5个最小残差按从小到大的顺序排列为1、2、3、4、5,可以选取前2个残差1、2作为最小残差。

可选的,可以从m个残差中任意选取n个残差,本申请实施例对此不做限定。

s305、根据残差和以及第一原子集合,确定待分类对象的类别。

其中,残差和为可以为残差的和值。可选的,可以对待分类对象与每个子训练集之间的残差集合中同类数据的残差求和,得到残差和。

下面结合图4,对本申请实施例中判断待分类对象的类别的过程进行详细说明。

图4为本申请实施例提供的判断待分类对象的类别的过程示意图,请参见图4。首先将总训练集划分成三个子训练集,然后对三个子训练集分别进行聚类处理,根据src算法对聚类处理后的三个子训练集进行处理,得到三个子训练集对应的残差集合,确定每个残差集合中的最小残差。并计算三个子训练集的残差集合之间同类数据的残差和。根据src算法得到三个子训练集对应的最小残差之后,对三个残差进行排序,确定其中最小的两个残差,并根据最小的两个残差所对应的聚类中心,组成第一原子集合。根据src算法对第一原子集合进行处理,获得第一残差,将第一残差与残差和相加,获取目标残差,根据目标残差对待分类对象的类别进行判断。

可选的,若存在多个第一残差,根据第一残差与残差和相加,确定的最小的残差,作为目标残差。例如,若第一残差包括残差a和残差b,根据残差a和残差和相加的值小于残差b和残差和相加的值,则第一残差中的残差a与残差和相加,得到目标残差。

可选的,由于各个子训练集的聚类src过程可以并行地运行,可以使用多核cpu或者多线程环境对子训练集进行处理,从而进一步提高数据分类的效率。

下面结合图5,对本申请实施例提供的数据分类方法的效果进行描述。

图5为本申请实施例提供的数据分类方法提供的仿真实验示意图,请参见图5。横轴为聚类数目k,纵轴为聚类时间,曲线21为子训练集为数量为1的仿真实验曲线,曲线22为子训练集数量为2的仿真实验曲线,曲线23为子训练集数量为3的仿真实验曲线,曲线24为子训练集数量为6的仿真实验曲线。

本申请实施例中,在mnist数据集上进行仿真,其中,minist数据集包括70000个手写数字样本,其中有60000个训练样本的训练集和10000个测试样本的待分类对象,每个图像的大小为28×28像素。为了不失去一般性,本申请实施例从测试集合中每一类样本中随机选取100个样本,共1000个测试样本,从训练集合中每一类样本中随机选取1200个样本,共12000个训练样本。

如图5所示,随着聚类数目k的变化,划分训练集后的聚类时间小于未划分训练集的聚类时间,并且相比于未划分训练集的聚类时间,当子训练集为2时,聚类时间下降42.8%~45.2%,当子训练集为3时,聚类时间下降54.1%~60.5%。

由于高维数据会增加数据分类的复杂度,且使得数据分类的泛化能力降低,因此,本申请实施例对数据进行降维处理。

图6a为本申请实施例提供的随机投影法降维后提供的仿真实验示意图,请参见图6a。其中,横轴为聚类数目,纵轴为分类准确率,曲线31为子训练集为数量为1的仿真实验曲线,曲线32为子训练集数量为2的仿真实验曲线,曲线33为子训练集数量为3的仿真实验曲线,曲线34为子训练集数量为6的仿真实验曲线。

图6b为本申请实施例提供的eigenface法降维后提供的仿真实验示意图,请参见图6b。其中,其中,横轴为聚类数目,纵轴为分类准确率,曲线41为子训练集为数量为1的仿真实验曲线,曲线42为子训练集数量为2的仿真实验曲线,曲线43为子训练集数量为3的仿真实验曲线,曲线44为子训练集数量为6的仿真实验曲线。

由图6a-图6b可以得到使用不同的降维方法,随着聚类数目变化,在子训练集为2和子训练集为3时,本申请实施例的数据分类方法的分类准确率高于未划分训练集时的分类准确率。在聚类数据为120时,本申请实施例的数据分类方法的分类准确度提高0.47%~0.76%,在聚类数目k=840时,本申请实施例的数据分类方法的分类准确度提高0.89%~1.11%。当j=6且在聚类数目较低时,例如,k=120时,由于分割训练集对聚类造成的影响较大,准确率上升幅度较小,但也优于传统聚类src算法。

本申请实施例提供的数据分类方法、装置及设备,先获取训练集和待分类对象,并将训练集划分为多个子训练集,同时确定分类对象与每个子训练集之间的残差集合,并根据待分类对象与每个子训练集之间的残差集合,确定第一原子集合,并根据残差和以及第一原子集合,确定待分类对象的类别。由于训练集被划分为多个子训练集,可以并行处理每个子训练集,且根据第一原子集合确定第一残差值,根据第一残差值和残差和确定待分类对象的类别,因此,待分类对象与残差集合的相关度较高,根据更能表示待分类数据类别的残差确定待分类对象的类别,且数据分类的训练集减小,提高了数据分类的准确率和效率。

在上述任意一个实施例的基础上,下面,结合图7,通过具体示例,对数据分类方法进行详细说明。

图7为本申请实施例提供的数据分类方法的过程示意图。请参见图7,训练图像集中包括各种类别的人脸图像。例如,训练图像集中包括a类人脸图像、b类人脸图像和c类人脸图像。对训练图像集进行等比例的分割,可以得到子训练集1、子训练集2和子训练集3。其中,每个子训练集中包括训练图像集中的各类图像。例如,子训练集中包括训练图像集中的所有类别的图像,人脸图像a1、人脸图像a2、人脸图像a3,为训练图像集中的a类人脸图像。

对每个子训练集进行聚类处理,进而得到子训练集对应的残差值。例如,子训练集1对应的残差值为残差值a1、残差值b1和残差值c1;子训练集2对应的残差值为残差值a2、残差值b2和残差值c2;子训练集3对应的残差值为残差值a3、残差值b3和残差值c3。

确定每个子训练集的残差集合之间的同类数据残差,将同类数据残差相加得到残差和。例如,子训练集1的残差集合为残差值a1、残差值b1和残差值c1,子训练集2的残差集合为残差值a2、残差值b2和残差值c2,子训练集3的残差集合为残差值a3、残差值b3和残差值c3,将同类数据的残差相加得到残差和a1+a2+a3、残差和b1+b2+b3、残差和c1+c2+c3。确定各子训练的残差集合中的最小残差,在三个最小残差中确定两个残差。例如,子训练集1的最小残差为a1,子训练集2的最小残差为b2,子训练集3的最小残差为c3,对a1、b2和c3排序,确定最小的两个残差b2和c3。根据残差b2和残差c3对应的聚类中心,确定第一原子集合。对根据第一原子集合聚类处理,进而得到残差值b和残差值c,根据残差值b和残差值c确定目标残差。例如,将残差值b与残差和b1+b2+b3相加,将残差值c与残差和c1+c2+c3相加,并将残差和a1+a2+a3与1相加,得到三个残差值,将最小的残差值确定为目标残差。

图8为本申请实施例提供的一种数据分类装置的结构示意图。该数据分类装置10可以设置在终端设备中。请参见图8,所述数据分类装置10包括获取模块11、划分模块12、第一确定模块13、第二确定模块14、其中:

所述获取模块11用于,获取训练集和待分类对象;

所述划分模块12用于,将所述训练集划分为多个子训练集;

所述第一确定模块13用于,确定所述待分类对象与每个子训练集之间的残差集合,所述残差集合中包括多个残差;

所述第二确定模块14用于,根据所述待分类对象与每个子训练集之间的残差集合,确定所述待分类对象的类别。

在一种可能的实施方式中,所述第二确定模块14具体用于:

根据所述待分类对象与每个子训练集之间的残差集合,确定第一原子集合,所述第一原子集合中包括多个原子,所述原子为xxx的聚类中心;

对所述待分类对象与每个子训练集之间的残差集合中同类数据的残差求和,得到残差和;

根据所述残差和以及所述第一原子集合,确定所述待分类对象的类别。

在一种可能的实施方式中,所述第二确定模块14具体用于:

根据所述待分类对象与每个子训练集之间的残差集合,确定第一原子集合,所述第一原子集合中包括多个原子,所述原子为所述子训练集中每一类数据的聚类中心;

对所述待分类对象与每个子训练集之间的残差集合中同类数据的残差求和,得到残差和;

根据所述残差和以及所述第一原子集合,确定所述待分类对象的类别。

在一种可能的实施方式中,所述第二确定模块14具体用于:

在每个残差集合中确定最小残差,得到m个最小残差,所述m为大于或等于2的整数,所述m为所述子训练集的数量;

在所述m个最小残差中确定n个最小残差,所述n为小于或等于所述m的整数;

确定所述第一原子集合包括所述n个最小残差对应的原子集合。

在一种可能的实施方式中,所述第二确定模块14具体用于:

对所述m个最小残差按照从小到大的顺序排序;

将排序后的前n个最小残差确定为所述n个最小残差。

在一种可能的实施方式中,所述第二确定模块14具体用于:

根据所述第一原子集合,确定所述待分类对象对应的第一稀疏信号;

根据所述第一稀疏信号和所述待分类对象,确定第一残差;

根据所述第一残差和所述残差和,确定所述目标残差;

根据所述目标残差,确定所述待分类对象的类别。

在一种可能的实施方式中,所述第一确定模块13具体用于:

对所述子训练集进行聚类处理,得到所述子训练集对应的第二原子集合;

根据所述第二原子集合,确定所述待分类对象对应的第二稀疏信号;

根据所述第二稀疏信号和所述待分类对象,确定所述残差集合。

本发明实施例提供的一种数据分类装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

图9为本申请实施例提供的数据分类设备的结构示意图。请参见图9,数据分类设备20可以包括:收发器21、存储器22、处理器23。收发器21可包括:发射器和/或接收器。该发射器还可称为发送器、发射机、发送端口或发送接口等类似描述,接收器还可称为接收器、接收机、接收端口或接收接口等类似描述。示例性地,收发器21、存储器22、处理器23,各部分之间通过总线24相互连接。

存储器22用于存储程序指令;

处理器23用于执行该存储器所存储的程序指令,用以使得数据分类设备20执行上述任一所示的数据分类方法。

其中,收发器21的接收器,可用于执行上述数据分类设备的接收功能。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现上述数据分类方法。

本申请实施例还可提供一种计算机程序产品,该计算机程序产品可以由处理器执行,在计算机程序产品被执行时,可实现上述任一所示的终端设备执行的数据分类方法。

本申请实施例的终端设备、计算机可读存储介质及计算机程序产品,可执行上述终端设备执行的数据分类方法,其具体的实现过程及有益效果参见上述,在此不再赘述。

实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-onlymemory,缩写:rom)、ram、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetictape)、软盘(英文:floppydisk)、光盘(英文:opticaldisc)及其任意组合。

本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

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