机器学习模型训练方法、装置、存储介质和计算机设备与流程

文档序号:16884815发布日期:2019-02-15 22:32阅读:145来源:国知局
机器学习模型训练方法、装置、存储介质和计算机设备与流程

本申请涉及计算机技术领域,特别是涉及一种机器学习模型训练方法、装置、存储介质和计算机设备。



背景技术:

随着计算机技术的发展,在推荐对象的过程中,通常会用到机器学习模型来对推荐对象的进行推荐预测。在通过机器学习模型对推荐对象的进行推荐预测之前,需要先训练出用于推荐预测的机器学习模型。

然而,传统的机器学习模型训练过程中,未考虑到训练样本之间的差异性,导致在利用传统方法训练出的机器学习模型进行推荐预测时,可能会出现预测不准确的问题。



技术实现要素:

基于此,有必要针对利用传统方法训练出的机器学习模型进行推荐预测时,可能会出现预测不准确的问题,提供一种机器学习模型训练方法、装置、存储介质和计算机设备。

一种机器学习模型训练方法,包括:

获取模型训练数据和相对应的标签;所述模型训练数据包括用户样本的特征数据和推荐对象样本的特征数据;

根据所述模型训练数据的产生时间确定所述模型训练数据的权重;

将所述模型训练数据输入机器学习模型,得到与所述用户样本及所述推荐对象样本对应的用户行为预测结果;

根据所述用户行为预测结果和所述标签的差异及所述权重确定训练目标;

按照优化所述训练目标的方向,调整所述机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练。

一种机器学习模型训练装置,包括:

获取模块,用于获取模型训练数据和相对应的标签;所述模型训练数据包括用户样本的特征数据和推荐对象样本的特征数据;

确定模块,用于根据所述模型训练数据的产生时间确定所述模型训练数据的权重;将所述模型训练数据输入机器学习模型,得到与所述用户样本及所述推荐对象样本对应的用户行为预测结果;根据所述用户行为预测结果和所述标签的差异及所述权重确定训练目标;

调整模块,用于按照优化所述训练目标的方向,调整所述机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述机器学习模型训练方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述机器学习模型训练方法的步骤。

上述机器学习模型训练方法、装置、计算机可读存储介质和计算机设备,将用户样本的特征数据和推荐对象样本的特征数据共同作为模型训练数据,以训练出可预测用户对推荐对象的用户行为结果的机器学习模型。在确定训练目标时,考虑模型训练数据随时间的变化对预测结果的影响,根据模型训练数据产生的时间为模型训练数据赋予权重,这样可在学习全部数据的基础上,重点学习某一时间段产生的模型训练数据,来提高模型预估的准确性;在用户对推荐对象的行为随时间变化明显的情况下,效果尤为明显。

附图说明

图1为一个实施例中机器学习模型训练方法的流程示意图;

图2为一个实施例中机器学习模型的结构示意图;

图3为一个实施例中机器学习模型使用方法的流程示意图;

图4为一个实施例中训练和使用机器学习模型的应用环境示意图;

图5为一个实施例中训练和使用机器学习模型的流程示意图;

图6为一个实施例中机器学习模型训练装置的结构框图;

图7为另一个实施例中机器学习模型训练装置的结构框图;

图8为一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,在一个实施例中,提供了一种机器学习模型训练方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是服务器,也可以是终端。参照图1,该机器学习模型训练方法具体包括如下步骤:

s102,获取模型训练数据和相对应的标签;模型训练数据包括用户样本的特征数据和推荐对象样本的特征数据。

其中,模型训练数据是用于训练模型的样本的特征数据,是模型训练时输入模型的数据。模型训练数据相对应的标签,是模型训练时模型的期望输出。不同的模型由于学习的能力或者用途不同,训练所需要的样本、样本的特征数据以及模型的输出也不同。比如,用于识别人脸图像的模型训练所需的样本为人脸图像,样本的特征数据为人脸特征数据,模型的输出为人脸识别结果。再比如,用于识别声音的模型所需的样本为音频数据,样本的特征数据为声学特征数据,模型的输出为声音识别结果。

在本实施例中,计算机设备意图训练出能够预测用户对推荐对象的用户行为结果的机器学习模型。那么,本领域技术人员可以理解,本发明实施例中,样本包括用户样本和推荐对象样本;模型训练数据,也就是样本的特征数据,包括用户样本的特征数据和推荐对象样本的特征数据。这样,计算机设备即可训练模型学习用户样本的特征数据和推荐对象样本的特征数据,来预测用户对推荐对象的用户行为结果。

推荐对象是用于向用户进行推荐的对象。推荐对象具体可以是推广信息、应用程序、视频、音频、新闻或者商品等。其中,推广信息具体可以是广告。

s104,根据模型训练数据的产生时间确定模型训练数据的权重。

其中,模型训练数据的权重,用于反映模型训练数据在训练过程中的重要程度。本领域技术人员可以理解,用户对推荐对象的用户行为结果会随时间的变化而发生变化。比如,用户兴趣特征可随着时间的变化发生变化,而用户兴趣特征是用户特征,会影响用户对推荐对象的用户行为结果。再比如,广告投放多天后,点击率或者转化率随时间呈现出逐渐增加或者减少的趋势。那么,计算机设备在采用模型训练数据训练机器学习模型时,可以为不同时间点产生的模型训练数据赋予不同的样本权重,这样可在学习全部样本的基础上,重点学习某一时间段产生的样本,来提高模型预估的准确性。可以理解,这里提到的为不同时间点产生的模型训练数据赋予不同样本权重的设置方式有多种,具体的设置方式可参考后续实施例中的相关描述。

