一种分类模型中多个目标的训练方法和装置与流程

文档序号:13620108阅读:272来源:国知局

本发明涉及计算机技术领域,尤其涉及一种分类模型中多个目标的训练方法和装置。



背景技术:

现有技术中,通过广告预估模型可以计算出某个广告的点击率预测(英文全称:pctr,英文简称:predictclick-throughrate),pctr是广告算法中最核心的技术,pctr要解决的问题是预测特定用户在特定广告位对特定广告在特定环境下的点击概率。目前的广告预估模型中一般都是只考虑广告点击率这一个目标,即目前的pctr在预估时只需要考虑广告点击率这一个目标,所以在训练数据中可以将该广告点击率目标标识成0/1,其中,0可以代表广告的曝光,1可代表广告被点击。这种广告pctr的预估方法只能适用于传统的广告预估模型,因此在传统的方案中pctr的预估需要考虑除广告点击率以外的其它因素。但是随着广告投放领域的不断增加,例如朋友圈广告投放领域,这区别于传统的广告投放,朋友圈广告投放中的pctr预估计需要考虑除广告点击率以外的多个目标的预测,比如广告的点击详情、点击分享等多个目标。按照现有技术,假如每个目标都单独训练预测,机器学习资源消耗方面将是巨大的,在工程方面难以实现。



技术实现要素:

本发明实施例提供了一种分类模型中多个目标的训练方法和装置,用于提高机器学习资源的利用率,提高分类模型的更新效率。

为解决上述技术问题,本发明实施例提供以下技术方案:

第一方面,本发明实施例提供一种分类模型中多个目标的训练方法,包括:

从训练数据库中提取出当前训练所用的训练集,所述训练集中包括m个训练样本,所述m为自然数;

从所述训练集中的m个训练样本中分别获取到各个训练样本中的目标字段,并根据获取到的m个目标字段包括的字段内容分别从n个目标中选择出对应m个目标字段的m个目标取值,将选择出的m个目标取值分别配置给对应该目标取值的目标字段所在的训练样本,所述n为需要训练的目标个数,且n为大于或等于2的自然数;

使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括所述n个目标的分类模型,所述n个目标在所述分类模型中对应有不同的模型参数。

第二方面,本发明实施例还提供一种分类模型中多个目标的训练装置,包括:

样本提取模块,用于从训练数据库中提取出当前训练所用的训练集,所述训练集中包括m个训练样本,所述m为自然数;

多目标配置模块,用于从所述训练集中的m个训练样本中分别获取到各个训练样本中的目标字段,并根据获取到的m个目标字段包括的字段内容分别从n个目标中选择出对应m个目标字段的m个目标取值,将选择出的m个目标取值分别配置给对应该目标取值的目标字段所在的训练样本,所述n为需要训练的目标个数,且n为大于或等于2的自然数;

目标训练模块,用于使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括所述n个目标的分类模型,所述n个目标在所述分类模型中对应有不同的模型参数。

从以上技术方案可以看出,本发明实施例具有以下优点:

在本发明实施例中,首先从训练数据库中提取出当前训练所用的训练集,训练集中包括m个训练样本,然后从训练集中的m个训练样本中分别获取到各个训练样本中的目标字段,并根据获取到的m个目标字段包括的字段内容分别从n个目标中选择出对应m个目标字段的m个目标取值,将选择出的m个目标取值分别配置给对应该目标取值的目标字段所在的训练样本,最后使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括n个目标的分类模型,n个目标在分类模型中对应有不同的模型参数。本发明实施例中获取到训练集中的训练样本之后,可以为训练集中的m个训练样本从n个目标中配置出m个目标取值,从而在使用分类算法对配置有m个目标取值的m个训练样本进行学习后,可以构造出包括有n个目标的分类模型,该分类模型可以用于多个目标的预估,n的取值可以根据需要训练的目标个数来确定,因此本发明实施例中对训练集的一次加载可以训练出n个目标,因此不需要对训练集进行n次加载,解决现有技术中每个目标单独训练预测的问题,从而可以提高机器学习资源的利用率,提高分类模型的更新效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种分类模型中多个目标的训练方法的流程方框示意图;

图2为本发明实施例提供的对广告预测模型中多个目标的训练过程示意图;

图3-a为本发明实施例提供的一种分类模型中多个目标的训练装置的组成结构示意图;

图3-b为本发明实施例提供的一种目标训练模块的组成结构示意图;

