本申请涉及计算机技术领域,特别是涉及一种机器学习模型训练方法、装置、计算机可读存储介质和计算机设备。
背景技术:
迁移学习(transferlearning)是指利用数据、任务或模型之间的相似性,将在旧领域(即源域)学习过的模型,应用于新领域(即目标域)的一种学习过程。简单地理解,相似性是迁移的基础,发生迁移的两场景需要有一定相似性,但同时存在差异,导致运用源域数据训练的模型不能直接用于目标域预测。通过迁移学习可以将在源域已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给迁移目标域的新模型,不需要像大多数网络那样从零学习,从而加快并优化模型的学习效率。
然而,因为源域和目标域的数据差异,导致迁移学习容易出现负迁移现象,即迁移后效果不佳甚至下降,迁移得到的模型性能较低。
技术实现要素:
基于此,有必要针对迁移学习容易出现负迁移影响迁移得到的模型性能的技术问题,提供一种机器学习模型训练方法、装置、计算机可读存储介质和计算机设备。
一种机器学习模型训练方法,包括:
获取待训练的机器学习模型的源域样本数据和目标域样本数据;
确定所述目标域样本数据和所述源域样本数据之间的分布密度比;
根据所述分布密度比确定各所述源域样本数据分别对应的源域样本权重;
根据所述源域样本数据和所述目标域样本数据得到训练样本数据,并根据所述源域样本权重和所述目标域样本数据分别对应的目标域样本权重确定所述训练样本数据分别对应的训练样本权重;
按照所述训练样本权重训练所述训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
一种机器学习模型训练装置,所述装置包括:
样本数据获取模块,用于获取待训练的机器学习模型的源域样本数据和目标域样本数据;
密度比确定模块,用于确定所述目标域样本数据和所述源域样本数据之间的分布密度比;
源域样本权重确定模块,用于根据所述分布密度比确定各所述源域样本数据分别对应的源域样本权重;
训练样本权重确定模块,用于根据所述源域样本数据和所述目标域样本数据得到训练样本数据,并根据所述源域样本权重和所述目标域样本数据分别对应的目标域样本权重确定所述训练样本数据分别对应的训练样本权重;
模型训练模块,用于按照所述训练样本权重训练所述训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述机器学习模型训练方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述机器学习模型训练方法的步骤。
上述机器学习模型训练方法、装置、计算机可读存储介质和计算机设备,根据目标域样本数据和源域样本数据之间的分布密度比,确定各源域样本数据分别对应的源域样本权重,根据源域样本数据和目标域样本数据得到训练样本数据,并根据源域样本权重和目标域样本数据分别对应的目标域样本权重确定该训练样本数据分别对应的训练样本权重,再按照训练样本权重训练训练样本数据得到训练完成的机器学习模型。通过由目标域样本数据和源域样本数据之间的分布密度比确定的源域样本权重,控制源域样本数据在模型训练中的影响程度,可以充分利用源域样本数据的同时减小源域样本数据对模型训练的影响,从而突出目标域样本数据对训练模型的影响程度,减小负迁移现象出现概率,提高训练得到的机器学习模型的性能。
附图说明
图1为一个实施例中机器学习模型训练方法的应用环境图;
图2为一个实施例中机器学习模型训练方法的流程示意图;
图3为一个实施例中确定分布密度比的流程示意图;
图4为一个实施例中机器学习模型训练方法的流程示意图;
图5为一个实施例中机器学习模型训练装置的结构框图;
图6为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中机器学习模型训练方法的应用环境图。(例子:参照图1,该机器学习模型训练方法应用于迁移学习系统。该迁移学习系统包括服务器120。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。)
如图2所示,在一个实施例中,提供了一种机器学习模型训练方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该机器学习模型训练方法具体包括如下步骤:
s202,获取待训练的机器学习模型的源域样本数据和目标域样本数据。
迁移学习专门解决两场景需要有一定相似性,但同时存在差异,导致运用源域数据训练的模型不能直接用于目标域预测的问题,它放宽了机器学习“训练测试数据服从同分布”假设,在目标域少量数据标注(不足以训练一个分类器)的情况下,结合源域大量有标签样本,也能训练出一个性能良好的分类器。根据发生迁移的形式可以分为基于实例的迁移学习、基于特征的迁移学习、基于模型的迁移学习以及基于关系的迁移学习。基于实例的迁移是指根据两场景的相似性,给源域样本赋予不同权重训练模型用于目标域上预测/分类;基于特征的迁移学习是指通过特征变化,将源域和目标域分别映射到公共特征子空间,在共有子空间用机器学习方法建立模型完成目标域的预测;基于模型的迁移学习是假设源域和目标域可以共享一些模型参数,用源域参数对目标域模型进行初始化或者对目标域参数进行一定限制如深度学习中的fine-tune技术。
迁移学习中,领域(domain)由数据和生成这些数据的概率分布组成,一般用d来表示域,p表示一个概率分布。特别地,有两个基本领域:源域(sourcedomain)和目标域(targetdomain)。源域是要迁移的对象,一般有充足的标签样本;目标域是最终期望得到的(赋予标签信息)对象。迁移学习完成从源域到目标域知识的迁移。迁移学习中的学习目标为任务(task),由标签和函数两部分组成。根据源域和目标域有无标签,可以分为归纳式迁移、直推式迁移、以及无监督迁移。本实施例正是基于迁移学习进行机器学习模型训练。
其中,待训练的机器学习模型为需要训练得到的模型,具体可以为迁移学习中迁移得到的机器学习模型,具体如分类器等。源域样本数据为迁移学习中迁移的源域中的样本数据,目标域样本数据为目标域中的样本数据。一般地,源域样本数据的数据量充足,可以训练对应源域的模型,而目标域样本数据中带标签的目标域样本数据的数据量较少,不足以直接进行模型训练的到机器学习模型,所以需要基于迁移学习从源域进行迁移训练得到所需的机器学习模型。具体应用中,源域样本数据和目标域样本数据可以从对应领域中采集得到。
s204,确定目标域样本数据和源域样本数据之间的分布密度比。
分布密度比为迁移学习中目标域与源域边缘分布比,边缘分布为包含多维随机变量中部分变量的概率分布。目标域与源域之间的差异主要体现在数据分布不同,包括边缘分布和条件分布均有可能存在差异,两种类型分布上的差异都会影响最终模型在目标域上的性能。
分布密度比可表达为
s206,根据分布密度比确定各源域样本数据分别对应的源域样本权重。
源域和目标域有标签样本对模型贡献可能不同,且源域、目标域内各样本重要性也不同,源域样本权重表征了各源域样本数据对待训练的机器学习模型的影响程度,源域样本权重越大,表明对应的源域样本数据对待训练的机器学习模型的影响越大,通过合理利用源域和目标域中样本数据,可以降低负迁移发生概率,提高训练得到的机器学习模型的性能。
本实施例中,得到目标域样本数据和源域样本数据之间的分布密度比后,根据该分布密度比确定各源域样本数据分别对应的源域样本权重,具体可以对分布密度比进行归一化处理后作为各源域样本数据分别对应的源域样本权重。
s208,根据源域样本数据和目标域样本数据得到训练样本数据,并根据源域样本权重和目标域样本数据分别对应的目标域样本权重确定训练样本数据分别对应的训练样本权重。
其中,训练样本数据为待训练的机器学习模型的训练数据,可以根据源域样本数据和目标域样本数据得到,如可以将源域样本数据和目标域样本数据中带标签的目标域样本数据组合作为训练样本数据。得到训练样本数据后,对于训练样本数据中的各源域样本数据,根据其对应的源域样本权重确定训练样本权重;对于训练样本数据中的目标域样本数据,根据其分别对应的目标域样本权重,确定训练样本权重。
s210,按照训练样本权重训练训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
确定训练样本数据和各训练样本数据分别对应的训练样本权重后,按照训练样本权重对训练样本数据进行模型训练,在满足训练结束条件时,如训练次数达到次数阈值或训练输出满足准确度条件时,结束训练,得到训练完成的机器学习模型。在模型训练时,对于每一训练样本数据设有对应的训练样本权重,各训练样本权重将直接影响机器学习模型的模型参数,从而影响训练得到的机器学习模型的性能。而源域和目标域的数据分布差异是造成源域模型在目标域上性能下降,如预测模型预测准确度下降的主要原因,通过由目标域样本数据和源域样本数据之间的分布密度比确定的源域样本权重,控制源域样本数据在模型训练中的影响程度,可以充分利用源域样本数据的同时减小源域样本数据对模型训练的影响,从而突出目标域样本数据对训练模型的影响程度,缓解负迁移现象,提高训练得到的机器学习模型的性能。
上述机器学习模型训练方法,根据目标域样本数据和源域样本数据之间的分布密度比,确定各源域样本数据分别对应的源域样本权重,根据源域样本数据和目标域样本数据得到训练样本数据,并根据源域样本权重和目标域样本数据分别对应的目标域样本权重确定该训练样本数据分别对应的训练样本权重,再按照训练样本权重训练训练样本数据得到训练完成的机器学习模型。通过由目标样本数据和源域样本数据之间的分布密度比确定的源域样本权重,控制源域样本数据在模型训练中的影响程度,可以充分利用源域样本数据的同时减小源域样本数据对模型训练的影响,从而突出目标域样本数据对训练模型的影响程度,减小负迁移现象出现概率,提高训练得到的机器学习模型的性能。
在一个实施例中,如图3所示,确定分布密度比的处理,即确定目标域样本数据和源域样本数据之间的分布密度比包括:
s302,对源域样本数据和目标域样本数据进行数据标准化处理,得到源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本。
本实施例中,在源域样本数据和目标域样本数据的特征维度较高时进行降维处理,并通过密度比估计算法直接估计目标域样本数据和源域样本数据之间的分布密度比。具体地,确定分布密度比时,对源域样本数据和目标域样本数据进行数据标准化处理,如可以通过z-score零均值规范化方法对源域样本数据和目标域样本数据进行数据标准化处理,得到源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本。对源域样本数据和目标域样本数据进行数据标准化处理后,可以使得到的源域标准化样本和目标域标准化样本的数据范围映射至一相对区间范围,以便进行后续处理。
s304,当源域样本数据和目标域样本数据的特征维度大于预设维度阈值时,对源域标准化样本和目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后的目标域标准化样本。
确定源域样本数据和目标域样本数据的特征维度,一般地,迁移学习中源域样本数据和目标域样本数据的特征维度相同。当源域样本数据和目标域样本数据的特征维度大于预设维度阈值时,表明源域样本数据和目标域样本数据的特征维度较高,而随着特征维度的增加,密度比估计所需要的样本数将呈指数级增加,即“维数灾难”,通过密度比估计算法直接进行分布密度比估计时估计样本数量有限,导致估计的准确性有限。其中,维度阈值可以根据实际需求确定,如可以根据密度比估计算法确定的分布密度比的准确度进行设置。当源域样本数据和目标域样本数据的特征维度大于预设维度阈值时,对源域标准化样本和目标域标准化样本分别进行降维处理,如可以通过lfda(localfisherlineardiscriminantanalysis,局部线性判别式分析)对源域标准化样本和目标域标准化样本分别进行降维处理,将高维特征映射至低维空间,得到降维后的源域标准化样本和降维后的目标域标准化样本,从而确保通过密度比估计算法直接进行分布密度比估计的准确性。
s306,通过密度比估计算法确定降维后的目标域标准化样本和降维后的源域标准化样本之间的降维分布密度比,并将降维分布密度比作为目标域样本数据和源域样本数据之间的分布密度比。
通过密度比估计算法对降维后的目标域标准化样本和降维后的源域标准化样本进行密度比估计,得到降维后的目标域标准化样本和降维后的源域标准化样本之间的降维分布密度比,并将降维分布密度比作为目标域样本数据和源域样本数据之间的分布密度比。
具体实现时,密度比估计算法可以采用ulsif(unconstrainedleast-squaresimportancefitting,无约束最小二乘重要度拟合)算法,ulsif需要分别计算源域和目标域的边缘分布,直接估计两分布比值,极大地减少了计算量,同时也能给出较准确的估计值。ulsif通过一组高斯核的线性加权近似密度比,如下式(1)示,
其中,β(x)为ulsif的密度比估计结果,x为进行密度比估计的变量;b表示高斯核的个数,可任意指定,一般取100;a为加权系数;k为高斯核函数,c为高斯核函数的参数,σ为高斯核宽度,可通过k折-交叉验证定理,如10折-交叉验证定理确定。其中,k折-交叉验证定理可以有效避免划分训练集和测试集时的随机性对评价结果造成的影响。具体地,k折-交叉验证处理时把样本数据随机的分成k份,每次随机的选择k-1份作为训练集,剩下的1份做测试集。当一轮训练完成后,重新随机选择k-1份来训练数据。若干轮(小于k)之后,选择损失函数评价最优的模型和参数。这k个模型在各自验证集上的错误率的平均值作为分类器的评价结果,k一般大于3。通过ulsif可以准确确定出降维后的目标域标准化样本和降维后的源域标准化样本之间的降维分布密度比,降维分布密度比可以作为目标域样本数据和源域样本数据之间的分布密度比。
在一个实施例中,对源域样本数据和目标域样本数据进行数据标准化处理,得到源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本包括:确定源域样本数据的均值和标准差;将源域样本数据和目标域样本数据作为待标准化数据,并确定待标准化数据与均值的数据差;确定数据差与标准差的比值,并将比值作为待标准化数据对应的标准化样本;标准化样本包括源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本。
本实施例中,通过z-score零均值规范化方法对源域样本数据和目标域样本数据进行数据标准化处理。具体地,确定源域样本数据的均值和标准差,均值和标准差可以对源域样本数据进行统计处理得到。将源域样本数据和目标域样本数据作为待标准化数据,并确定待标准化数据与均值的数据差,具体可以将源域样本数据和目标域样本数据分别与源域样本数据的均值进行相减,得到数据差。确定数据差与标准差的比值,并将该比值作为待标准化数据对应的标准化样本,其中,标准化样本包括源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本,从而实现对源域样本数据和目标域样本数据的数据标准化处理。
在一具体应用中,数据标准化处理表达式为
在一个实施例中,当源域样本数据和目标域样本数据的特征维度大于预设维度阈值时,对源域标准化样本和目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后的目标域标准化样本包括:从目标域标准化样本中确定无标签的目标域标准化样本,无标签的目标域标准化样本由目标域样本数据中无标签的目标域样本数据进行数据标准化处理后得到;确定源域样本数据和目标域样本数据的特征维度;当特征维度大于预设维度阈值时,对源域标准化样本和无标签的目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后无标签的目标域标准化样本,将降维后无标签的目标域标准化样本作为降维后的目标域标准化样本。
本实施例中,考虑到目标域中有标签样本数量较少,标签十分珍贵,更应该合理利用已有标签训练模型,故通过源域标准化样本和目标域标准化样本中无标签的目标域标准化样本进行密度比估计处理。其中,无标签的目标域标准化样本由目标域样本数据中无标签的目标域样本数据进行数据标准化处理后得到。
具体地,得到源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本后,从目标域标准化样本中确定无标签的目标域标准化样本,无标签的目标域标准化样本由目标域样本数据中无标签的目标域样本数据进行数据标准化处理后得到。一般地,目标域中的目标域样本数据包括大量无标签的目标域样本数据和少量带标签的目标域样本数据,本实例中,通过无标签的目标域样本数据进行分布密度比估计。确定源域样本数据和目标域样本数据的特征维度,特征维度可以根据源域样本数据和目标域样本数据的数据特征进行确定。
查询预设的维度阈值,维度阈值根据实际需求预先设置。比较源域样本数据和目标域样本数据的特征维度与维度阈值,若特征维度大于预设维度阈值,对源域标准化样本和无标签的目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后无标签的目标域标准化样本,并将降维后无标签的目标域标准化样本作为降维后的目标域标准化样本。从而将高维的源域标准化样本和无标签的目标域标准化样本进行降维处理,以确保密度比估计处理的准确度。
在一个实施例中,还包括:当特征维度不大于维度阈值时,通过密度比估计算法确定无标签的目标域标准化样本和源域标准化样本之间的低维分布密度比,并将低维分布密度比作为目标域样本数据和源域样本数据之间的分布密度比。
本实施例中,当源域样本数据和目标域样本数据的特征维度不大于维度阈值时,表明源域样本数据和目标域样本数据的样本特征在低维空间,可以直接通过密度比估计算法进行密度比估计处理。具体地,当特征维度不大于维度阈值时,通过密度比估计算法确定无标签的目标域标准化样本和源域标准化样本之间的低维分布密度比,低维分布密度比可以作为目标域样本数据和源域样本数据之间的分布密度比,从而准确确定出目标域样本数据和源域样本数据之间的分布密度比。
在一个实施例中,根据分布密度比确定各源域样本数据分别对应的源域样本权重包括:对分布密度比进行归一化处理,得到各源域样本数据分别对应的源域样本权重。
根据源域和目标域数据分布差异大小,分别赋予源域样本不同权重。若用lr分类器,假设源域和目标域条件概率相等,则有式(2),
其中,
本实施例中,将分布密度比进行归一化处理后作为各源域样本数据分别对应的源域样本权重。具体地,根据分布密度比确定各源域样本数据分别对应的源域样本权重时,对得到的分布密度比进行归一化处理,得到各源域样本数据分别对应的源域样本权重,源域样本权重的取值在[0,1]区间范围内。
在一个实施例中,根据源域样本数据和目标域样本数据得到训练样本数据包括:从目标域样本数据中提取带标签的目标域样本数据;将源域样本数据和带标签的目标域样本数据作为训练样本数据。
本实施例中,根据源域样本数据和目标域样本数据中带标签的目标域样本数据得到用于模型训练的训练样本数据。具体地,根据源域样本数据和目标域样本数据得到训练样本数据时,从目标域样本数据中提取带标签的目标域样本数据,带标签的目标域样本数据的数据量一般较少,不足以支持单独训练模型,其对模型训练的价值高。根据带标签的目标域样本数据和源域样本数据得到训练样本数据,具体可以直接将源域样本数据和带标签的目标域样本数据作为训练样本数据,基于训练样本数据进行模型训练,可以得到需要的机器学习模型。
在一个实施例中,还包括:确定目标域样本数据中带标签的目标域样本数据的样本数量;当样本数量大于预设样本数量阈值时,通过迭代算法确定各带标签的目标域样本数据的分别对应的目标域样本权重。
本实施例中,在确定训练样本数据分别对应的训练样本权重前,确定训练样本数据中各带标签的目标域样本数据的分别对应的目标域样本权重,目标域样本权重表征了通过对应的目标域样本数据进行模型训练时,对应目标域样本数据对模型的影响程度。具体地,确定目标域样本数据中带标签的目标域样本数据的样本数量,具体可以对带标签的目标域样本数据进行统计得到,比较样本数量与预设样本数量阈值,样本数量阈值t可以进行灵活设置,如设t=100,当样本数量大于预设样本数量阈值时,通过迭代算法确定各带标签的目标域样本数据的分别对应的目标域样本权重,具体可以通过adaboost算法确定各带标签的目标域样本数据的分别对应的目标域样本权重。adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。通过adaboost算法进行迭代处理,可以确定各带标签的目标域样本数据的分别对应的目标域样本权重。
在一个实施例中,通过迭代算法确定各带标签的目标域样本数据的分别对应的目标域样本权重包括:确定各带标签的目标域样本数据的分别对应的初始化权重,并将初始化权重作为当前权重;按照当前权重训练带标签的目标域样本数据,根据训练过程中的误差确定权重更新系数;通过权重更新系数对当前权重进行更新,得到更新权重;确定训练次数,当训练次数达到预设迭代阈值时,根据更新权重确定各带标签的目标域样本数据的分别对应的目标域样本权重。
本实施例中,通过adaboost算法进行迭代处理,以确定各带标签的目标域样本数据的分别对应的目标域样本权重。具体地,在确定各带标签的目标域样本数据的分别对应的目标域样本权重时,确定各带标签的目标域样本数据的分别对应的初始化权重,并将初始化权重作为当前权重。其中,初始化权重可以预先设定,如设置初始化权重为归一化的等权重,将初始化权重作为当前权重,即作为当前训练时的权重。按照当前权重训练带标签的目标域样本数据,具体可以训练一分类器,如lr分类器,根据训练过程中的误差确定权重更新系数。具体地,可以获取训练的lr分类器的输出结果和对应的输入的标签,根据标签和输出结果确定当前训练的误差,并根据该误差计算权重更新系数。得到权重更新系数后,通过权重更新系数对当前权重进行更新,得到更新权重,并确定训练次数,在当训练次数达到预设迭代阈值时,表明训练次数已达到要求,则根据更新权重确定各带标签的目标域样本数据的分别对应的目标域样本权重,如可以将更新权重进行归一化处理后作为各带标签的目标域样本数据的分别对应的目标域样本权重。此外,在训练次数未达到迭代阈值时,返回执行按照当前权重训练带标签的目标域样本数据,根据训练过程中的误差确定权重更新系数,以进行下一次的迭代训练处理。
在一个具体应用中,带标签的目标域样本数据组成带标签数据集
在一个实施例中,还包括:当样本数量不大于样本数量阈值时,确定各带标签的目标域样本数据的分别对应的目标域样本权重相同。
本实施例中,目标域样本数据中带标签的目标域样本数据的样本数量不满足训练迭代的样本数量阈值时,直接确定各带标签的目标域样本数据的分别对应的目标域样本权重。具体地,当样本数量不大于样本数量阈值时,将各带标签的目标域样本数据的分别对应的目标域样本权重设置为等权重,即各带标签的目标域样本数据的分别对应的目标域样本权重相同。如设为
在一个实施例中,根据源域样本权重和目标域样本数据分别对应的目标域样本权重确定训练样本数据分别对应的训练样本权重包括:确定源域样本数据对应的源域权重平衡因子和目标域样本数据对应的目标域权重平衡因子;根据源域权重平衡因子和源域样本权重的乘积得到训练样本数据中源域样本数据的源域样本权重;根据目标域权重平衡因子和目标域样本权重的乘积得到训练样本数据中目标域样本数据的目标域样本权重;训练样本权重包括源域样本权重和目标域样本权重。
本实施例中,为源域和目标域设置平衡因子,进一步调整训练样本数据中各源域样本数据分别对应的源域样本权重及各目标域样本数据分别对应的目标域样本权重。
具体地,确定训练样本数据分别对应的训练样本权重时,确定源域样本数据对应的源域权重平衡因子和目标域样本数据对应的目标域权重平衡因子。其中,平衡因子用于调整源域中所有数据与目标域所有数据的对模型训练的整体影响程度。源域权重平衡因子和目标域权重平衡因子的和为1,各自取值可以根据需求进行设置,如可以设置为相等,也可以源域样本数据和目标域样本数据之间的差异进行调整。如源域样本数据和目标域样本数据之间的差异较大时,减小源域样本数据对模型贡献,即减小源域权重平衡因子;源域样本数据和目标域样本数据之间的差异较小时,可以增大源域贡献,即增大源域权重平衡因子,以较大限度利用源域中标签信息。
根据源域权重平衡因子和源域样本权重的乘积得到训练样本数据中源域样本数据的源域样本权重,并根据目标域权重平衡因子和目标域样本权重的乘积得到训练样本数据中目标域样本数据的目标域样本权重,从而确定训练样本数据中源域样本数据和目标域样本数据各自分别对应的权重。训练样本权重包括源域样本权重和目标域样本权重。具体地,对于训练样本数据中的源域样本数据,其对应于源域样本权重;训练样本数据中的目标域样本数据,对应于目标域样本权重。
在一个具体应用中,考虑到源域和目标域有标签样本对模型贡献可能不同,且源域、目标域内各样本重要性也不同,分别对源域、目标域样本赋予不同权重,并设置平衡因子控制源域和目标域数据整体对模型影响,达到合理利用源域和目标域中样本标签,降低负迁移发生概率的目的。其中,训练的模型为分类器,分类器使用逻辑回归,则有式(3),
其中,
在一个实施例中,提供了一种机器学习模型训练方法,应用于金融风控场景下的违约概率预测,可以对场景a下用户违约概率进行预测,而若场景a的业务处于上线初期,则a场景下的有标签样本数量较少,且存在大量无标签样本。但另有一个与场景a相似场景b,则可以收集到b场景下大量有标签样本,基于场景a下大量无标签样本+场景a下少量有标签样本和b场景下大量有标签样本构建训练样本数据,并确定各训练样本数据的训练样本权重,按照训练样本权重训练训练样本数据,得到可以在场景a下进行有效违约概率预测的机器学习模型。
具体地,源域样本数据携带标签,其组成的数据集为
通过z-score零均值规范化方法对所有数据,即对源域样本数据和目标域样本数据进行数据标准化处理。在源域样本数据和目标域样本数据的特征维度较高时,通过lfda算法对源域数据集ds和目标域无标签数据集dt,u进行降维处理,并通过ulsif算法对降维后的数据进行密度比估计,计算两域边缘分布的分布密度比
对于目标域有标签数据集dt,l,判断nt是否大于某一阈值t(如100),若nt大于阈值t,运用adaboost算法,确定各目标域样本数据对应的目标域样本权重,具体可以将adaboost算法最后一次训练的基分类器样本权重作归一化处理后作为目标域样本权重,即目标域样本权重
将αi,βi和λt,λs分别相乘,确定最终训练样本权重,最后将源域和目标域有标签样本共同训练lr分类器用于目标域上预测,即用于场景a进行有效违约概率预测。
在一个实施例中,如图4所示,提供了一种机器学习模型训练方法,包括:
s402,获取待训练的机器学习模型的源域样本数据和目标域样本数据;
s404,确定源域样本数据的均值和标准差;
s406,将源域样本数据和目标域样本数据作为待标准化数据,并确定待标准化数据与均值的数据差;
s408,确定数据差与标准差的比值,并将比值作为待标准化数据对应的标准化样本;标准化样本包括源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本;
s410,从目标域标准化样本中确定无标签的目标域标准化样本,无标签的目标域标准化样本由目标域样本数据中无标签的目标域样本数据进行数据标准化处理后得到;
s412,确定源域样本数据和目标域样本数据的特征维度;
s414,当特征维度大于预设维度阈值时,对源域标准化样本和无标签的目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后无标签的目标域标准化样本,将降维后无标签的目标域标准化样本作为降维后的目标域标准化样本;
s416,通过密度比估计算法确定降维后的目标域标准化样本和降维后的源域标准化样本之间的降维分布密度比,并将降维分布密度比作为目标域样本数据和源域样本数据之间的分布密度比;
s418,对分布密度比进行归一化处理,得到各源域样本数据分别对应的源域样本权重;
s420,从目标域样本数据中提取带标签的目标域样本数据;
s422,将源域样本数据和带标签的目标域样本数据作为训练样本数据;
s424,确定源域样本数据对应的源域权重平衡因子和目标域样本数据对应的目标域权重平衡因子;
s426,根据源域权重平衡因子和源域样本权重的乘积得到训练样本数据中源域样本数据的源域样本权重;
s428,根据目标域权重平衡因子和目标域样本权重的乘积得到训练样本数据中目标域样本数据的目标域样本权重;训练样本权重包括源域样本权重和目标域样本权重;
s430,按照训练样本权重训练训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
此外,还包括确定目标域样本权重的处理,具体包括:确定目标域样本数据中带标签的目标域样本数据的样本数量;当样本数量大于预设样本数量阈值时,确定各带标签的目标域样本数据的分别对应的初始化权重,并将初始化权重作为当前权重;按照当前权重训练带标签的目标域样本数据,根据训练过程中的误差确定权重更新系数;通过权重更新系数对当前权重进行更新,得到更新权重;确定训练次数,当训练次数达到预设迭代阈值时,根据更新权重确定各带标签的目标域样本数据的分别对应的目标域样本权重。而当样本数量不大于样本数量阈值时,确定各带标签的目标域样本数据的分别对应的目标域样本权重相同。
图4为一个实施例中机器学习模型训练方法的流程示意图。应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图5所示,在一个实施例中,提供了一种机器学习模型训练装置500,包括:
样本数据获取模块502,用于获取待训练的机器学习模型的源域样本数据和目标域样本数据;
密度比确定模块504,用于确定目标域样本数据和源域样本数据之间的分布密度比;
源域样本权重确定模块506,用于根据分布密度比确定各源域样本数据分别对应的源域样本权重;
训练样本权重确定模块508,用于根据源域样本数据和目标域样本数据得到训练样本数据,并根据源域样本权重和目标域样本数据分别对应的目标域样本权重确定训练样本数据分别对应的训练样本权重;
模型训练模块510,用于按照训练样本权重训练训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
在一个实施例中,密度比确定模块504包括标准化处理模块、样本降维处理模块和密度比估计处理模块;其中:标准化处理模块,用于对源域样本数据和目标域样本数据进行数据标准化处理,得到源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本;样本降维处理模块,用于当源域样本数据和目标域样本数据的特征维度大于预设维度阈值时,对源域标准化样本和目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后的目标域标准化样本;密度比估计处理模块,用于通过密度比估计算法确定降维后的目标域标准化样本和降维后的源域标准化样本之间的降维分布密度比,并将降维分布密度比作为目标域样本数据和源域样本数据之间的分布密度比。
在一个实施例中,标准化处理模块包括标准化参数确定模块、数据差确定模块和比值确定模块;其中:标准化参数确定模块,用于确定源域样本数据的均值和标准差;数据差确定模块,用于将源域样本数据和目标域样本数据作为待标准化数据,并确定待标准化数据与均值的数据差;比值确定模块,用于确定数据差与标准差的比值,并将比值作为待标准化数据对应的标准化样本;标准化样本包括源域样本数据对应的源域标准化样本和目标域样本数据对应的目标域标准化样本。
在一个实施例中,样本降维处理模块包括无标签样本提取模块、特征维度确定模块和降维处理模块;其中:无标签样本提取模块,用于从目标域标准化样本中确定无标签的目标域标准化样本,无标签的目标域标准化样本由目标域样本数据中无标签的目标域样本数据进行数据标准化处理后得到;特征维度确定模块,用于确定源域样本数据和目标域样本数据的特征维度;降维处理模块,用于当特征维度大于预设维度阈值时,对源域标准化样本和无标签的目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后无标签的目标域标准化样本,将降维后无标签的目标域标准化样本作为降维后的目标域标准化样本。
在一个实施例中,还包括密度比直接估计模块,用于当特征维度不大于维度阈值时,通过密度比估计算法确定无标签的目标域标准化样本和源域标准化样本之间的低维分布密度比,并将低维分布密度比作为目标域样本数据和源域样本数据之间的分布密度比。
在一个实施例中,源域样本权重确定模块506包括归一化处理模块,用于对分布密度比进行归一化处理,得到各源域样本数据分别对应的源域样本权重。
在一个实施例中,训练样本权重确定模块508包括标签样本提取模块和训练样本确定模块;其中:标签样本提取模块,用于从目标域样本数据中提取带标签的目标域样本数据;训练样本确定模块,用于将源域样本数据和带标签的目标域样本数据作为训练样本数据。
在一个实施例中,还包括样本数量确定模块和迭代算法处理模块;其中:样本数量确定模块,用于确定目标域样本数据中带标签的目标域样本数据的样本数量;迭代算法处理模块,用于当样本数量大于预设样本数量阈值时,通过迭代算法确定各带标签的目标域样本数据的分别对应的目标域样本权重。
在一个实施例中,迭代算法处理模块包括当前权重确定模块、更新系数确定模块、更新权重模块和迭代结束模块;其中:当前权重确定模块,用于确定各带标签的目标域样本数据的分别对应的初始化权重,并将初始化权重作为当前权重;更新系数确定模块,用于按照当前权重训练带标签的目标域样本数据,根据训练过程中的误差确定权重更新系数;更新权重模块,用于通过权重更新系数对当前权重进行更新,得到更新权重;迭代结束模块,用于确定训练次数,当训练次数达到预设迭代阈值时,根据更新权重确定各带标签的目标域样本数据的分别对应的目标域样本权重。
在一个实施例中,还包括等权重设置模块,用于当样本数量不大于样本数量阈值时,确定各带标签的目标域样本数据的分别对应的目标域样本权重相同。
在一个实施例中,训练样本权重确定模块508包括平衡因子确定模块、源域平衡因子处理模块和目标域平衡因子处理模块;其中:平衡因子确定模块,用于确定源域样本数据对应的源域权重平衡因子和目标域样本数据对应的目标域权重平衡因子;源域平衡因子处理模块,用于根据源域权重平衡因子和源域样本权重的乘积得到训练样本数据中源域样本数据的源域样本权重;目标域平衡因子处理模块,用于根据目标域权重平衡因子和目标域样本权重的乘积得到训练样本数据中目标域样本数据的目标域样本权重;训练样本权重包括源域样本权重和目标域样本权重。
图6示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的或服务器120。如图6所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现机器学习模型训练方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行机器学习模型训练方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的机器学习模型训练装置可以实现为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该机器学习模型训练装置的各个程序模块,比如,图5所示的样本数据获取模块502、密度比确定模块504、源域样本权重确定模块506和训练样本权重确定模块508。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的机器学习模型训练方法中的步骤。
例如,图6所示的计算机设备可以通过如图5所示的机器学习模型训练装置中的样本数据获取模块502执行获取待训练的机器学习模型的源域样本数据和目标域样本数据。计算机设备可通过密度比确定模块504执行确定目标域样本数据和源域样本数据之间的分布密度比。计算机设备可通过源域样本权重确定模块506执行根据分布密度比确定各源域样本数据分别对应的源域样本权重。计算机设备可通过训练样本权重确定模块508执行根据源域样本数据和目标域样本数据得到训练样本数据,并根据源域样本权重和目标域样本数据分别对应的目标域样本权重确定训练样本数据分别对应的训练样本权重。计算机设备可通过模型训练模块510执行按照训练样本权重训练训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述机器学习模型训练方法的步骤。此处机器学习模型训练方法的步骤可以是上述各个实施例的机器学习模型训练方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述机器学习模型训练方法的步骤。此处机器学习模型训练方法的步骤可以是上述各个实施例的机器学习模型训练方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种机器学习模型训练方法,包括:
获取待训练的机器学习模型的源域样本数据和目标域样本数据;
确定所述目标域样本数据和所述源域样本数据之间的分布密度比;
根据所述分布密度比确定各所述源域样本数据分别对应的源域样本权重;
根据所述源域样本数据和所述目标域样本数据得到训练样本数据,并根据所述源域样本权重和所述目标域样本数据分别对应的目标域样本权重确定所述训练样本数据分别对应的训练样本权重;
按照所述训练样本权重训练所述训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标域样本数据和所述源域样本数据之间的分布密度比包括:
对所述源域样本数据和所述目标域样本数据进行数据标准化处理,得到所述源域样本数据对应的源域标准化样本和所述目标域样本数据对应的目标域标准化样本;
当所述源域样本数据和所述目标域样本数据的特征维度大于预设维度阈值时,对所述源域标准化样本和所述目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后的目标域标准化样本;
通过密度比估计算法确定降维后的目标域标准化样本和降维后的源域标准化样本之间的降维分布密度比,并将所述降维分布密度比作为所述目标域样本数据和所述源域样本数据之间的分布密度比。
3.根据权利要求2所述的方法,其特征在于,所述对所述源域样本数据和所述目标域样本数据进行数据标准化处理,得到所述源域样本数据对应的源域标准化样本和所述目标域样本数据对应的目标域标准化样本包括:
确定所述源域样本数据的均值和标准差;
将所述源域样本数据和所述目标域样本数据作为待标准化数据,并确定所述待标准化数据与所述均值的数据差;
确定所述数据差与所述标准差的比值,并将所述比值作为所述待标准化数据对应的标准化样本;所述标准化样本包括所述源域样本数据对应的源域标准化样本和所述目标域样本数据对应的目标域标准化样本。
4.根据权利要求2所述的方法,其特征在于,所述当所述源域样本数据和所述目标域样本数据的特征维度大于预设维度阈值时,对所述源域标准化样本和所述目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后的目标域标准化样本包括:
从所述目标域标准化样本中确定无标签的目标域标准化样本,无标签的目标域标准化样本由所述目标域样本数据中无标签的目标域样本数据进行数据标准化处理后得到;
确定所述源域样本数据和所述目标域样本数据的特征维度;
当所述特征维度大于预设维度阈值时,对所述源域标准化样本和无标签的目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后无标签的目标域标准化样本,将降维后无标签的目标域标准化样本作为降维后的目标域标准化样本。
5.根据权利要求4所述的方法,其特征在于,还包括:
当所述特征维度不大于所述维度阈值时,通过密度比估计算法确定所述无标签的目标域标准化样本和所述源域标准化样本之间的低维分布密度比,并将所述低维分布密度比作为所述目标域样本数据和所述源域样本数据之间的分布密度比。
6.根据权利要求1所述的方法,其特征在于,所述根据所述分布密度比确定各所述源域样本数据分别对应的源域样本权重包括:
对所述分布密度比进行归一化处理,得到各所述源域样本数据分别对应的源域样本权重。
7.根据权利要求1所述的方法,其特征在于,所述根据所述源域样本数据和所述目标域样本数据得到训练样本数据包括:
从所述目标域样本数据中提取带标签的目标域样本数据;
将所述源域样本数据和带标签的目标域样本数据作为训练样本数据。
8.根据权利要求1所述的方法,其特征在于,还包括:
确定所述目标域样本数据中带标签的目标域样本数据的样本数量;
当所述样本数量大于预设样本数量阈值时,通过迭代算法确定各带标签的目标域样本数据的分别对应的目标域样本权重。
9.根据权利要求8所述的方法,其特征在于,所述通过迭代算法确定各带标签的目标域样本数据的分别对应的目标域样本权重包括:
确定各带标签的目标域样本数据的分别对应的初始化权重,并将所述初始化权重作为当前权重;
按照所述当前权重训练带标签的目标域样本数据,根据训练过程中的误差确定权重更新系数;
通过所述权重更新系数对所述当前权重进行更新,得到更新权重;
确定训练次数,当所述训练次数达到预设迭代阈值时,根据所述更新权重确定各带标签的目标域样本数据的分别对应的目标域样本权重。
10.根据权利要求8所述的方法,其特征在于,还包括:
当所述样本数量不大于所述样本数量阈值时,确定各带标签的目标域样本数据的分别对应的目标域样本权重相同。
11.根据权利要求1至10任意一项所述的方法,其特征在于,所述根据所述源域样本权重和所述目标域样本数据分别对应的目标域样本权重确定所述训练样本数据分别对应的训练样本权重包括:
确定所述源域样本数据对应的源域权重平衡因子和所述目标域样本数据对应的目标域权重平衡因子;
根据所述源域权重平衡因子和所述源域样本权重的乘积得到所述训练样本数据中源域样本数据的源域样本权重;
根据所述目标域权重平衡因子和所述目标域样本权重的乘积得到所述训练样本数据中目标域样本数据的目标域样本权重;
所述训练样本权重包括所述源域样本权重和所述目标域样本权重。
12.一种机器学习模型训练装置,其特征在于,所述装置包括:
样本数据获取模块,用于获取待训练的机器学习模型的源域样本数据和目标域样本数据;
密度比确定模块,用于确定所述目标域样本数据和所述源域样本数据之间的分布密度比;
源域样本权重确定模块,用于根据所述分布密度比确定各所述源域样本数据分别对应的源域样本权重;
训练样本权重确定模块,用于根据所述源域样本数据和所述目标域样本数据得到训练样本数据,并根据所述源域样本权重和所述目标域样本数据分别对应的目标域样本权重确定所述训练样本数据分别对应的训练样本权重;
模型训练模块,用于按照所述训练样本权重训练所述训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。
13.根据权利要求12所述的装置,其特征在于,所述密度比确定模块包括:
标准化处理模块,用于对所述源域样本数据和所述目标域样本数据进行数据标准化处理,得到所述源域样本数据对应的源域标准化样本和所述目标域样本数据对应的目标域标准化样本;
样本降维处理模块,用于当所述源域样本数据和所述目标域样本数据的特征维度大于预设维度阈值时,对所述源域标准化样本和所述目标域标准化样本分别进行降维处理,得到降维后的源域标准化样本和降维后的目标域标准化样本;
密度比估计处理模块,用于通过密度比估计算法确定降维后的目标域标准化样本和降维后的源域标准化样本之间的降维分布密度比,并将所述降维分布密度比作为所述目标域样本数据和所述源域样本数据之间的分布密度比。
14.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
技术总结
本申请涉及一种机器学习模型训练方法、装置、计算机可读存储介质和计算机设备,方法包括:获取待训练的机器学习模型的源域样本数据和目标域样本数据;确定目标域样本数据和源域样本数据之间的分布密度比;根据分布密度比确定各源域样本数据分别对应的源域样本权重;根据源域样本数据和目标域样本数据得到训练样本数据,并根据源域样本权重和目标域样本数据分别对应的目标域样本权重确定训练样本数据分别对应的训练样本权重;按照训练样本权重训练训练样本数据,在满足训练结束条件时,得到训练完成的机器学习模型。本申请提供的方案可以提高训练得到的机器学习模型的性能。
技术研发人员:刘紫薇;宋辉;吕培立;董井然;陈守志
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:.11.13
技术公布日:.02.28