具体地,计算机设备可事先根据先验知识或者经验数据,设置模型训练数据的权重随模型训练数据的产生时间变化的映射关系。这样,计算机设备生成模型训练数据时,或者在需要用模型训练数据来训练模型时,即可根据该映射关系来确定模型训练数据的权重。其中,映射关系具体可以是函数关系。函数关系可以是正相关函数关系,也可以是负相关函数关系;即模型训练数据的权重随模型训练数据的产生时间变化可以是正相关变化,也可以是负相关变化。

s106,将模型训练数据输入机器学习模型,得到与用户样本及推荐对象样本对应的用户行为预测结果。

其中,机器学习英文全称为machinelearning,简称ml。机器学习模型可通过样本学习具备特定的能力。机器学习模型可采用神经网络模型、支持向量机、逻辑回归模型、随机森林模型或者梯度提升树模型等。本发明实施例中的机器学习模型,是经过训练后具有预测用户对推荐对象的行为结果的模型。

用户行为预测结果是预测用户对推荐对象进行某种行为的结果。用户行为预测结果作为机器学习模型的输出,与输入机器学习模型的模型训练数据一一对应;与用户样本及推荐对象样本对应的用户行为预测结果,表示的是预测模型训练数据源自的用户对模型训练数据源自的推荐对象进行某种行为的结果。

用户行为预测结果可以是用户行为预测概率。比如,用户查看推荐对象的概率或者用户转化推荐对象的概率等。具体比如,用户点击推广信息的概率、用户进行账号注册的概率或者用户进行网上交易的概率等。

在一个具体的实施例中,推荐对象为推广信息;用户行为预测结果包括推广信息查看预测结果和/或推广信息转化预测结果。具体地,推广信息查看预测结果是用户查看推广信息的预测结果,推广信息转化预测结果是用户转化推广信息的预测结果。用户转化推广信息具体可以是通过推广信息进行注册或者交易等行为。

s108,根据用户行为预测结果和标签的差异及权重确定训练目标。

其中,训练目标是用于衡量模型好坏的数据。训练目标通常是以模型的实际输出与模型的期望输出之间差异为自变量的函数。在本发明实施例中,考虑到时间对样本的影响,故训练目标通常设置为以模型的实际输出与模型的期望输出之间差异和模型训练数据的权重两者为自变量的函数。

需要说明的是,机器学习模型的训练需要大量的样本,也即是说,模型训练数据的数量为多个。计算机设备可以将全部模型训练数据均输入机器学习模型,得到各模型训练数据相应的用户行为预测结果后,确定训练目标;也可以在每将一个模型训练数据输入机器学习模型,得到该模型训练数据相应的用户行为预测结果后,确定训练目标;还可以将多个模型训练数据输入机器学习模型,得到这多个模型训练数据各自相应的用户行为预测结果后,确定训练目标。

在一个实施例中,计算机设备可每次通过机器学习模型处理一个模型训练数据后,即确定训练目标。根据用户行为预测结果和标签的差异及权重确定训练目标,包括:以当前模型训练数据的用户行为预测结果和标签的差异作为自变量,生成相应的损失函数;将损失函数按相应模型训练数据的权重相乘,得到训练目标。这样,训练目标仅源自单个样本的数据,是单个样本训练目标。

在一个实施例中,计算机设备可将模型训练数据分组,每组包括多个模型训练数据。这样,计算机设备可每次通过机器学习模型处理一组模型训练数据后,即确定训练目标。根据用户行为预测结果和标签的差异及权重确定训练目标,包括:以每个模型训练数据的用户行为预测结果和标签的差异作为自变量,生成相应的损失函数;将各损失函数按相应模型训练数据的权重加权求和,得到训练目标。这样,训练目标源自部分样本的数据,是局部训练目标。

在一个实施例中,计算机设备可通过机器学习模型处理所有模型训练数据后,即确定训练目标。根据用户行为预测结果和标签的差异及权重确定训练目标,包括:以每个模型训练数据的用户行为预测结果和标签的差异作为自变量,生成相应的损失函数;将各损失函数按相应模型训练数据的权重加权求和,得到训练目标。这样,训练目标源自所有样本的数据,是全局训练目标。

其中,损失函数用来衡量模型的实际输出和模型的期望输出之间的差异。损失函数具体可以是平方损失函数、指数损失函数或者负的似然函数等。

s110,按照优化训练目标的方向,调整机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练。

其中,训练停止条件是结束模型训练的条件。训练停止条件可以是达到预设的迭代次数,或调整模型参数后的模型的预测性能指标达到预设指标。

具体地,按照优化训练目标的方向,调整机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练,包括:按照最小化训练目标的方向,调整机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练。

在一个实施例中,训练目标为全局训练目标,优化全局训练目标可采用批量梯度下降方式,也就是最小化所有样本的损失函数,得到全局最优解的过程。