图3-c为本发明实施例提供的另一种目标训练模块的组成结构示意图;

图3-d为本发明实施例提供的另一种分类模型中多个目标的训练装置的组成结构示意图;

图4为本发明实施例提供的分类模型中多个目标的训练方法应用于服务器的组成结构示意图。

具体实施方式

本发明实施例提供了一种分类模型中多个目标的训练方法和装置,用于提高机器学习资源的利用率,提高分类模型的更新效率。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

现有技术中,广告pctr的预估方法只能对广告点击率一个目标的预测。但是随着广告投放领域的不断增加,例如朋友圈广告投放领域,这区别于传统的广告投放,朋友圈广告投放中的pctr预估计需要考虑除广告点击率以外的多个目标的预测,比如广告的点击详情、点击分享等多个目标。按照现有技术,假如每个目标都单独训练预测,机器学习资源消耗方面将是巨大的,在工程方面难以实现。所以为了减少机器学习资源的使用,同时实现对多个目标的训练,本发明实施例的方法提出基于训练数据修正的多目标训练,可以在机器资源有限的条件下保证模型的训练效率,同时本发明实施例提供的方法可以支持灵活配置模型中的目标数目,可实现在机器资源和模型效率之间的灵活调整。以下分别进行详细说明。

本发明分类模型中多个目标的训练方法的一个实施例,请参阅图1所示,该方法可以包括如下步骤:

101、从训练数据库中提取出当前训练所用的训练集,训练集中包括m个训练样本,m为自然数。

在本发明实施例中,训练数据库中保存有多个训练数据,训练数据库也可以是根据用户需要进行实时更新的,本发明实施例每次进行目标训练时先提取当前状态下的训练数据库中的训练数据,将提取到的训练数据作为训练集,例如可以采用随机抽取的方式从训练数据库中提取出当前训练所用的训练集,训练数据库中提取出的训练数据可以构成训练集,训练集中包括的每一个训练数据可以作为一个训练样本进行后续处理,本发明实施例中以训练集包括有m个训练样本进行后续处理步骤。举例说明,本发明的一些实施例中,训练集包括的训练样本具体可以包括用户的基本属性和行为数据,例如训练样本可以包括性别、年龄、地域、手机类型、网络类型、用户操作行为。其中,用户操作行为具体可以指的是用户点击了图片,或者转发信息,或者发表评论等,用户操作行为具体可以结合应用场景来确定。

在本发明的一些实施例中,步骤101从训练数据库中提取出当前训练所用的训练集之后,本发明实施例提供的分类模型中多个目标的训练方法还可以包括如下步骤:

a1、判断当前训练所用的训练集中包括的训练样本个数m是否大于预置的样本容量阈值;

a2、若训练样本个数m大于预置的样本容量阈值,对训练集中包括的m个训练样本进行抽样处理,得到训练集中抽样出的训练样本。

其中,在实际应用场景中,为了节约机器学习资源,应对训练样本规模过大的问题,还可以执行步骤a1至a2。首先判断通过步骤101获取到训练集中训练样本个数m是否大于预置的样本容量阈值,若当前训练所用的训练集中包括的训练样本个数m大于预置的样本容量阈值,则说明当前提取到的训练集的样本规模过大,可以对训练集中包括的m个训练样本进行抽样处理,以减少训练集中的样本容量,得到训练集中抽样出的训练样本。其中可以多种方法进行抽样,例如使用特定的算法抽取样本标识为特定值的训练样本,也可以使用随机抽取的方式从训练集中抽样出训练样本。通过对训练集的抽样,可以减少加载的训练样本,提高机器学习的效率。

在本发明的一些实施例中,步骤101从训练数据库中提取出当前训练所用的训练集,具体可以包括如下步骤:

b1、根据训练样本的数据更新周期从训练数据库中分别提取出在各个数据更新周期内所更新后的训练集作为当前训练所用的训练集。

其中,训练数据库中训练数据可以进行周期性更新,则分类模型的训练也需要进行周期性更新,因此在提取训练集时也需要按照训练样本的数据更新周期进行提取,例如训练样本的数据更新周期为30分钟,则可以每30分钟提取一次训练集,从而执行后续步骤中描述的多目标的训练,从而保证模型更新周期,更大的节省机器学习资源。

