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

一种数据清洗方法、装置及设备与流程

2021-12-07 21:57:00 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,尤其是一种数据清洗方法、装置及设备。


背景技术:

2.机器学习是实现人工智能的一种途径,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习更加注重算法设计,使计算机能够自动地从数据中学习规律,并利用规律对未知数据进行预测。
3.机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、dna序列测序、语音和手写识别、战略游戏和机器人运用等等。
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.在本技术实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本技术。本技术和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
30.应当理解,尽管在本技术实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
31.机器学习是实现人工智能的一种途径,用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能。神经网络是机器学习的具体实现方式,本文以神经网络为例,介绍机器学习的实现方式,针对其它类型的机器学习算法,与神经网络类似。
32.示例性的,神经网络可以包括但不限于:卷积神经网络(简称cnn)、循环神经网络(简称rnn)、全连接网络等。神经网络的结构单元可以包括但不限于:卷积层(conv)、池化层(pool)、激励层、全连接层(fc)等,对此不做限制。
33.在卷积层中,通过使用卷积核对数据进行卷积运算,使数据特征增强,卷积层在空间范围内使用卷积核进行卷积运算,该卷积核可以是m*n大小的矩阵,卷积层的输入与卷积核进行卷积,可得到卷积层的输出。卷积运算实际是一个滤波过程,在卷积运算中,是将数据与卷积核w(x,y)进行卷积,得到多个卷积特征,这些卷积特征就是卷积层的输出,且可以被提供给池化层。
34.在池化层中,实际上就是一个降采样的过程,通过对多个卷积特征(即卷积层的输出)进行取最大值、取最小值、取平均值等操作,从而可以减少计算量,并保持特征不变性。在池化层中,可以利用局部相关性的原理,对数据进行子抽样,从而可以减少数据处理量,并保留数据中的有用信息。
35.在激励层中,可以使用激活函数(如非线性函数)对池化层输出的特征进行映射,从而引入非线性因素,使得神经网络通过非线性的组合而增强表达能力。其中,激励层的激活函数可以包括但不限于relu(rectified linear units,整流线性单元)函数,以relu函数为例进行说明,则该relu函数可以将池化层输出的所有特征中,小于0的特征置0,而大于0的特征保持不变。
36.在全连接层中,该全连接层用于将输入给本全连接层的所有特征进行全连接处理,从而得到一个特征向量,且该特征向量中可以包括多个特征。
37.在实际应用中,可以根据不同需求,将一个或多个卷积层、一个或多个池化层、一个或多个激励层和一个或多个全连接层进行组合构建神经网络。
38.示例性的,在使用神经网络进行业务处理之前,需要先对神经网络进行训练。在神经网络的训练过程中,可以获取大量初始训练数据,对这些初始训练数据进行数据清洗,得到已清洗训练数据,并利用已清洗训练数据训练神经网络内的各神经网络参数,如卷积层参数(如卷积核参数)、池化层参数、激励层参数、全连接层参数等,对此不做限制。基于已经完成训练的神经网络,就可以使用神经网络进行业务处理,例如,将输入数据提供给神经网络,由神经网络对输入数据进行处理,如利用各神经网络参数对输入数据进行处理,得到输出数据,最终使用神经网络完成业务处理,如人脸检测,车辆检测等。
39.在相关技术中,需要对所有初始训练数据进行数据清洗,并采用所有已清洗训练数据对神经网络进行训练。但是,在这些训练数据中,可能存在无法使用的训练数据,可能存在重复的训练数据,可能存在训练效果较差的训练数据,将这些训练数据均提供给神经网络时,会导致神经网络的训练效果较差,即神经网络的可靠性降低,如人脸检测,车辆检测的准确性大大降低。
40.针对上述发现,在本技术实施例中,可以确定每个初始训练数据的分数值,而分数值用于表示初始训练数据的训练效果,即分数值越高,训练数据的训练效果越好,基于此,可以将分数值高的部分初始训练数据作为目标训练数据,对目标训练数据进行数据清洗,并利用已清洗的目标训练数据对神经网络进行训练。显然,由于目标训练数据是分数值高的训练数据,即训练效果较好的训练数据,因此,将这些训练数据提供给神经网络时,会使得神经网络的训练效果较好,即神经网络的可靠性提高,如人脸检测,车辆检测的准确性增加。
41.以下结合具体实施例,对本技术实施例的技术方案进行说明。
42.参见图1所示,为数据清洗方法的流程示意图,该方法可以包括:
43.步骤101,获取数据集合,该数据集合可以包括多个初始训练数据。
44.示例性的,当需要采用训练数据对神经网络进行训练时,可以先获取训练数据,为了区分方便,将该训练数据称为初始训练数据。例如,可以从某设备获取初始训练数据,也可以接收用户输入的初始训练数据,对此不做限制。
45.示例性的,针对获取到的大量初始训练数据,可以对这些初始训练数据进行分类,每个类型的初始训练数据添加到一个数据集合。例如,将用于进行人脸检测的初始训练数据添加到数据集合1,将用于进行车辆检测的初始训练数据添加到数据集合2,以此类推,对此分类方式不做限制。综上所述,可以得到至少一个数据集合,每个数据集合包括多个初始训练数据。由于每个数据集合的处理过程相同,因此,后续以一个数据集合的处理过程为例进行说明。
46.步骤102,根据数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值,该分数值用于表示初始训练数据的训练效果,比如说,初始训练数据的分数值越高,则表示该初始训练数据的训练效果越好,初始训练数据的分数值越低,则表示该初始训练数据的训练效果越差。
47.初始训练数据的特征信息能够表征初始训练数据的训练效果,当特征信息表征初始训练数据的训练效果较好时,则初始训练数据的分数值较高,当特征信息表征初始训练数据的训练效果较差时,则初始训练数据的分数值较低。综上所述,可以根据初始训练数据的特征信息确定初始训练数据的分数值。
48.示例性的,当至少两个初始训练数据的特征信息相同时,则这些初始训练数据的分数值可以相同,这些初始训练数据的分数值也可以不同。
49.示例性的,可以采用如下方式确定每个初始训练数据的分数值:
50.方式1、针对数据集合中的每个初始训练数据,通过该初始训练数据的特征信息查询预先配置的映射关系,得到该初始训练数据的分数值。
51.示例性的,针对方式1,可以预先配置映射关系,该映射关系可以包括但不限于特征信息与分数值的对应关系,特征信息与分数值的对应关系可以根据经验进行配置,对此不做限制。例如,当特征信息a1表征初始训练数据的训练效果较好时,则特征信息a1对应的分数值较高。又例如,当特征信息a2表征初始训练数据的训练效果较差时,则特征信息a2对应的分数值较低。
52.参见表1所示,为映射关系的一个示例,该映射关系用于记录特征信息与分数值的对应关系,分数值可以采用百分制,也可以是其它分值,对此不做限制。表1是以表格的方式表示映射关系,当然,也可以采用其它数据结构表示映射关系,只要包括特征信息与分数值的对应关系即可,对此不做限制。
53.表1
54.特征信息分数值特征信息a1100特征信息a295特征信息a390特征信息a485
……
55.示例性的,针对数据集合中的每个初始训练数据,可以获取该初始训练数据的特征信息。例如,该初始训练数据可以包括特征信息,因此,可以直接从该初始训练数据中得到该初始训练数据的特征信息。又例如,可以采用某种算法(如深度学习算法)对初始训练数据进行分析,得到该初始训练数据的特征信息,对此分析过程不做限制,只要能够得到初始训练数据的特征信息即可。
56.在得到初始训练数据的特征信息后,可以通过该初始训练数据的特征信息查询表1所示的映射关系,得到该初始训练数据的分数值。例如,若初始训练数据的特征信息为特征信息a3,则该初始训练数据的分数值为90。
57.综上所述,针对数据集合中的每个初始训练数据,可以通过该初始训练数据的特征信息查询表1所示的映射关系,得到该初始训练数据的分数值。
58.方式2、根据数据集合中的每个初始训练数据的特征信息的重要优先级,对所有初始训练数据进行排序,根据排序结果确定每个初始训练数据的分数值。
59.示例性的,针对方式2,可以预先配置特征信息的重要优先级,该重要优先级可以根据经验进行配置,对此重要优先级不做限制。例如,当特征信息a1表征初始训练数据的训练效果较好,特征信息a2表征初始训练数据的训练效果较差时,则特征信息a1的重要优先级可以大于特征信息a2的重要优先级。
60.参见表2所示,为特征信息的重要优先级的示例,重要优先级的数值越高,表示重要优先级越大。表2是以表格方式表示重要优先级,也可以采用其它数据结构表示重要优先级,只要包括特征信息的重要优先级即可,对此不做限制。
61.表2
62.特征信息重要优先级特征信息a110特征信息a29特征信息a38特征信息a47
……
63.示例性的,针对数据集合中的每个初始训练数据,可以获取该初始训练数据的特征信息,获取方式参见上述实施例,在此不再赘述。在得到初始训练数据的特征信息后,可以通过该初始训练数据的特征信息查询表2,得到该初始训练数据的重要优先级。然后,根据每个初始训练数据的特征信息的重要优先级,对所有初始训练数据进行排序,根据排序结果确定每个初始训练数据的分数值。
64.例如,假设初始训练数据1的特征信息的重要优先级>初始训练数据2的特征信息的重要优先级>初始训练数据3的特征信息的重要优先级,则排序结果为初始训练数据1、初始训练数据2和初始训练数据3,因此,初始训练数据1的分数值大于初始训练数据2的分数值,初始训练数据2的分数值大于初始训练数据3的分数值,例如,初始训练数据1的分数值为100,初始训练数据2的分数值为99,初始训练数据3的分数值为98,当然,上述分数值只是示例。
65.综上所述,针对数据集合中的每个初始训练数据,通过对所述初始训练数据进行排序,能够根据排序结果确定每个初始训练数据的分数值。
66.当然,上述方式1和方式2只是本技术的两个示例,对此不做限制,只要能够根据初始训练数据的特征信息确定初始训练数据的分数值即可。
67.在一种可能的实施方式中,特征信息可以包括但不限于应用场景和/或数据质量,对此特征信息不做限制,所有能够表征训练效果的信息,均可以作为特征信息。应用场景用于表示初始训练数据的场景信息,如白天,夜晚,晴天,雨天等,当然,上述只是应用场景的几个示例,对此不做限制。数据质量用于表示初始训练数据的质量信息,如分辨率等,分辨率越高,则数据质量越好,数据越清晰,当然,上述只是数据质量的示例,对此不做限制。
68.以下结合具体情况,对应用场景和/或数据质量的实现过程进行说明。
69.情况1、若特征信息包括应用场景,则根据数据集合中的每个初始训练数据的应用场景,确定每个初始训练数据的场景分;该场景分用于表示初始训练数据的训练效果,比如说,初始训练数据的场景分越高,则表示该初始训练数据的训练效果越好,初始训练数据的场景分越低,则表示该初始训练数据的训练效果越差。然后,根据初始训练数据的场景分确定该初始训练数据的分数值,例如,直接将该初始训练数据的场景分作为该初始训练数据的分数值。
70.初始训练数据的应用场景能够表征初始训练数据的训练效果,当应用场景表征初始训练数据的训练效果较好时,则初始训练数据的场景分较高,当应用场景表征初始训练数据的训练效果较差时,则初始训练数据的场景分较低。综上所述,可以根据初始训练数据的应用场景确定初始训练数据的场景分。例如,针对夜晚、雨天等,采用这些应用场景的初始训练数据进行训练时,训练效果较好,初始训练数据的场景分较高。针对白天,晴天等,采用这些应用场景的初始训练数据进行训练时,训练效果较差,初始训练数据的场景分较低。
71.情况2、若特征信息包括数据质量,则根据数据集合中的每个初始训练数据的数据质量,确定每个初始训练数据的质量分;该质量分用于表示初始训练数据的训练效果,比如说,初始训练数据的质量分越高,则表示该初始训练数据的训练效果越好,初始训练数据的质量分越低,则表示该初始训练数据的训练效果越差。然后,根据初始训练数据的质量分确定该初始训练数据的分数值,例如,直接将该初始训练数据的质量分作为该初始训练数据的分数值。
72.初始训练数据的数据质量能够表征初始训练数据的训练效果,当数据质量表征初始训练数据的训练效果较好时,则初始训练数据的质量分较高,当数据质量表征初始训练数据的训练效果较差时,则初始训练数据的质量分较低。综上所述,可以根据初始训练数据的数据质量确定初始训练数据的质量分。
73.例如,针对分辨率较低(即数据质量较差)的初始训练数据,采用其进行训练时,训练效果较好,初始训练数据的质量分较高。针对分辨率较高的初始训练数据,采用其进行训练时,训练效果较差,初始训练数据的质量分较低。
74.情况3、若特征信息包括应用场景和数据质量,则根据数据集合中的每个初始训练数据的应用场景,确定每个初始训练数据的场景分,该场景分用于表示初始训练数据的训练效果。以及,根据数据集合中的每个初始训练数据的数据质量,确定每个初始训练数据的质量分,该质量分用于表示初始训练数据的训练效果。然后,针对每个初始训练数据,根据该初始训练数据的场景分和场景权重值,以及质量分和质量权重值,确定该初始训练数据的分数值。
75.示例性的,可以根据经验配置场景权重值和质量权重值,对此不做限制,可以任意配置。例如,场景权重值与质量权重值的和可以为1,若用户关注应用场景,则场景权重值大于质量权重值,如场景权重值为0.7,质量权重值为0.3,或者,场景权重值为0.6,质量权重值为0.4。若用户关注数据质量,则质量权重值大于场景权重值,如场景权重值为0.3,质量权重值为0.7,或者,场景权重值为0.4,质量权重值为0.6。此外,还可以将场景权重值和质量权重值均设置为0.5。当然,上述只是场景权重值和质量权重值的几个示例。
76.在情况1和情况3中,需要根据数据集合中的每个初始训练数据的应用场景,确定每个初始训练数据的场景分。例如,针对数据集合中的每个初始训练数据,通过该初始训练数据的应用场景查询预先配置的映射关系(该映射关系包括应用场景与场景分的对应关系),得到该初始训练数据的场景分,具体实现方式参见上述方式1,将特征信息替换为应用场景,将分数值替换为场景分即可,在此不再赘述。又例如,根据数据集合中的每个初始训练数据的应用场景的重要优先级,对所有初始训练数据进行排序,根据排序结果确定每个初始训练数据的场景分,具体实现方式参见上述方式2,在此不再赘述。
77.在情况2和情况3中,需要根据数据集合中的每个初始训练数据的数据质量,确定每个初始训练数据的质量分。例如,针对数据集合中的每个初始训练数据,通过该初始训练数据的数据质量查询预先配置的映射关系(该映射关系包括数据质量与质量分的对应关系),得到该初始训练数据的质量分,具体实现方式参见上述方式1,将特征信息替换为数据质量,将分数值替换为质量分即可,在此不再赘述。又例如,根据数据集合中的每个初始训练数据的数据质量的重要优先级,对所有初始训练数据进行排序,根据排序结果确定每个初始训练数据的质量分,具体实现方式参见上述方式2,在此不再赘述。
78.情况1和情况3中,当至少两个初始训练数据的应用场景相同时,这些初始训练数据的场景分可以相同或不同。情况2和情况3中,当至少两个初始训练数据的数据质量相同时,这些初始训练数据的质量分可以相同或不同。
79.综上所述,可以根据数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值。在得到每个初始训练数据的分数值之后,在一种可能的实施方式中,可以直接将该分数值作为初始训练数据的分数值。在另一种可能的实施方式中,还可以对初始训练数据的分数值进行修正,将修正后的分数值作为初始训练数据的分数值。以下对分数值的修正过程进行说明:确定两个初始训练数据之间的相似度;若相似度大于预设相似度阈值,则保持一个初始训练数据的分数值不变,并降低另一个初始训练数据的分数值。
80.示例性的,预设相似度阈值可以根据经验配置,对此不做限制,当两个初始训练数据之间的相似度大于预设相似度阈值时,表示这两个初始训练数据非常接近,可以认为是相同或者近似的初始训练数据,即二者是重复的。
81.示例性的,关于相似度的确定方式,可以采用欧氏距离确定两个初始训练数据之间的相似度,或者,采用余弦相似度确定两个初始训练数据之间的相似度,或者,采用皮尔逊相关系数确定两个初始训练数据之间的相似度。当然,上述只是几个示例,对此确定方式不做限制,可以采用任意的相似度算法。
82.例如,比较初始训练数据1与初始训练数据2的相似度,若该相似度大于预设相似度阈值,则保持初始训练数据1的分数值不变,并降低初始训练数据2的分数值,如将分数值降为0。若该相似度不大于预设相似度阈值,则保持初始训练数据1和初始训练数据2的分数
值不变。然后,比较初始训练数据1与初始训练数据3的相似度,以此类推,可以比较任意两个初始训练数据的相似度。
83.示例性的,在相似度大于预设相似度阈值时,可以保持分数值高的初始训练数据的分数值不变,也可以保持分数值低的初始训练数据的分数值不变。
84.示例性的,在降低某个初始训练数据的分数值后,该初始训练数据不参与后续的比较过程,即不再比较该初始训练数据与其它初始训练数据的相似度。
85.步骤103,根据每个初始训练数据的分数值从数据集合中选取目标训练数据。
86.示例性的,由于分数值用于表示初始训练数据的训练效果,分数值越高则初始训练数据的训练效果越好,分数值越低则初始训练数据的训练效果越差,因此,基于每个初始训练数据的分数值,可以将分数值高的初始训练数据作为目标训练数据,这样,能够将训练效果较好的初始训练数据作为目标训练数据。
87.示例性的,可以采用如下方式从数据集合中选取目标训练数据:
88.方式一、针对数据集合中的每个初始训练数据,若该初始训练数据的分数值大于预设分数阈值,则可以将该初始训练数据确定为目标训练数据。
89.示例性的,可以根据经验配置预设分数阈值,对此不做限制。当分数值大于预设分数阈值时,则表示初始训练数据的训练效果较好,可以将该初始训练数据作为目标训练数据。当分数值不大于预设分数阈值时,则表示初始训练数据的训练效果较差,不需要将该初始训练数据作为目标训练数据。
90.例如,假设初始训练数据1的分数值大于预设分数阈值,则可以将初始训练数据1确定为目标训练数据。又例如,假设初始训练数据2的分数值不大于预设分数阈值,则不将初始训练数据2确定为目标训练数据,以此类推。
91.方式二、根据数据集合中的每个初始训练数据的分数值,对所有初始训练数据进行排序,并根据排序结果选取多个初始训练数据作为目标训练数据。
92.例如,基于数据集合中的每个初始训练数据的分数值,按照分数值从高到低的顺序,对所有初始训练数据进行排序。基于排序结果,从分数值高的初始训练数据开始,选取排序靠前的多个初始训练数据作为目标训练数据。
93.示例性的,可以将数据清洗时间区间(表示在这个时间区间内进行数据清洗)划分为多个统计周期,每个统计周期的时长相同。在每个统计周期,可以从分数值高的初始训练数据开始,选取排序靠前的多个初始训练数据作为目标训练数据。例如,排序结果为初始训练数据1-初始训练数据100,在第1个统计周期,选取初始训练数据1-初始训练数据10作为目标训练数据,在第2个统计周期,选取初始训练数据11-初始训练数据20作为目标训练数据,以此类推。
94.在一种可能的实施方式中,可以先确定下一个统计周期的待清洗数量m,m可以为正整数,即自然数。在下一个统计周期,基于排序结果,可以从分数值高的初始训练数据开始,依次选取m个初始训练数据作为目标训练数据。
95.m的取值可以根据经验配置,对此不做限制。例如,所有操作节点在一个统计周期能够对10个目标训练数据进行数据清洗时,m可以为10或者略大于1。假设待清洗的目标训练数据为若干个图片,那么,如果m取值为0则可以认为下一个统计周期的图片数量为0,所有图片均已被清洗完毕。
96.由于操作节点的数量可能发生变化,操作节点在不同统计周期进行数据清洗的目标训练数据的数量也可能发生变化,因此,m还可以采用如下方式确定:根据操作节点的清洗效率确定下一个统计周期的待清洗数量m,该清洗效率表示操作节点(即所有操作节点)在当前统计周期的已完成清洗量。
97.综上所述,可以将数据清洗时间区间划分为多个统计周期,每个统计周期的时长相同。在第1个统计周期,先选取10个初始训练数据作为目标训练数据,将这10个目标训练数据添加到待清洗列表,由操作节点从待清洗列表获取目标训练数据,并对目标训练数据进行数据清洗。若操作节点在第1个统计周期能够对15个目标训练数据进行数据清洗,则第1个统计周期,还需要选取5个初始训练数据作为目标训练数据,将这5个目标训练数据添加到待清洗列表,由操作节点从待清洗列表获取目标训练数据,并对目标训练数据进行数据清洗。
98.显然,由于操作节点在第1个统计周期共对15个目标训练数据进行数据清洗,则清洗效率可以为15,确定第2个统计周期的待清洗数量m为15。在第2个统计周期,先选取15个初始训练数据作为目标训练数据,将这15个目标训练数据添加到待清洗列表,由操作节点从待清洗列表获取目标训练数据,并对目标训练数据进行数据清洗。若操作节点在第2个统计周期能够对12个目标训练数据进行数据清洗,则不需要将新的目标训练数据添加到待清洗列表。
99.显然,由于操作节点在第2个统计周期共对12个目标训练数据进行数据清洗,则清洗效率可以为12,确定第3个统计周期的待清洗数量m为12。
100.在第3个统计周期,先选取9个初始训练数据作为目标训练数据,将这9个目标训练数据添加到待清洗列表,由于待清洗列表中仍然存在3个目标训练数据,这样,待清洗列表一共存在12个目标训练数据。操作节点可以从待清洗列表获取目标训练数据,并对目标训练数据进行数据清洗,以此类推。
101.步骤104,根据目标训练数据进行数据清洗。
102.示例性的,可以将目标训练数据以及清洗参数发送给操作节点,以使操作节点根据清洗参数对目标训练数据进行数据清洗,也可以称为数据标注。
103.示例性的,初始训练数据/目标训练数据可以为图片数据,音频数据,视频数据,文本数据等类型,对此初始训练数据/目标训练数据的类型不做限制。
104.示例性的,对目标训练数据进行数据清洗是指:对目标训练数据进行分类、绘边框、注释、标记(即说明某种属性的标签)等操作的至少一种,对此数据清洗的方式不做限制,所有与神经网络有关的数据清洗方式均适用。
105.示例性的,清洗参数表示如何对目标训练数据进行数据清洗,例如,如何实现分类的参数,如何实现绘边框的参数,如何实现注释的参数,如何实现标记的参数等,因此,操作节点能够根据清洗参数对目标训练数据进行数据清洗。
106.在一种可能的实施方式中,可以根据目标训练数据的数量动态调整操作节点的数量。例如,针对上述方式一,可以将分数值大于预设分数阈值的初始训练数据确定为目标训练数据。假设目标训练数据为48个,每个操作节点能够完成5个目标训练数据的数据清洗工作,则需要部署10个操作节点。基于此,在步骤104中,可以将48个目标训练数据以及清洗参数发送给10个操作节点,以使这些操作节点根据清洗参数对目标训练数据进行数据清洗。
107.在另一种可能的实施方式中,可以根据操作节点的清洗效率动态调整目标训练数据的数量。例如,针对上述方式二,根据操作节点的清洗效率确定下一个统计周期的待清洗数量m,在下一个统计周期选取m个初始训练数据作为目标训练数据。例如,操作节点的清洗效率为10时,则确定下一个统计周期的待清洗数量m为10,基于此,步骤104中,将10个目标训练数据以及清洗参数发送给操作节点,以使操作节点根据清洗参数对目标训练数据进行数据清洗。
108.由以上技术方案可见,本技术实施例中,根据初始训练数据的特征信息确定初始训练数据的分数值,分数值用于表示初始训练数据的训练效果,根据每个初始训练数据的分数值从所有初始训练数据中选取目标训练数据,对目标训练数据进行数据清洗,而不是对所有初始训练数据进行数据清洗,从而提高数据清洗效率,减少冗余数据的无效投入。能够对训练效果好(即分数值高)的目标训练数据进行数据清洗,提供最有效的数据用于训练,使得效果较好的训练数据参与到机器学习,机器学习的效果较好,可以提高清洗资源的利用率。
109.以下结合具体应用场景,对上述技术方案进行说明。参见图2所示,为本技术实施例的应用场景示意图,控制中心模块21,数据导入模块22,主动学习模块23和清洗控制模块24,可以部署在同一个设备,也可以部署在不同设备。
110.在上述应用场景下,参见图3所示,数据清洗方法可以包括:
111.步骤301,控制中心模块21创建清洗任务,该清洗任务可以包括数据清洗时间区间(表示在这个时间区间内进行数据清洗),清洗参数等内容。
112.步骤302,控制中心模块21向数据导入模块22发送工作指令。
113.步骤303,数据导入模块22获取数据集合,该数据集合包括多个初始训练数据。示例性的,数据导入模块22接收到工作指令后,开始工作。在工作过程中,可以从历史数据中获取初始训练数据,和/或,从实时数据中获取初始训练数据,对此不做限制。针对得到的大量初始训练数据,数据导入模块22将相同类型的初始训练数据导入到同一个数据集合,从而得到至少一个数据集合。
114.步骤304,数据导入模块22向控制中心模块21返回数据导入成功消息。数据导入成功消息表示数据导入模块22已经完成数据导入工作,即已经得到数据集合,该数据导入成功消息还可以携带数据集合中的初始训练数据的数量。
115.步骤305,控制中心模块21向主动学习模块23发送工作指令。
116.步骤306,主动学习模块23根据数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值。示例性的,主动学习模块23接收到工作指令后,开始工作。在工作过程中,从数据导入模块22获取数据集合,并根据数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值。
117.在一种可能的实施方式中,主动学习模块23在接收到工作指令后,可以从数据导入模块22获取数据集合中的所有初始训练数据,即一次性获取所有初始训练数据,并根据数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值,具体方式参见步骤102的方式1或方式2,在此不再赘述。
118.在另一种可能的实施方式中,主动学习模块23在接收到工作指令后,可以从数据导入模块22获取数据集合中的部分初始训练数据,根据部分初始训练数据的特征信息,确
定部分初始训练数据的分数值。在分数值确定完成后,再从数据导入模块22获取数据集合中的部分初始训练数据,以此类推,一直到从数据导入模块22获取数据集合中的所有初始训练数据,完成分数值确定。
119.例如,主动学习模块23从数据导入模块22获取10个初始训练数据,针对每个初始训练数据,通过该初始训练数据的特征信息查询预先配置的映射关系,得到该初始训练数据的分数值。然后,再从数据导入模块22获取10个初始训练数据,以此类推,一直到完成所有初始训练数据的分数值确定。
120.又例如,主动学习模块23从数据导入模块22获取初始训练数据1-10,根据初始训练数据1-10的特征信息的重要优先级,对初始训练数据1-10进行排序,根据排序结果确定初始训练数据1-10的分数值。然后,再从数据导入模块22获取初始训练数据11-20,根据初始训练数据1-20的特征信息的重要优先级,对初始训练数据1-20进行排序,根据排序结果确定初始训练数据1-20的分数值。
121.由于重新确定了初始训练数据1-10的分数值,因此,需要对初始训练数据1-10的分数值进行修正,即采用修正后的初始训练数据1-10的分数值。
122.然后,再从数据导入模块22获取初始训练数据21-30,根据初始训练数据1-30的特征信息的重要优先级,对初始训练数据1-30进行排序,根据排序结果确定初始训练数据1-30的分数值。由于重新确定了初始训练数据1-20的分数值,因此,需要对初始训练数据1-20的分数值进行修正,即采用修正后的初始训练数据1-20的分数值,以此类推,一直到完成所有初始训练数据的分数值确定。
123.示例性的,从数据导入模块22获取初始训练数据11-20后,需要对初始训练数据1-10的分数值进行修正,其原因在于:在根据初始训练数据1-10的特征信息的重要优先级,对初始训练数据1-10进行排序时,假设初始训练数据5位于首位,则初始训练数据5的分数值为100。但是,在根据初始训练数据1-20的特征信息的重要优先级,对初始训练数据1-20进行排序时,初始训练数据5可能不是位于首位,如位于第6位,则初始训练数据5的分数值为95,即初始训练数据5的分数值发生变化,因此需要对初始训练数据5的分数值进行修正。
124.主动学习模块23根据数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值之后,还可以确定两个初始训练数据之间的相似度;若相似度大于预设相似度阈值,则保持一个初始训练数据的分数值不变,并降低另一个初始训练数据的分数值。例如,如果有重复的初始训练数据,则保持第一个初始训练数据的分数值不变,将其它初始训练数据的分数值置为0。
125.当然,主动学习模块23也可以在确定初始训练数据的分数值之前,执行相似度的比较过程。例如,先确定初始训练数据之间的相似度,若相似度大于预设相似度阈值,则将一个初始训练数据保留在数据集合中,并将剩余的初始训练数据的分数值置为0,且剩余的初始训练数据不保留在数据集合中。基于此,主动学习模块23可以根据数据集合中的每个初始训练数据(已经不包括分数值置为0的初始训练数据)的特征信息,确定每个初始训练数据的分数值。
126.示例性的,主动学习模块23支持按条件查询初始训练数据,比如说,分数值大于某数值的初始训练数据的数量,不同分数值区间的分布情况等。
127.步骤307,主动学习模块23向控制中心模块21发送评分完成消息,该评分完成消息
表示主动学习模块23已经对所有初始训练数据进行评分。
128.步骤308,控制中心模块21向清洗控制模块24发送工作指令。
129.步骤309,清洗控制模块24确定待清洗数量m,将待清洗数量m发送给主动学习模块23。示例性的,清洗控制模块24接收到工作指令后,开始工作。在工作过程中,先确定待清洗数量m,并将待清洗数量m发送给主动学习模块23。
130.示例性的,第1个统计周期的待清洗数量m1,可以根据经验配置。第2个统计周期的待清洗数量m2,基于所有操作节点在第1个统计周期的清洗效率确定。第3个统计周期的待清洗数量m2,基于所有操作节点在第2个统计周期的清洗效率确定,以此类推。综上所述,清洗控制模块24可以确定每个统计周期的待清洗数量m,并将待清洗数量m发送给主动学习模块23。
131.示例性的,当操作节点在统计周期的清洗效率有提高或减少,和/或,操作节点的数量有增加或减少时,均会导致所有操作节点的清洗效率发生变化,即待清洗数量m会发生变化,从而能够动态调整待清洗数量m。
132.示例性的,清洗控制模块24可以统计每个操作节点的清洗效率,即该操作节点在当前统计周期内完成的目标训练数据数量。然后,确定所有操作节点的清洗效率,基于所有操作节点的清洗效率确定待清洗数量m。
133.步骤310,主动学习模块23根据每个初始训练数据的分数值,对所有初始训练数据进行排序,基于排序结果,从分数值高的初始训练数据开始,选取前m个初始训练数据作为目标训练数据,将目标训练数据发送给清洗控制模块24。
134.步骤311,清洗控制模块24将目标训练数据添加到待清洗列表。
135.例如,第1个统计周期,主动学习模块23将m1个初始训练数据作为目标训练数据,将m1个目标训练数据发送给清洗控制模块24,清洗控制模块24将m1个目标训练数据添加到待清洗列表。第2个统计周期,主动学习模块23将m2个初始训练数据作为目标训练数据,将m2个目标训练数据发送给清洗控制模块24,清洗控制模块24将m2个目标训练数据添加到待清洗列表,以此类推。
136.步骤312,清洗控制模块24将目标训练数据发送给操作节点,以使操作节点对目标训练数据进行数据清洗。例如,将目标训练数据以及清洗参数发送给操作节点,以使操作节点根据清洗参数对目标训练数据进行数据清洗。
137.例如,操作节点能够处理新的目标训练数据时,可以向清洗控制模块24发送请求消息,该请求消息用于请求n个目标训练数据,表示操作节点能够对n个目标训练数据进行数据清洗,n可以为正整数。清洗控制模块24在接收到请求消息后,判断待清洗列表中是否存在n个目标训练数据。如果是,则直接将n个目标训练数据发送给操作节点。如果否,则从主动学习模块23获取(n-a)个目标训练数据,a用于表示待清洗列表中已存在的目标训练数据,这样,可以得到n个目标训练数据,并将n个目标训练数据发送给操作节点。
138.示例性的,操作节点也可以称为清洗节点,操作节点可以为机器,也可以为人工,对此不做限制,只要能够对目标训练数据进行数据清洗即可。
139.步骤313,清洗控制模块24向控制中心模块21反馈任务执行情况。
140.由以上技术方案可见,本技术实施例中,可以对目标训练数据进行数据清洗,而不是对所有初始训练数据进行数据清洗,从而提高数据清洗效率,减少冗余数据的无效投入。
此外,能够对训练效果好(即分数值高)的目标训练数据进行数据清洗,提供最有效的数据用于训练,使得效果较好的训练数据参与到机器学习,机器学习的效果较好,可以提高清洗资源的利用率。
141.例如,当前有2个操作节点可以投入到数据清洗,每个操作节点每天可以对100个目标训练数据进行数据清洗,假设存在1000个初始训练数据,则可以从1000个初始训练数据中选取分数值大于n的200个初始训练数据,将这200个初始训练数据作为目标训练数据。然后,可以将100个目标训练数据提供给一个操作节点,并将剩余100个目标训练数据提供给另一个操作节点,这样,可以由2个操作节点对上述200个目标训练数据进行数据清洗。
142.在数据清洗过程中,若增加了一个操作节点,则可以从剩余的800个初始训练数据中,选取分数值高的100个初始训练数据,将这100个初始训练数据作为目标训练数据,并将这些目标训练数据提供给新增加的操作节点。
143.又例如,当前有2个操作节点可以投入到数据清洗,在数据清洗过程中,发现分数值高的初始训练数据开始向上累积,即操作节点数量不够,则可以根据累积的高分数值的初始训练数据数量,动态调整投入的操作节点数量。
144.又例如,基于历史积累的清洗效率,确定一个统计周期可以完成1000个目标训练数据,则清洗控制模块24从主动学习模块23获取1000个目标训练数据投入清洗。在数据清洗过程中,发现实际的清洗效率高,一个统计周期可以完成1100个目标训练数据,则清洗控制模块24从主动学习模块23获取100个目标训练数据投入清洗。在下一个统计周期,先从主动学习模块23获取1100个目标训练数据投入清洗,以此类推,可以动态调整目标训练数据的数量。
145.基于与上述方法同样的申请构思,本技术实施例中还提出一种数据清洗装置,如图4所示,为所述数据清洗装置的结构图,所述装置包括:
146.获取模块41,用于获取数据集合,所述数据集合包括多个初始训练数据;确定模块42,用于根据所述数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值,所述分数值用于表示初始训练数据的训练效果;选取模块43,用于根据每个初始训练数据的分数值从所述数据集合中选取目标训练数据;清洗模块44,用于根据所述目标训练数据进行数据清洗。
147.所述确定模块42具体用于:针对所述数据集合中的每个初始训练数据,通过所述初始训练数据的特征信息查询预先配置的映射关系,得到所述初始训练数据的分数值;其中,所述映射关系包括特征信息与分数值的对应关系;或者,
148.根据所述数据集合中的每个初始训练数据的特征信息的重要优先级,对所有初始训练数据进行排序,根据排序结果确定每个初始训练数据的分数值。
149.所述特征信息包括应用场景和/或数据质量,所述确定模块42具体用于:
150.若所述特征信息包括应用场景和数据质量,则根据所述数据集合中的每个初始训练数据的应用场景,确定每个初始训练数据的场景分;根据所述数据集合中的每个初始训练数据的数据质量,确定每个初始训练数据的质量分;
151.针对每个初始训练数据,根据所述初始训练数据的场景分和场景权重值,以及质量分和质量权重值,确定所述初始训练数据的分数值。
152.示例性的,所述确定模块42还用于:在根据所述数据集合中的每个初始训练数据
的特征信息,确定每个初始训练数据的分数值之后,确定两个初始训练数据之间的相似度;若所述相似度大于预设相似度阈值,则保持一个初始训练数据的分数值不变,并降低另一个初始训练数据的分数值。
153.所述选取模块43具体用于:针对每个初始训练数据,若所述初始训练数据的分数值大于预设分数阈值,则将所述初始训练数据确定为目标训练数据;或者,根据所述数据集合中的每个初始训练数据的分数值,对所有初始训练数据进行排序,并根据排序结果选取多个初始训练数据作为目标训练数据。
154.所述选取模块43根据排序结果选取多个初始训练数据作为目标训练数据时具体用于:确定下一个统计周期的待清洗数量m;
155.在下一个统计周期,基于所述排序结果,从分数值高的初始训练数据开始,依次选取m个初始训练数据作为目标训练数据。
156.所述选取模块43确定下一个统计周期的待清洗数量m时具体用于:
157.根据操作节点的清洗效率确定下一个统计周期的待清洗数量m,所述清洗效率表示所述操作节点在当前统计周期的已完成清洗量。
158.所述清洗模块44具体用于:将所述目标训练数据以及清洗参数发送给操作节点,以使所述操作节点根据所述清洗参数对所述目标训练数据进行数据清洗。
159.基于与上述方法同样的申请构思,本技术实施例中还提出一种数据清洗设备,本技术实施例提供的数据清洗设备,从硬件层面而言,数据清洗设备的硬件架构示意图可以参见图5所示。数据清洗设备可以包括:处理器51和机器可读存储介质52,所述机器可读存储介质52存储有能够被所述处理器51执行的机器可执行指令;所述处理器51用于执行机器可执行指令,以实现本技术上述示例公开的方法。例如,处理器51用于执行机器可执行指令,以实现如下步骤:
160.获取数据集合,所述数据集合包括多个初始训练数据;
161.根据所述数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值,所述分数值用于表示初始训练数据的训练效果;
162.根据每个初始训练数据的分数值从所述数据集合中选取目标训练数据;
163.根据所述目标训练数据进行数据清洗。
164.基于与上述方法同样的申请构思,本技术实施例还提供一种机器可读存储介质,其中,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本技术上述示例公开的方法。
165.例如,所述计算机指令被处理器执行时,能够实现如下步骤:
166.获取数据集合,所述数据集合包括多个初始训练数据;
167.根据所述数据集合中的每个初始训练数据的特征信息,确定每个初始训练数据的分数值,所述分数值用于表示初始训练数据的训练效果;
168.根据每个初始训练数据的分数值从所述数据集合中选取目标训练数据;
169.根据所述目标训练数据进行数据清洗。
170.示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动
器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
171.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
172.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
173.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
174.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
175.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
176.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
177.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献