在一个具体的实施例中,全局训练目标如下式所示:

其中,n为模型训练数据的数量,xi为第i个模型训练数据,yi为第i个模型训练数据相应的标签,vi为第i个模型训练数据的权重,f(xi,w)为第i个模型训练数据相应的用户行为预测结果,w为机器学习模型的模型参数。l(yi,f(xi,w))为第i个样本相应的损失函数。r(w)为正则项,正则项的目的是提高模型的泛化能力,防止过拟合。

可以理解,优化全局训练目标,即要寻找一个w,使得机器学习模型的实际输出f(xi,w)在所有模型训练数据上的损失最小。但是,在优化全局训练目标时每迭代一次,都要用到所有模型训练数据,适用于模型训练数据数量较少的场景。在模型训练数据数量较大的时候,每次迭代的计算量很大,影响迭代速度,进而影响模型训练效率。

上述实施例中,在每次调整模型参数时都使用所有的模型训练数据来进行更新,求解得到的全局最优解,训练出的模型的预测效果好。

在一个实施例中,训练目标为单个样本训练目标,优化单个样本训练目标可采用随机梯度下降方式,也就是最小化每个样本的损失函数,得到全局最优解的过程。虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体方向还是向着全局最优解的,最终的结果往往是在全局最优解附近,适用于大规模样本的场景。

举例说明,如果样本量很大(例如几十万),那么可能只用其中几万条或者几千条的样本,就已经迭代到最优解了。对比批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次,这样计算复杂度很高。

在另外的实施例中,训练目标为局部训练目标,优化局部训练目标可采用小批量梯度下降方式。具体是在调整模型参数时都使用一部分样本来进行更新,克服上面两种方式的缺点,又同时兼顾两种方法的优点。

上述机器学习模型训练方法,将用户样本的特征数据和推荐对象样本的特征数据共同作为模型训练数据,以训练出可预测用户对推荐对象的用户行为结果的机器学习模型。在确定训练目标时,考虑模型训练数据随时间的变化对预测结果的影响,根据模型训练数据产生的时间为模型训练数据赋予权重,这样可在学习全部数据的基础上,重点学习某一时间段产生的模型训练数据,来提高模型预估的准确性;尤其是在推荐对象随时间变化明显的情况下,效果尤为明显。

在一个实施例中,获取模型训练数据和相对应的标签,包括:收集用户样本的特征数据和推荐对象样本的特征数据生成模型训练数据;当用户样本的特征数据中存在对推荐对象样本的目标行为数据时,则设置模型训练数据相对应的标签为正样本训练标签;当用户样本的特征数据中不存在对推荐对象样本的目标行为数据时,则设置模型训练数据相对应的标签为负样本训练标签。

其中,用户样本的特征数据是反映用户特征的数据。用户样本的特征数据包括用户行为数据、用户兴趣数据和用户属性数据等。

用户行为数据是反映用户行为特征的数据。比如,社交行为数据、推广信息交互数据、网页浏览数据或者应用程序使用数据等。用户兴趣数据是反映用户兴趣特征的数据。用户兴趣数据可从用户行为数据中提取。例如,计算机设备可以分析用户点击过的广告图片,识别出广告图片中的物体,例如鞋子或者衣服等。通过分析,如果一个用户最近点击的广告都包含衣服,那么可以在一定程度上反映出用户最新比较喜欢衣服的广告。

用户属性数据是反映用户基本属性的数据。比如姓名、性别、年龄、学历、用户终端的设备信息或者位置信息等。可以理解,设备信息在一定程度上可以反映该设备使用者的属性,例如不同品牌的手机的使用人群的兴趣偏好是有区别;用户的位置信息等可以定位用户的位置,从而分析其兴趣偏好。

推荐对象样本的特征数据是反映推荐对象特征的数据。推荐对象样本的特征数据包括推荐对象属性数据和推荐对象内容数据等。推荐对象内容数据包括推荐对象文本特征数据和推荐对象图像特征数据。推荐对象属性数据是反映推荐对象基本属性的数据。比如,推荐对象类型等。

目标行为数据所反映的目标行为,是计算机设备意图训练机器学习模型学习预测的行为。比如,目标行为数据所反映的广告点击行为,那么计算机设备则意图训练机器学习模型学习预测用户是否会点击广告。

目标行为数据所反映的目标行为,可以是推荐对象查看行为或者推荐对象转化行为。目标行为数据反映不同的目标行为时,模型训练数据相对应的标签的意义不同;训练出的机器学习模型的预测能力也不同。比如,目标行为数据所反映的是广告点击行为,模型训练数据相对应的标签表示用户点击了广告,训练出的机器学习模型的预测能力是预测用户对广告的点击率。再比如,目标行为数据所反映的是广告转化行为,模型训练数据相对应的标签表示用户转化了广告,训练出的机器学习模型的预测能力是预测用户对广告的转化率。

具体地,计算机设备可从各用户行为场景对应的服务器中,拉取用户样本的特征数据。计算机设备可将用户样本的用户标识分别发送到各用户行为场景对应的服务器,各用户行为场景对应的服务器在接收到用户标识后,查找与该用户标识对应的特征数据,再将查找到的特征数据反馈至计算机设备。计算机设备也可从用户样本所对应的用户终端,拉取用户样本的特征数据。这样,计算机设备即收集到用户样本的特征数据。