102、从训练集中的m个训练样本中分别获取到各个训练样本中的目标字段,并根据获取到的m个目标字段包括的字段内容分别从n个目标中选择出对应m个目标字段的m个目标取值,将选择出的m个目标取值分别配置给对应该目标取值的目标字段所在的训练样本,n为需要训练的目标个数,n为大于或等于2的自然数。

在本发明实施例中,提取到训练集之后,对于训练集中包括的m个训练样本都可以从每个训练样本中获取到一个特定的目标字段,在训练样本中特定位置写入的目标字段中配置的字段内容可以根据实际的训练样本进行实际设置。例如,在朋友圈广告投放中的pctr预估计时,在训练集的m个训练样本中对于每个训练样本的目标字段,该目标字段中可以根据广告点击率、广告的点击详情、广告点击分享等设置不同的字段内容,以需要训练的目标个数为n为例,则m个目标字段中各个目标字段配置的目标取值可以根据对应的字段内容来确定,具体的目标取值可以是n个目标中的某一个目标对应的目标取值,n的取值可以是2、3或者更大的值,在实际应用中需要为训练样本的目标字段配置多少个目标可以结合实际的训练应用场景来确定。对于训练样本中获取到的目标字段,可以根据目标字段的字段内容配置n个目标中的某一个目标对应的目标取值,即每个目标对应一个目标取值,并且n个目标对应的目标取值也不相同的,不同目标的目标取值是对训练样本进行学习时进行实时更新的。其中,需要训练的目标个数n的种类以及个数可以根据具体场景来配置,以朋友圈广告投放中的pctr预估计为例,n个目标可以分别是广告点击率、广告的点击详情、广告点击分享,则对于每个目标可以设置一个目标取值,例如第1个目标的目标取值可以为1,第2个目标的目标取值可以为2,第3个目标的目标取值可以为3等。举例说明如下,从训练样本中获取到存储在某个特定位置的目标字段,对于训练样本1、训练样本2、训练样本3,目标字段的字段内容可以为内容a、内容b和内容c,则可以为内容a配置目标取值a,为目标b配置目标取值b,为目标c配置目标取值c,则可以将目标取值a配置给训练样本1,将目标取值b配置给训练样本2,将目标取值c配置给训练样本3。在实际应用中根据目标字段的字段内容配置对应的目标取值可以结合应用场景来确定需要配置哪些目标取值。

在本发明的一些实施例中,在前述执行步骤a1至a2的实现场景下,步骤102从训练样本中获取到预置的目标字段,包括如下步骤:从训练集中抽样出的训练样本中分别获取到抽样出的训练样本中的目标字段。也就是说,若对训练集进行了抽样,则只针对抽样得到的训练样本来读取目标字段。

103、使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括n个目标的分类模型,n个目标在分类模型中对应有不同的模型参数。

在本发明实施例中,为m个训练样本各配置一个目标取值之后,接下来根据配置有m个目标取值的m个训练样本进行分类模型的创建。具体的,使用预置的分类算法可以是逻辑回归算法、决策树算法和神经网络算法等来建立分类模型,由于学习时采用的m个训练样本中配置的m个目标取值来自需要训练的n个目标,因此构造出的分类模型中可以训练出n个目标,在分类模型中对于不同的目标应有不同的模型参数,从而使用包括有多个目标的分类模型进行预测估计时可以估计实现多个目标对估计结果的预测,因此本发明实施例中对同一个训练集,可以完成分类模型中多个目标的训练,对机器学习资源的使用效率更高,不需要针对每个目标单独训练模型。例如按照本发明实施例进行朋友圈广告投放中的pctr预估计时,可以实现广告点击率、广告点击详情、广告点击分享等多个目标的预测。

在本发明的一些实施例中,步骤103使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括n个目标的分类模型,具体可以包括如下步骤:

c1、通过如下方式分别获取对应于n个目标中各个目标的模型参数:确定当前进行训练的训练样本中目标字段配置的目标取值对应于第nt个目标,判断第nt个目标对应的训练样本是正样本或者负样本,若第nt个目标对应的训练样本是正样本,则使用预置的分类算法更新第nt个目标的模型参数,若第nt个目标对应的训练样本是负样本,则使用分类算法更新n个目标中每一个目标的模型参数,其中,nt表示小于n的任意一个自然数;

c2、使用配置m个目标取值的m个训练样本完成对n个目标的训练之后,将对应于n个目标中各个目标的模型参数组合在一起,得到包括n个目标的分类模型。

其中,在步骤c1中,以当前进行训练的任意一个训练样本为例,该训练样本通过步骤102可以配置一个目标取值,若该目标取值为n个目标中的任意一个目标,该任意一个目标用nt表示,则对于第nt个目标对应的训练样本,先判断该训练样本为正样本还是负样本,其中,正样本是指属于某一类别的训练样本,负样本也可以称为反样本,是指不属于某一类别的训练样本。举例说明如下,确定需要进行训练的是n个目标,则这n个目标可以表示为1、…、n,则当目标取值为0时表示该训练样本是负样本,目标取值为1、2、…、n表示该训练样本是正样本。若第nt个目标对应的训练样本是正样本,则可以使用分类算法更新第nt个目标的模型参数,也就是说,当第nt个目标对应的训练样本是正样本时,只更新第nt个目标的模型参数,而当第nt个目标对应的训练样本是负样本,则使用分类算法更新n个目标中每个目标的模型参数,也就是说,当第nt个目标对应的训练样本是负样本时,分类模型中的所有模型参数都需要更新,通过步骤c1中的描述可以获取到n个目标中每一个目标的模型参数。然后执行步骤c2,将对应于n个目标中各个目标的模型参数组合在一起,即按照多个目标将模型参数划分为多个维度,在每个维度的模型参数进行组合时可以得到多个维度的模型参数,从而可以得到包括n个目标的分类模型。

前述实施例中以分类模型中n个目标进行训练为例说明了分类模型的创建方式。在本发明的另一些实施例中,步骤103使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括n个目标的分类模型,具体可以包括如下步骤:

d1、通过如下方式分别获取对应于n个目标中各个目标的模型参数:确定当前需要训练的n1个目标,并从m个训练样本中过滤掉目标取值不属于n1个目标的训练样本,得到m1个训练样本,m1表示配置有m个目标取值的m个训练样本中目标取值属于所述n1个目标的训练样本个数,n1表示大于等于1且小于n的任意一个自然数;使用预置的分类算法通过对m1个训练样本的学习,构造出对应于n1个目标的模型参数;

d2、对n个目标都训练完成后,将对应于n个目标中各个目标的模型参数组合在一起,得到包括n个目标的分类模型。

其中,在步骤d1的实现场景中,可以先将n个目标中的n1个目标作为当前需要训练的目标,n1表示大于等于1且小于n,例如n的取值可以为10,n1取值可以为3,则可以先对10个目标中的前3个目标进行训。在这种情况下,就需要对从训练集中的所有训练样本中过滤掉非n1个目标的训练样本,将配置有m个目标取值的m个训练样本中配置除n1个目标以外的其它目标的训练样本过滤掉,得到m1个训练样本,完成过滤之后,使用预置的分类算法对m1个训练样本进行学习,构造出对应于n1个目标的模型参数。对于n个目标中除n1个目标以外的其它目标也可以按照步骤d1中描述的方式进行训练,从而可以生成每个目标的模型参数。步骤d2与前述实施例中步骤c2的实现方式类似,不再详细说明。

前述实施例中以分类模型中n个目标进行训练为例说明了分类模型的创建方式。可以对n个目标进行分组,得到多个分组,则对于每个分组都可以进行单独进行分类模型的创建,则对于每个分组都可以创建出一个分类模型,例如n的取值可以为10,n1取值可以为3,则10个目标可以分为3个组,例如第1个目标至第4个目标为一个分组,第5个目标至第8个目标为一个分组,第9个目标和第10个目标为一个分组,则对于这3个分组可以分别提取到3个分类模型。最后再对分类模型中多个目标的合并,得到一个包括更多目标的分类模型,可以得到步骤103中所述的包括n个目标的分类模型。

通过以上实施例对本发明实施例的描述可知,首先从训练数据库中提取出当前训练所用的训练集,训练集中包括m个训练样本,然后从训练集中的m个训练样本中分别获取到各个训练样本中的目标字段,并根据获取到的m个目标字段包括的字段内容分别从n个目标中选择出对应m个目标字段的m个目标取值,将选择出的m个目标取值分别配置给对应该目标取值的目标字段所在的训练样本,最后使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括n个目标的分类模型,n个目标在分类模型中对应有不同的模型参数。本发明实施例中获取到训练集中的训练样本之后,可以为训练集中的m个训练样本从n个目标中配置出m个目标取值,从而在使用分类算法对配置有m个目标取值的m个训练样本进行学习后,可以构造出包括有n个目标的分类模型,该分类模型可以用于多个目标的预估,n的取值可以根据需要训练的目标个数来确定,因此本发明实施例中对训练集的一次加载可以训练出n个目标,因此不需要对训练集进行n次加载,解决现有技术中每个目标单独训练预测的问题,从而可以提高机器学习资源的利用率,提高分类模型的更新效率。