进一步地,计算机设备可从用户样本的特征数据中的用户行为数据中确定推荐对象样本,并提取推荐对象样本的特征数据。这样,计算机设备即收集到推荐对象样本的特征数据。比如,一条用户行为数据为“用户a点击查看了广告a,广告axxxxx(具体广告相关信息)”,那么可以确定一个推荐对象样本:广告a,并从具体广告相关信息中提取广告a的特征数据。

具体地,计算机设备可不区分用户样本,统一从所有的用户行为数据中确定推荐对象样本,并提取推荐对象样本的特征数据;计算机设备继而根据任一用户样本的特征数据和任一推荐对象样本的特征数据生成模型训练数据。计算机设备也可区分用户样本,对于每个用户样本,根据该用户样本的用户行为数据中确定推荐对象样本,并提取推荐对象样本的特征数据;计算机设备继而根据该用户样本的特征数据和提取的任一推荐对象样本的特征数据生成模型训练数据。当然,计算机设备也可通过另外的途径收集推荐对象样本的特征数据。本发明实施例对此不做限定。

更进一步地,对于每个模型训练数据,计算机设备可查看生成该模型训练数据的用户样本的特征数据中,是否存在对该模型训练数据源自的推荐对象样本的目标行为数据。举例说明,模型训练数据1根据用户样本a的特征数据和推荐对象样本a的特征数据生成;那么,可以认为模型训练数据1源自用户样本a和推荐对象样本a;计算机设备即查看用户样本a的特征数据中是否存在对推荐对象样本a的目标行为数据。

当用户样本的特征数据中存在对推荐对象样本的目标行为数据时,则判定该模型训练数据为正样本数据,并设置该模型训练数据相对应的标签为正样本训练标签;当用户样本的特征数据中不存在对推荐对象样本的目标行为数据时,则判定该模型训练数据为负样本数据,并设置模型训练数据相对应的标签为负样本训练标签。

在本实施例中,自动在生成模型训练数据的用户样本的特征数据中,查看是否存在对该模型训练数据源自的推荐对象样本的目标行为数据,为该模型训练数据设置训练标签,避免了人工标定的耗时,保障了训练标签准确性。

在一个实施例中,模型训练数据为样本特征向量;收集用户样本的特征数据和推荐对象样本的特征数据生成模型训练数据,包括:收集用户样本的用户行为数据和用户属性数据;收集推荐对象样本的推荐对象内容数据和推荐对象属性数据;将用户样本的用户行为数据和用户属性数据各自映射为向量元素,并将推荐对象样本的推荐对象内容数据和推荐对象属性数据各自映射为向量元素;组合用户样本相应的各向量元素和推荐对象样本相应的各向量元素,生成样本特征向量。

其中,样本特征向量是表示样本的特征的向量,即以向量形式表示样本的特征。样本特征向量对样本的特征的低维表达,将样本的特征表示成数学形式。向量元素是向量的组成单元,向量元素也可以是向量。

具体地,计算机设备可预先设置将非向量数据映射为向量数据的映射关系。这样,计算机设备可在收集用户样本的用户行为数据和用户属性数据,以及收集推荐对象样本的推荐对象内容数据和推荐对象属性数据后,即可根据预先设置的映射关系,将用户样本的用户行为数据和用户属性数据各自映射为向量元素,并将推荐对象样本的推荐对象内容数据和推荐对象属性数据各自映射为向量元素;组合用户样本相应的各向量元素和推荐对象样本相应的各向量元素,生成样本特征向量。

举例说明,将非向量数据映射为向量数据的映射关系,比如“鞋子”映射为[0,1,0,…,0],“衣服”映射为[1,1,0,…,0],“裤子”映射为[0,1,1,…,0]等。样本特征向量为x=(x1,x2,...,xm),其中,x1,x2,...,xm为组成样本特征向量的m个向量元素,每个向量元素也可以是一个向量,代表一种用户样本的特征数据或者推荐对象样本的特征数据。比如,用户样本的属性特征、用户样本的行为特征、用户样本的兴趣特征、推荐对象样本的属性特征、推荐对象样本的图像特征以及推荐对象样本的文字特征等。

在本实施例中,将用户样本的特征数据以及推荐对象样本的特征数据映射为向量元素,组合这些向量元素得到样本特征向量后作为模型的输入,极大地减少了数据量,从而提高了模型的训练效率。

在本实施例中,计算机设备还可将样本特征向量和相应的标签组成二元组。举例说明,二元组<x,y>,x为样本特征向量,y为x相对应的标签。y∈{1,0}表示x源自的用户样本是否对x源自的推荐对象样本进行了某种行为。比如,在点击行为预测中,y∈{1,0}表示用户是否点击了广告;在转化行为预测中,y∈{1,0}则表示用户是否对广告发生了转化。

当然,计算机设备也可直接将非向量形式的模型训练数据,直接作为模型的输入,本发明实施例对此不做限定。

在一个实施例中,将模型训练数据输入机器学习模型,得到与用户样本及推荐对象样本对应的用户行为预测结果,包括:确定推荐对象样本所属的对象类型;将模型训练数据输入机器学习模型,控制通过机器学习模型中与对象类型对应的输出单元,输出与用户样本及推荐对象样本对应的用户行为预测结果。