为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。接下来以本发明实施例提供的分类模型中多目标的训练方法应用于pctr预估计为例进行说明。传统的pctr预估只考虑广告点击率一个目标,所以在训练数据中目标成0/1,0代表曝光,1代表点击。但是在朋友圈预估场景下,需要预估多个目标。按照现有技术每个目标单独训练,机器资源消耗太大。所以为了减少机器资源,可以按照本发明实施例进行训练样本作修正处理。例如训练样本包括用户的基础信息,例如可包括用户的性别、年龄、地域、手机类型、网络类型等。训练样本中的目标字段可以根据字段内容设置有不同为目标,例如目标字段中的不同字段内容可以设置的目标有n个,则各个目标字段的目标取值可以为0-n。例如以在训练样本中配置10个目标为例,0可以代表曝光,1可以代表点击头像,2可以代表点击名称,3可以代表点击图片,4可以代表点击视频播放,5可以代表点击分享,6可以代表点击收藏,7可以代表用户发表评论,8可以代表用户关注,9可以代表点击详情,10代表用户类型。在实际应用中,可以采用混合语言数据标准来存储训练集,例如可以采用pb(英文全称:protocolbuffer)文件格式存储训练样本,然后使用训练样本时根据pb协议解析,例如可以在训练样本中配置n,用于表示目标的个数。本发明实施例中可以保证n个目标可以使用相同的训练样本,即通过同一份训练样本可以训练出n个目标,从而可以减少机器的存储资源。另外,由于在实际模型的pctr预估模型训练耗时,前期数据加载到训练机器的内存,这会有一定的耗时。所以本发明实施例中当训练多个目标时,多个模型参数的训练可共用一次训练样本以及特征解析。然后根据已修正的训练样本,在模型训练时,遇到负样本更新所有的模型参数,遇到正样本只更新正样本所对应模型参数,这样可以实现一次训练样本加载,训练出多个目标。保证模型更新周期的情况下,更大的节省机器资源,针对每个模型可以灵活的配置不同目标,这样就可以实现在机器资源和模型效率之间灵活调整。

接下来,请参阅图2所示,为本发明实施例提供的对广告预测模型中多个目标的训练过程示意图。主要包括如下过程:

1、训练集生成:本发明实施例中训练样本对应有多个目标,假设目标的个数为n,所以需要将训练样本的目标映射成0-n,比如0代表曝光,1代表点击详情,2代表点击头像等。目标映射的主要目的是后续模型过滤和模型训练中可以区分不同的目标。

2、训练样本加载:通过给定训练样本的周期数据参数,加载相应的训练样本,例如可以每30分钟加载一次训练样本,以保证分类模型的实时更新。

3、训练样本过滤:为了提升分类模型的训练效果,例如可以对训练样本抽样,由于加载的训练样本太大,可能需要作抽样处理。又如过滤非训练目标样本,比如训练1/2这两个目标,在过滤数据的时候就会把3-n的目标的训练样本全部过滤。

4、得到新的训练样本,然后执行步骤5。

5、分类模型训练更新:当输入的训练样本为负样本时,更新所有的模型参数,当输入的训练样本为正样本时,只更新目标所对应的模型参数。

6、模型中多个目标的模型参数合并:将训练所得到的每个模型的结果直接合并成一个大的模型,输出为本地文件,至此得到最终的多目标模型。

7、多目标的分类模型的加载,分类模型生成后可以输出为本地文件,推荐引擎会加载此文件,而后可以线上预测广告的点击率。

本发明实施例中可以基于训练样本修正进行多模型训练,可支撑朋友圈多目标pctr预估的需求,同时可以保证在模型的更新效率和机器资源灵活调整。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。

请参阅图3-a所示,本发明实施例提供的一种分类模型中多个目标的训练装置300,可以包括:样本提取模块301、多目标配置模块302和目标训练模块303,其中,

样本提取模块301,用于从训练数据库中提取出当前训练所用的训练集,所述训练集中包括m个训练样本,所述m为自然数;