其中,对象类型是将推荐对象分类后得到的分类类别。比如,推广信息类型、新闻类型、视频类型或者音频类型等。本发明实施例中,推荐对象的分类可以是多级分类。比如,推广信息类型可包括商品推广信息类型或者应用程序推广信息类型等;新闻类型包括时政新闻类型或者娱乐新闻类型。

可以理解,用户对不同类型的推荐对象进行某一特定行为的可能性不同。比如,用户会点击查看商品推广信息类型的广告,但可能不会点击查看应用程序推广信息类型的广告。也就是说,对于源自不同对象类型推荐对象的模型训练数据,其与模型的输出之间的关系是不同的。那么,计算机设备在构建模型时,可为不同的对象类型设置不同的输出单元。

这样,计算机设备将模型训练数据输入机器学习模型后,即可控制通过机器学习模型中与模型训练数据源自的推荐对象样本所属对象类型对应的输出单元,来输出与模型训练数据源自的用户样本及推荐对象样本对应的用户行为预测结果。也就是说,计算机设备通过定义机器学习模型的结构,对模型训练数据分对象类型进行学习,可以对不同的对象类型学习得到不同的模型参数。

在一个实施例中,机器学习模型包括输入层、中间隐藏层和输出层;输出层包括多个对象类型各自对应的输出单元。按照优化训练目标的方向,调整机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练,包括:按照优化训练目标的方向,调整机器学习模型中输入层、中间隐藏层以及与确定的对象类型对应的输出单元的模型参数,并继续训练,直至满足训练停止条件时结束训练。

具体地,计算机设备可在将模型训练数据按源自的推荐对象样本所属的对象类型分类,按对象类型训练机器学习模型,在调整机器学习模型时,局部调整相应对象类型相关的模型参数。也就是调整机器学习模型中输入层、中间隐藏层以及与模型训练数据源自的推荐对象样本所属对象类型对应的输出单元的模型参数。其中,中间隐藏层的数量可以是一个或者多个。

图2示出了一个实施例中机器学习模型的结构示意图。本实施例以中间隐藏层为一层举例。参考图2,输入层中的各节点表示样本特征向量中的各向量元素xi以及该层的偏移量b,输入层节点和中间隐藏层节点之间的边表示节点之间的连接权重,中间隐藏层节点接受来自输入层节点的信号,经过激活函数作用后产生输出值,传给其下一层的节点。

假设激活函数为σ(x),那么中间隐藏层节点i的输出为:

其中,样本特征向量包括m个向量元素,表示输入层节点j与中间隐藏层节点i之间的连接权重,表示输入层到中间隐藏层节点i的偏移量。

输出层节点i的输出为:

其中,中间隐藏层包括n个节点,输出层包括c个节点。n可以与m取值相同。表示中间隐藏层节点j与输出层节点i之间的连接权重,表示中间隐藏层到输出节点i的偏移量。不同的输出层节点对应不同的对象类型。比如,模型训练数据源自的推荐对象样本属于商品推广信息类型时,由输出层节点1输出用户行为预测结果;模型训练数据源自的推荐对象样本属于应用程序推广信息类型,由输出层节点2输出用户行为预测结果,等等。

在另外的实施例中,假设中间隐藏层为多层时,第(l-1)层共有m个节点,则对于第l层的第j个节点的输出为:

其中,wl所有元素构成的矩阵,hl-1所有元素构成的矩阵,bl-1所有元素构成的矩阵,l∈{2,...,q},q为模型的层数。将输入层、中间隐藏层的节点值依次带入最终输出层的计算公式,可以得到从输入层到输出层的计算关系。在本发明实施例中,使用f(x,w)表示模型输出,其中w为wl和bl-1组成的集合。

给定大量的样本特征向量,即海量二元组<xi,yi>,i=1,…,n。机器学习模型的学习过程即求解如下的优化方程:

其中,l(yi,f(xi,w))为二元组i上的损失函数,r(w)为正则化项,避免模型过拟合。可以理解,为训练目标,优化训练目标可以是求解优化方程(5),该优化方程的目标是要寻找一个w,使得神经网络的输出值f(x,w)在所有二元组上的损失值最小。

上述实施例中,在输出层为每一种类型的推荐对象设置独立的输出单元,这样,在训练模型是可对不同对象类型的样本分别进行训练,训练得到不同对象类型各自独立的模型参数,提高了模型训练效率和模型预测效果。

在一个实施例中,根据模型训练数据的产生时间确定模型训练数据的权重,包括:查询模型训练数据的产生时间;获取与对象类型相应配置的时间衰减函数;根据产生时间和时间衰减函数,计算模型训练数据的权重。

其中,模型训练数据的产生时间,是模型训练数据源自的用户样本对模型训练数据源自的推荐对象样本的某种行为发生的时间。比如,用户查看广告的模型训练数据的产生时间,即为用户浏览广告后点击广告的时间;用户转化广告的模型训练数据的产生时间,即为用户浏览广告后转化广告的时间。

不同的对象类型可以配置相同的时间衰减函数;也可配置不同的时间衰减函数。时间衰减函数可以直接以模型训练数据的产生时间为自变量,也可以模型训练数据的产生时间距离当前时间节点的时间间隔为自变量。