多目标配置模块302,用于从所述训练集中的m个训练样本中分别获取到各个训练样本中的目标字段,并根据获取到的m个目标字段包括的字段内容分别从n个目标中选择出对应m个目标字段的m个目标取值,将选择出的m个目标取值分别配置给对应该目标取值的目标字段所在的训练样本,所述n为需要训练的目标个数,且n为大于或等于2的自然数;

目标训练模块303,用于使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括所述n个目标的分类模型,所述n个目标在所述分类模型中对应有不同的模型参数。

在本发明的一些实施例中,请参阅图3-b所示,所述目标训练模块303,包括:

第一模型更新模块3031,用于通过如下方式分别获取对应于所述n个目标中各个目标的模型参数:确定当前进行训练的训练样本中目标字段配置的目标取值对应于第nt个目标,判断所述第nt个目标对应的训练样本是正样本或者负样本,若所述第nt个目标对应的训练样本是正样本,则使用预置的分类算法更新第nt个目标的模型参数,若所述第nt个目标对应的训练样本是负样本,则使用所述分类算法更新n个目标中每一个目标的模型参数,其中,所述nt表示小于所述n的任意一个自然数;

第一参数组合模块3032,用于使用配置m个目标取值的m个训练样本完成对n个目标的训练之后,将对应于所述n个目标中各个目标的模型参数组合在一起,得到包括所述n个目标的分类模型。

在本发明的一些实施例中,请参阅图3-c所示,所述目标训练模块303,包括:

第二模型更新模块3033,用于通过如下方式分别获取对应于所述n个目标中各个目标的模型参数:确定当前需要训练的n1个目标,并从所述m个训练样本中过滤掉目标取值不属于所述n1个目标的训练样本,得到m1个训练样本,所述m1表示配置有m个目标取值的m个训练样本中目标取值属于所述n1个目标的训练样本个数,所述n1表示大于等于1且小于所述n的任意一个自然数;使用预置的分类算法通过对所述m1个训练样本的学习,构造出对应于所述n1个目标的模型参数;

第二参数组合模块3034,用于对所述n个目标都训练完成之后,将对应于所述n个目标中各个目标的模型参数组合在一起,得到包括所述n个目标的分类模型。

在本发明的一些实施例中,请参阅图3-d所示,所述分类模型中多个目标的训练装置300,还包括:样本抽样模块304,其中,

所述样本抽样模块304,用于所述样本提取模块301从训练数据库中提取出当前训练所用的训练集之后,判断所述当前训练所用的训练集中包括的训练样本个数m是否大于预置的样本容量阈值;若所述训练样本个数m大于预置的样本容量阈值,对所述训练集中包括的m个训练样本进行抽样处理,得到所述训练集中抽样出的训练样本;

所述多目标配置模块302,具体用于从所述训练集中分别获取所述抽样出的训练样本中的目标字段。

在本发明的一些实施例中,所述样本提取模块301,具体用于根据训练样本的数据更新周期从所述训练数据库中分别提取出在各个数据更新周期内所更新后的训练集作为当前训练所用的训练集。

通过以上对本发明实施例的描述可知,首先从训练数据库中提取出当前训练所用的训练集,训练集中包括m个训练样本,然后从训练集中的m个训练样本中分别获取到各个训练样本中的目标字段,并根据获取到的m个目标字段包括的字段内容分别从n个目标中选择出对应m个目标字段的m个目标取值,将选择出的m个目标取值分别配置给对应该目标取值的目标字段所在的训练样本,最后使用预置的分类算法通过对配置有m个目标取值的m个训练样本的学习,构造出包括n个目标的分类模型,n个目标在分类模型中对应有不同的模型参数。本发明实施例中获取到训练集中的训练样本之后,可以为训练集中的m个训练样本从n个目标中配置出m个目标取值,从而在使用分类算法对配置有m个目标取值的m个训练样本进行学习后,可以构造出包括有n个目标的分类模型,该分类模型可以用于多个目标的预估,n的取值可以根据需要训练的目标个数来确定,因此本发明实施例中对训练集的一次加载可以训练出n个目标,因此不需要对训练集进行n次加载,解决现有技术中每个目标单独训练预测的问题,从而可以提高机器学习资源的利用率,提高分类模型的更新效率。

图4是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。

服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的分类模型中多个目标的训练方法步骤可以基于该图4所示的服务器结构。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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