在一个具体的实施例中,时间衰减函数为指数函数,具体公式如下:

v(t)=n0e-λt(6)

其中,t为模型训练数据的产生时间与当前时间之间的时间间隔,n0为t=0时的初始量。λ为衰减常数。不同的对象类型下λ的取值可以不同,也就是不同的对象类型配置不同的时间衰减函数。

在一个实施例中,时间衰减函数为分段函数;当时间衰减函数的时间自变量落于预设时间节点与当前时间节点构成的时间区间内时;时间衰减函数为常数函数;当时间衰减函数的时间自变量落于预设时间节点与当前时间节点构成的时间区间外时,时间衰减函数为与时间自变量负相关的函数。

其中,预设时间节点是用于对自变量进行分段的时间节点。通过预设时间节点将自变量分为两个部分。

在一个具体的实施例中,时间衰减函数的具体公式如下:

v(t)=n0(t≤k)

v(t)=n0e-λ(t-k)(t>k)(7)

其中,k为预设时间节点,不同的对象类型下λ与k的取值可以不同,也就是不同的对象类型配置不同的时间衰减函数。

在本实施例中,为最近一段时间内的数据设置保护区,不让衰减保持初始量,以保障最近数据的重要性,这样可以让机器学习模型在学习全部数据的基础上,重点学习最近时间段发生的数据,提高模型预测的准确性。

可以理解,模型训练数据通常从一段较长时间段的数据提取出,例如一周的数据。在这一周中,如果数据发生了较大的变化,而所有数据的权重一样的话,算法会趋向于适应所有数据,不能较好的适应最新的数据,造成最近一段时间内新数据的预估偏差较大。但是模型训练时不能完全的丢弃历史数据,这样会造成忽略一些重复发生的数据模式。因此,在本发明实施例中,引入样本权重的概念,样本权重的大小由样本的产生时间决定。也就是说每一个二元组有自己的权重值。为了考虑每个二元组的权重,优化方程可重新定义为:

根据上式可以看出本发明实施例中,权重大的二元组将在求解优化方程的过程中被重点考虑,使得神经网络能够在学习所有二元组的同时,还能够对部分重要的二元组进行重点学习。

假设,有c种类型的广告,对第i种类型广告,计算机设备生成ni个模型输入数据,即ni个二元组个样本,那么优化方程具体为:

其中,为第i种对象类型的第j个模型训练数据的权重。

上述实施例中,考虑样本随时间的变化对预测结果的影响,根据样本产生的时间为样本赋予权重,这样可在学习全部数据的基础上,重点学习某一时间段产生的数据,来提高模型预估的准确性。

在一个实施例中,当满足训练停止条件时结束训练后,该机器学习模型训练方法还包括机器学习模型的使用步骤,该使用步骤具体包括以下步骤:

s302,获取目标用户的特征数据及各候选的推荐对象的特征数据。

其中,目标用户是待进行对象推荐的用户。候选的推荐对象是由推荐对象提供方所提供的用于推荐给用户的对象。

具体地,计算机设备可以是可进行对象推荐的应用程序所对应的服务器。用户终端通过用户标识登录可进行对象推荐的应用程序后,可将该用户标识发送至该应用程序对应的服务器。该服务器可查询与该用户标识对应的特征数据,以获取目标用户的特征数据。该服务器再查询可通过该应用程序对应的服务器推荐的推荐对象的特征数据,以获取各候选的推荐对象的特征数据。

在另外的实施例中,计算机设备也可以是第三方的推荐服务器。该第三方是指异于推荐对象提供方和推荐对象推荐方的第三方。用户终端通过用户标识登录可进行对象推荐的应用程序后,可将该用户标识发送至该应用程序对应的服务器,该应用程序对应的服务器可再将该用户标识转发至推荐服务器。推荐服务器可查询与该用户标识对应的特征数据,以获取目标用户的特征数据。推荐服务器再查询可通过该应用程序对应的服务器推荐的推荐对象的特征数据,以获取各候选的推荐对象的特征数据。其中,可进行对象推荐的应用程序对应的服务器,用于提供推荐对象推荐槽位。提供推荐对象的服务器可将推荐对象提供至,可进行对象推荐的应用程序对应的服务器,以通过其提供的推荐对象推荐槽位向用户推荐对象。

s304,将目标用户的特征数据分别和各推荐对象的特征数据,生成模型输入数据。

具体地,计算机设备在获取到目标用户的特征数据和各候选的推荐对象的特征数据,将目标用户的特征数据分别和每一个推荐对象的特征数据,生成模型输入数据。也就是说,模型输入数据与推荐对象一一对应,模型输入数据的数量与推荐对象的数量相同。

s306,将各模型输入数据输入训练完成的机器学习模型,得到与目标用户及各推荐对象各自对应的用户行为预测结果。

具体地,计算机设备可将各模型输入数据分别输入训练完成的机器学习模型。对于每一个模型输入数据,均可得到由机器学习模型输出的,与目标用户对应的、且与该模型输入数据源自的推荐对象对应的用户行为预测结果。

在一个实施例中,训练完成的机器学习模型的数量为多个。不同的机器学习模型训练学会的预测能力不同,但模型输入数据相同。训练完成的机器学习模型可包括查看行为预测模型和/或转化行为预测模型。

在一个实施例中,s306包括:将各模型输入数据分别输入训练完成的机器学习模型;通过机器学习模型,确定各模型输入数据相应的输出单元;各模型输入数据相应的输出单元,与各模型输入数据相应的推荐对象所属对象类型对应;对于每个模型输入数据,通过机器学习模型中相应的输出单元,输出与目标用户及该模型输入数据相应的推荐对象对应的用户行为预测结果。

具体地,机器学习模型可在对模型输入数据进行处理时,根据处理或处理得到的特征数据确定模型输入数据源自的推荐对象所属对象类型,从而确定机器学习模型对模型输入数据进行处理所经过的模型单元。这样即对于每个模型输入数据,通过机器学习模型中相应的输出单元,输出与目标用户及该模型输入数据相应的推荐对象对应的用户行为预测结果。

s308,根据各用户行为预测结果从候选的推荐对象中挑选推荐对象推荐。

其中,用户行为预测结果具体可以是用户行为预测概率。具体地,当机器学习模型为一个时,那么对于每个模型输入数据存在一个用户行为预测结果,也就是对每个候选的推荐对象存在一个用户行为预测结果。计算机设备可将这些候选的推荐对象按对应的用户行为预测结果的大小顺序排序,从候选的推荐对象中挑选排序靠前的推荐对象进行推荐。

在另外的实施例中,当机器学习模型为多个时,那么对于每个模型输入数据存在多个用户行为预测结果,也就是对每个候选的推荐对象存在多个用户行为预测结果。计算机设备将每个候选的推荐对象存在的多个用户行为预测结果加权求和,得到用户行为综合预测结果,再将这些候选的推荐对象按对应的用户行为综合预测结果的大小顺序排序,从候选的推荐对象中挑选排序靠前的推荐对象进行推荐。

上述实施例中,由于训练机器学习模型时,考虑到模型训练数据的产生时间的影响,那么训练出的模型在进行预测时,预测准确率有大幅提高。

图4示出了一个实施例中训练和使用机器学习模型的应用环境示意图。参考图4,该应用环境包括用户终端410,推荐对象提供方所对应的服务器420,推荐对象推荐方所对应的服务器430以及推荐服务器440。在本实施例中,推荐对象具体可以是推广信息,比如广告;推荐对象提供方所对应的服务器具体可是推广信息提供方所对应的服务器,比如广告主服务器;推荐对象推荐方所对应的服务器具体可是推广信息推广方所对应的服务器,比如广告位提供服务器;推荐服务器是训练和使用机器学习模型的服务器。当然,推荐对象推荐方所对应的服务器430和推荐服务器440可以是同一个服务器,推荐对象提供方所对应的服务器420和推荐服务器440也可以是同一个服务器,

图5示出了一个实施例中训练和使用机器学习模型的流程示意图。参考图5,训练和使用机器学习模型的过程包括:数据收集阶段、数据处理阶段、模型训练阶段和模型使用阶段。

在数据收集阶段,推荐服务器可从各用户行为场景对应的服务器或者用户终端,拉取用户样本的特征数据;从用户样本的特征数据中的用户行为数据中确定推荐对象样本,并提取推荐对象样本的特征数据。

在数据处理阶段,推荐服务器将用户样本的用户行为数据和用户属性数据各自映射为向量元素,并将推荐对象样本的推荐对象内容数据和推荐对象属性数据各自映射为向量元素;组合用户样本相应的各向量元素和推荐对象样本相应的各向量元素,生成样本特征向量。推荐服务器可为各样本特征向量添加相应的标签,并确定各样本特征向量所对应的对象类型。推荐服务器再根据样本特征向量的产生时间和样本特征向量所对应的对象类型相应匹配的时间衰减函数,计算样本特征向量的权重。

在模型训练阶段,推荐服务器将机器学习模型的模型结构设置为包括输入层、中间隐藏层和输出层。其中,输出层包括多个对象类型各自对应的输出单元。推荐服务器可按照对象类型进行机器学习模型训练,对于每一种对象类型相应的样本特征向量,将样本特征向量输入机器学习模型,得到用户行为预测结果;根据用户行为预测结果和标签的差异及权重确定训练目标,按照优化训练目标的方向,调整机器学习模型中输入层、中间隐藏层以及与样本特征向量源自的推荐对象样本所属对象类型对应的输出单元的模型参数,并继续训练,直至满足训练停止条件时结束训练。

在模型使用阶段,推荐服务器获取目标用户的特征数据及各候选的推荐对象的特征数据;将目标用户的特征数据分别和各推荐对象的特征数据,生成模型输入数据;将各模型输入数据分别输入训练完成的机器学习模型;通过机器学习模型,确定各模型输入数据相应的输出单元;各模型输入数据相应的输出单元,与各模型输入数据相应的推荐对象所属对象类型对应;对于每个模型输入数据,通过机器学习模型中相应的输出单元,输出与目标用户及该模型输入数据相应的推荐对象对应的用户行为预测结果。推荐服务器再根据各用户行为预测结果从候选的推荐对象中挑选推荐对象,通知推荐对象推荐方所对应的服务器430推荐挑选出来的推荐对象。

应该理解的是,虽然上述各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图6所示,在一个实施例中,提供了一种机器学习模型训练装置600。参照图6,该机器学习模型训练装置600包括:获取模块601、确定模块602和调整模块603。

获取模块601,用于获取模型训练数据和相对应的标签;模型训练数据包括用户样本的特征数据和推荐对象样本的特征数据。

确定模块602,用于根据模型训练数据的产生时间确定模型训练数据的权重;将模型训练数据输入机器学习模型,得到与用户样本及推荐对象样本对应的用户行为预测结果;根据用户行为预测结果和标签的差异及权重确定训练目标。

调整模块603,用于按照优化训练目标的方向,调整机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练。

在一个实施例中,获取模块601还用于收集用户样本的特征数据和推荐对象样本的特征数据生成模型训练数据;当用户样本的特征数据中存在对推荐对象样本的目标行为数据时,则设置模型训练数据相对应的标签为正样本训练标签;当用户样本的特征数据中不存在对推荐对象样本的目标行为数据时,则设置模型训练数据相对应的标签为负样本训练标签。

在一个实施例中,模型训练数据为样本特征向量。获取模块601还用于收集用户样本的用户行为数据和用户属性数据;收集推荐对象样本的推荐对象内容数据和推荐对象属性数据;将用户样本的用户行为数据和用户属性数据各自映射为向量元素,并将推荐对象样本的推荐对象内容数据和推荐对象属性数据各自映射为向量元素;组合用户样本相应的各向量元素和推荐对象样本相应的各向量元素,生成样本特征向量。

在一个实施例中,确定模块602还用于确定推荐对象样本所属的对象类型;将模型训练数据输入机器学习模型,控制通过机器学习模型中与对象类型对应的输出单元,输出与用户样本及推荐对象样本对应的用户行为预测结果。

在一个实施例中,确定模块602还用于查询模型训练数据的产生时间;获取与对象类型相应配置的时间衰减函数;根据产生时间和时间衰减函数,计算模型训练数据的权重。

在一个实施例中,时间衰减函数为分段函数;当时间衰减函数的时间自变量落于预设时间节点与当前时间节点构成的时间区间内时;时间衰减函数为常数函数;当时间衰减函数的时间自变量落于预设时间节点与当前时间节点构成的时间区间外时,时间衰减函数为与时间自变量负相关的函数。

在一个实施例中,机器学习模型包括输入层、中间隐藏层和输出层;输出层包括多个对象类型各自对应的输出单元。调整模块603还用于按照优化训练目标的方向,调整机器学习模型中输入层、中间隐藏层以及与确定的对象类型对应的输出单元的模型参数,并继续训练,直至满足训练停止条件时结束训练。

在一个实施例中,模型训练数据的数量为多个。确定模块602还用于以每个模型训练数据的用户行为预测结果和标签的差异作为自变量,生成相应的损失函数;将各损失函数按相应模型训练数据的权重加权求和,得到训练目标。调整模块603还用于按照最小化训练目标的方向,调整机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练。

如图7所示,在一个实施例中,机器学习模型训练装置600还包括使用模块604,用于获取目标用户的特征数据及各候选的推荐对象的特征数据;将目标用户的特征数据分别和各推荐对象的特征数据,生成模型输入数据;将各模型输入数据输入训练完成的机器学习模型,得到与目标用户及各推荐对象各自对应的用户行为预测结果;根据各用户行为预测结果从候选的推荐对象中挑选推荐对象推荐。

在一个实施例中,使用模块604还用于将各模型输入数据分别输入训练完成的机器学习模型;通过机器学习模型,确定各模型输入数据相应的输出单元;各模型输入数据相应的输出单元,与各模型输入数据相应的推荐对象所属对象类型对应;对于每个模型输入数据,通过机器学习模型中相应的输出单元,输出与目标用户及该模型输入数据相应的推荐对象对应的用户行为预测结果。

在一个实施例中,推荐对象包括推广信息;用户行为预测结果包括推广信息查看预测结果和/或推广信息转化预测结果。

图8示出了一个实施例中计算机设备的内部结构图。如图8所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现机器学习模型训练方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行机器学习模型训练方法。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的机器学习模型训练装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该机器学习模型训练装置的各个程序模块,比如,图6所示的获取模块601、确定模块602和调整模块603。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的机器学习模型训练方法中的步骤。

例如,图8所示的计算机设备可以通过如图6所示的机器学习模型训练装置600中的获取模块601获取模型训练数据和相对应的标签;模型训练数据包括用户样本的特征数据和推荐对象样本的特征数据。通过确定模块602根据模型训练数据的产生时间确定模型训练数据的权重;将模型训练数据输入机器学习模型,得到与用户样本及推荐对象样本对应的用户行为预测结果;根据用户行为预测结果和标签的差异及权重确定训练目标。通过调整模块603按照优化训练目标的方向,调整机器学习模型的模型参数并继续训练,直至满足训练停止条件时结束训练。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述机器学习模型训练方法的步骤。此处机器学习模型训练方法的步骤可以是上述各个实施例的机器学习模型训练方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述机器学习模型训练方法的步骤。此处机器学习模型训练方法的步骤可以是上述各个实施例的机器学习模型训练方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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