模型迭代训练方法及装置与流程

文档序号:17489456发布日期:2019-04-23 20:18阅读:857来源:国知局
模型迭代训练方法及装置与流程

本发明涉及数据挖掘技术领域,特别涉及一种模型迭代训练方法及装置。



背景技术:

当前数据挖掘技术受到了各个领域人员的极大关注。数据挖掘的基本任务为海量数据进行分类,而对数据分类通常基于训练好的分类模型实现。

现在技术中在训练分类模型时,首先选取用于模型训练的正样本和负样本。其中,正样本指代训练模型用的样本库中已被标记的样本。如具有相同需求或兴趣的一类人群,负样本从样本库中未被标记的样本里选取。之后,根据该正例样本和该负例样本进行一轮模型训练,得到分类模型。然而往往负样本的清洁度会存在不高的问题,导致正例与负例样本区分度不够好,使用这样的样本数据对模型进行训练,模型稳定性不够好,模型的分类准确率等评估指标会相当低。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种模型迭代训练方法。所述技术方案如下:

一方面,本发明实施例提供了一种模型迭代训练方法,所述方法包括:

在第一样本库中选取第一迭代负面样本,所述第一迭代负面样本为第一样本库中除第一迭代正例样本之外的其余样本;

在所述第一迭代正面样本中随机选取第一数量的第一测试样本,在所述第一迭代负面样本中随机选取第二数量的第二测试样本,所述第一数量与第二数量相等;

根据所述第一数量的第一测试样本以及第二数量的第二测试样本对待训练模型进行模型训练,得到第一迭代训练模型;

采用所述第一迭代训练模型对第二样本库进行分类测试,当测试结果不符合预定要求时,利用所述第一迭代训练模型对第一样本库进行分类,根据所述分类结果,在第一样本库中确定第二迭代预测正面样本,对于第二迭代预测正面样本中的所有样本,分别确定其被分类为正例样本的可能性值,在所述第二迭代预测正面样本中选取被分类为正例样本的可能性值最高的预设数目个样本,将所述预设数目个样本确定为第二特殊正面样本;

将所述第一迭代正面样本和所述第二特殊正面样本确定为第二迭代正面样本,确定所述第一样本库中除所述第二迭代正面样本外的其余样本第二迭代正面样本为第二迭代负面样本;

根据所述第二迭代正面样本和所述第二迭代负面样本,对所述第一迭代训练模型进行迭代训练。

优选地,所述根据第一迭代正面样本和第一迭代负面样本进行模型训练,包括:

基于待训练模型,计算所述第一迭代正面样本和所述第一迭代负面样本的特征向量,所述待训练模型为上一轮训练过程得到的分类模型,所述待训练模型的分类类别根据配置的样本特征数据确定;

根据所述第一迭代正面样本中每一个样本的特征向量和所述第一迭代负面样本中每一个样本的特征向量,对第一迭代正面样本和第一迭代负面样本进行分类;

根据样本分类结果和对所述第一迭代正面样本的标记结果,优化所述待训练模型的各个参数,得到所述第一迭代训练模型。

本发明实施例提供的技术方案带来的有益效果是:

在进行模型训练过程中,根据第一迭代正面样本和第一迭代负面样本进行模型训练,得到第一迭代训练模型;若第一迭代训练模型不满足指定条件,则利用第一迭代训练模型对第一样本库进行分类,根据分类结果在第一样本库中选取第二特殊正面样本;将第一迭代正面样本和第二特殊正面样本作为第二迭代正面样本,根据第二迭代正面样本确定第二迭代负面样本;之后根据第二迭代正面样本和第二迭代负面样本,继续执行上述模型训练和样本处理过程,直至得到满足指定条件的分类模型,本发明在一轮模型训练后,若得到的分类模型不满足指定条件,则基于该分类模型选取第二特殊正面样本叠加到正例样本中,并通过多轮迭代过程进行模型训练。随着正例样本数量的不断增加,负例样本中包含的潜在正例样本会随之下降,可有效提升负例样本中的样本清洁度,由于正例样本和负例样本的区分度较好,所以根据多次进行数量叠加的正例样本和负例样本进行多轮模型训练后得到的分类模型稳定性较好,分类精确度较高。

附图说明

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

图1是本发明实施例提供的一种模型迭代训练方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1是本发明实施例提供的一种模型迭代训练方法的流程图。参见图1,本发明实施例提供的方法流程包括:

本发明实施例提供了一种模型迭代训练方法,所述方法包括:

步骤1、在第一样本库中选取第一迭代负面样本,所述第一迭代负面样本为第一样本库中除第一迭代正例样本之外的其余样本。

步骤2、在所述第一迭代正面样本中随机选取第一数量的第一测试样本,在所述第一迭代负面样本中随机选取第二数量的第二测试样本,所述第一数量与第二数量相等。

步骤3、根据所述第一数量的第一测试样本以及第二数量的第二测试样本对待训练模型进行模型训练,得到第一迭代训练模型。

步骤4、采用所述第一迭代训练模型对第二样本库进行分类测试,当测试结果不符合预定要求时,利用所述第一迭代训练模型对第一样本库进行分类,根据所述分类结果,在第一样本库中确定第二迭代预测正面样本,对于第二迭代预测正面样本中的所有样本,分别确定其被分类为正例样本的可能性值,在所述第二迭代预测正面样本中选取被分类为正例样本的可能性值最高的预设数目个样本,将所述预设数目个样本确定为第二特殊正面样本。

步骤5、将所述第一迭代正面样本和所述第二特殊正面样本确定为第二迭代正面样本,确定所述第一样本库中除所述第二迭代正面样本外的其余样本第二迭代正面样本为第二迭代负面样本.

步骤6、根据所述第二迭代正面样本和所述第二迭代负面样本,对所述第一迭代训练模型进行迭代训练。

本发明实施例提供的方法,在进行模型训练过程中,根据第一迭代正面样本和第一迭代负面样本进行模型训练,得到第一迭代训练模型;若第一迭代训练模型不满足指定条件,则利用第一迭代训练模型对第一样本库进行分类,根据分类结果在第一样本库中选取第二特殊正面样本;将第一迭代正面样本和第二特殊正面样本作为第二迭代正面样本,根据第二迭代正面样本确定第二迭代负面样本;之后根据第二迭代正面样本和第二迭代负面样本,继续执行上述模型训练和样本处理过程,直至得到满足指定条件的分类模型,本发明在一轮模型训练后,若得到的分类模型不满足指定条件,则基于该分类模型选取第二特殊正面样本叠加到正例样本中,并通过多轮迭代过程进行模型训练。随着正例样本数量的不断增加,负例样本中包含的潜在正例样本会随之下降,可有效提升负例样本中的样本清洁度,由于正例样本和负例样本的区分度较好,所以根据多次进行数量叠加的正例样本和负例样本进行多轮模型训练后得到的分类模型稳定性较好,分类精确度较高。

上述步骤中,根据第一迭代正面样本和第一迭代负面样本进行模型训练,包括:

基于待训练模型,计算第一迭代正面样本和第一迭代负面样本的特征向量,待训练模型为上一轮训练过程得到的分类模型,待训练模型的分类类别根据配置的样本特征数据确定;

根据第一迭代正面样本中每一个样本的特征向量和第一迭代负面样本中每一个样本的特征向量,对第一迭代正面样本和第一迭代负面样本进行分类;

根据样本分类结果和对第一迭代正面样本的标记结果,优化待训练模型的各个参数,得到第一迭代训练模型。

下面介绍一下本发明一具体实施方式中提供的一种模型迭代训练方法的流程,包括:

101、在第一样本库中选取首轮正例样本。

在本发明实施例中,样本指代研究中实际观测或调查的一部分个体。比如,第一样本库可为某一应用的全部注册用户,归属于某一地区的全部用户等等,本发明实施例对此不进行具体限定。其中,正例样本,指代二分类模型中训练模型所用的样本中被标签化的样本。也即,正例样本是被手动标记的,其归属类别已知。此外,之所以称为二分类模型是因为其分类结果仅为“是”或“否”两种情况。二分类模型包括逻辑回归模型、决策树模型和支持向量机模型等。其中,种子人群属于线下标签的正例样本。种子人群通常是在特定业务场景下收集到的,指代对产品或服务具有相同需求和兴趣的人群,种子人群的数量不多,通常均在十万以下。比如,在某一应用的全部注册用户中喜欢同一品牌汽车的用户便可归属于同一种子人群。

本步骤之所以将正例样本称之为首轮正例样本,是因为在后续过程中可能会进行多轮迭代的模型训练过程。而每一轮正例样本的数量均不相同,由于每一轮模型训练过程使用的正例样本均不相同,因此为了对每一轮的正例样本进行区分,采取了首轮正例样本、第二迭代正面样本这样的叫法。负例样本与此同理。

在第一样本库中选取首轮正例样本时,由于用于模型训练的样本数据的质量至关重要,所以一般使用种子人群这类标签化数据作为正例样本。比如,可将全部注册用户中具有同一兴趣特征的一个种子人群作为首轮正例样本,还可将使用了某一新增服务或产品的一个种子人群作为首轮正例样本,本发明实施例对此不进行具体限定,可基于不同的分类需求选取不同的种子人群作为首轮正例样本。其中,各个种子人群中的样本均事先手动进行选取和标记,本发明实施例对此不进行具体限定。

102、基于首轮正例样本的数量,在第一样本库中除首轮正例样本之外的其余样本里选取首轮负例样本。

负例样本,指代二分类模型中训练模型所用的样本中未被标签化的样本。也即,正例样本中的样本均被标记,类别明确。负例样本中的样本均未被标记,类别未知。举个简单例子来说,假如正例样本为一个班级中部分被标记为女生的学生,那么负例样本便指代这个班级中未被标记的学生,而未被标记的学生中既可能有女学生,也可能有男学生。

在本发明实施例中,在选取了首轮正例样本后,还需在第一样本库中选取用于模型训练的首轮负例样本。其中,首轮正例样本的数量与首轮负例样本的数量一致。在进行首轮负例样本的选取时,首先在第一样本库中剔除首轮正例样本,得到其余样本。之后,随机在其余样本中进行样本选取,选取同首轮正例样本的数量一致的样本,将这些样本作为首轮负例样本。

103、在首轮正例样本和首轮负例样本中选取保留样本。

其中,保留样本指代后续过程中对训练出的分类模型进行测试评估的样本。

在本发明实施例中,在首轮正例样本和首轮负例样本中选取保留样本时,可采取下述方式实现:在首轮正例样本中选取第一测试样本,在首轮负例样本中选取第二测试样本。其中,第一测试样本和第二测试样本中包含的样本数量一致。也即,在首轮正例样本和首轮负例样本中选取数量相同的样本一起作为保留样本。其中,第一测试样本和第二测试样本的数量通常为首轮正例样本和首轮负例样本数量的30%。即,在首轮正例样本中选取30%样本,作为第一测试样本;在首轮负例样本中选取30%样本,作为第二测试样本;将第一测试样本和第二测试样本一起作为保留样本。

104、根据首轮正例样本和首轮负例样本中除保留样本之外的其余样本进行模型训练,得到首轮分类模型。

在本发明实施例中,由于在首轮正例样本和首轮负例样本中选取了保留样本,所以在根据首轮正例样本和首轮负例样本进行模型训练时,还需剔除上述保留样本。也即,在进行模型训练时,仅根据首轮正例样本中除第一测试样本之外的其余样本、首轮负例样本中除第二测试样本之外的其余样本,进行模型训练。

进行模型训练时,包括如下步骤:

第一步、初始化首轮分类模型中的各个参数。

由于是第一次进行模型训练,所以还需先初始化分类模型中的各个参数。本发明实施例中提及的模型训练可能是一个多次迭代过程,而在非初次进行模型训练时,无需执行该步骤,可直接基于上一轮得到的分类模型执行下述第二步。本步骤仅针对第一次模型训练过程。

其中,分类模型在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,仅用已知的模式对初始分类模型加以训练,得到的分类模型便具有输入输出对之间的映射能力。在开始训练分类模型之前,所有的参数都应该用一些不同的小随机数进行初始化。在分类模型训练过程中,可使用随机梯度下降或后向传播方法来优化分类模型中的各个参数,从而尽可能地最小化分类误差。本发明实施例对此不进行具体限定。

第二步、基于初始化的分类模型,计算首轮正例样本和首轮负例样本的特征向量。

其中,在进行模型训练时,为了明确分类模型的分类类别,还可获取事先配置的样本特征数据,根据该样本特征数据确定待训练的分类模型的分类功能。其中,样本特征数据指明了基于正例样本和负例样本训练出一个具有何种分类功能的分类器。比如,正例样本为某一社交应用的注册用户中年龄在20-30岁的用户。由于正例样本中的用户均为电商用户,且年龄较小,那么根据该正例样本对20-30岁年轻人是否喜欢某一款网游进行预测,预测结果肯定会比根据该正例样本对20-30岁年轻人是否钟爱基金类理财服务要精确的多。所以通过样本特征数据可指定分类模型的分类功能。

在本发明实施例中,在初始化分类模型中的各个参数后,由于分类模型在本质上是一种输入到输出的映射,所以对于一个分类模型来说,向分类模型输入一个训练样本,分类模型便可计算该训练样本的特征向量。需要说明的是,对于非首次模型训练过程来讲,直接基于上一轮的分类模型,计算第一迭代正面样本和第一迭代负面样本的特征向量。

第三步、根据第一迭代正面样本中每一个样本的特征向量和第一迭代负面样本中每一个样本的特征向量,对第一迭代正面样本和第一迭代负面样本进行分类。

针对该步骤,对于任意两个训练样本来说,二者的特征向量在特征空间上距离越近,说明两个训练样本越相似,二者属于同一类的可能性值越高。其中,特征向量可为几十维或几百维,本发明实施例对此不进行具体限定。在根据特征向量对第一样本库进行分类时,可依据特征向量之间的距离实现,本发明实施例对此不进行具体限定。

第四步、根据样本分类结果和对首轮正例样本的标记结果,优化待训练模型的各个参数,得到第一迭代训练模型。

针对该步骤,分类模型的训练过程是一个参数逐步优化的过程。在基于特征向量对首轮正例样本和首轮负例样本中除去保留样本之外的其余样本进行分类后,可基于首轮正例样本判断初步训练出的分类模型对样本的分类是否正确。也即,根据样本归属的实际类别和预测类别之间的差距不断地调整分类模型的参数,逐步地优化分类模型中的各个参数,得到分类模型。

105、根据保留样本对首轮分类模型进行评估。

本实施例采用所述首轮分类模型对第二样本库进行分类测试,当测试结果不符合预定要求时,利用所述首轮分类模型对第一样本库进行分类,其中所述第二样本库与所述第一样本库不同,所述第二样本库中的正例样本与负例样本均预先进行了人工标注,具有较为准确的分类。

除此之外,还可以采取下面的实施例来对首轮分类模型进行评估。

在得到首轮分类模型后,为了检测首轮分类模型的分类性能,还需根据保留样本对首轮分类模型进行评估。其中,保留样本包括了来自于正例样本的第一测试样本,来自于负例样本的第二测试样本。

在根据第一测试样本和所述第二测试样本,对首轮分类模型进行评估时,可评估首轮分类模型的分类准确率、召回率、auc(areaunderroccurve,受试者工作特征曲线下的面积)等等指标。其中,分类准确率,指代被分类为该类别的样本中实际分类正确样本所占的比例。分类准确率对应分类中某个类别,分子是预测该类别正确的样本数量,分母是预测为该类别的第一样本库的数量,其是分类模型将样本预测为某一个类别的正确率的评价,值越大,模型预测准确度越高。召回率也称之为查全率,指代被正确分类的样本占所有保留样本的比例。

auc是一种用来度量分类模型好坏的一个标准。roc(receiveroperatingcharacteristic,受试者工作特征曲线),其主要分析工具是一个画在二维平面上的曲线roccurve。平面的横坐标是fpr(falsepositiverate),纵坐标是tpr(truepositiverate)。对分类模型而言,可以根据其在保留样本上的表现得到一个tpr和fpr点对。这样,此分类器就可以映射成roc平面上的一个点。调整这个分类器分类时候使用的阈值,可以得到一个经过(0,0),(1,1)的曲线,这就是分类模型的roc曲线。一般情况下,这个曲线都应该处于(0,0)和(1,1)连线的上方。因为(0,0)和(1,1)连线形成的roc曲线实际上代表的是一个随机分类器。虽然,用roccurve来表示分类器的performance很直观好用。可是,人们总是希望能有一个数值来标志分类器的好坏,于是auc出现了。auc的值就是处于roccurve下方的那部分面积的大小。通常,auc的值介于0.5到1.0之间,较大的auc代表了较好的performance。即,值越大模型越完美,不同样本之间特异性越显著,对样本区分度越高。

其中,可事先设置分类模型的各项分类性能指标。比如,准确率大于90%,召回率大于97%,auc值大于0.8等等。当对首轮训练模型进行评估后,若得到的评估结果中各项性能指标均优于事先设置的分类性能指标,则确定首轮分类模型满足指定条件。若得到的评估结果中至少一项性能指标低于事先设置的分类性能指标,则确定首轮分类模型不满足指定条件。此外,在判断得到的评估结果是否满足指定条件时,还可判断评估结果的各项性能指标是否不再提升。也即,无论经过多少轮的迭代过程分类准确率、召回率、auc等均维持在一个数值不变。

106、若首轮分类模型的评估结果不满足指定条件,则利用首轮分类模型对第一样本库进行分类,根据分类结果在第一样本库中选取第二特殊正面样本。

在本实施例中,当首轮分类模型的评估结果不满足指定条件时,还需再次进行模型训练。在下一次模型训练之前,首先基于首轮训练模型在第一样本库中选取第二迭代正面样本和第二迭代负面样本。其中,第二迭代正面样本为首轮正例样本和第二特殊正面样本的叠加,即下一轮迭代过程中扩展了正例样本的数量。

其中,在根据分类结果在第一样本库中选取第二特殊正面样本时,可采取下述方式实现:

根据分类结果,在第一样本库中确定第二迭代预测正面样本;对于第二迭代预测正面样本中的每一个样本,根据分类结果确定该样本被分类为正例样本的可能性值;在第二迭代预测正面样本中,选取被分类为正例样本的可能性值最高的预设数目个样本;将该预设数目个样本确定为第二特殊正面样本。

其中,第二迭代预测正面样本为根据首轮分类模型在第一样本库中选取出的样本。对于这些样本来说,首轮分类模型均预测其为与首轮正例样本具有相似或相同特征的样本。但是,第二迭代预测正面样本中每一个样本同首轮正例样本的相似程度又存在差异。第二迭代预测正面样本中每一个样本均对应一个同首轮正例样本相似的可能性值。首轮分类模型输出的分类结果中便包括该可能性值值。以数值1代表两个样本完全一致,数值0代表两个样本完全不一致为例,则不同第二迭代预测正面样本对应的可能性值值可为0.6、0.8、0.87、0.95等等。可能性值值越大,说明该第二迭代预测正面样本同首轮正例样本的特征越接近。一般情况下,第二迭代预测正面样本的数量,可数倍于首轮正例样本的数量。这样间接说明了种子人群的数量相较于第一样本库数量来说还是极其小的,因此还需根据种子人群和分类模型在海量人群中挖掘出同其具有相同特征的人群。

为了在第二迭代预测正面样本中选取用于扩展首轮正例样本的第二特殊正面样本,还需依据可能性值值对第二迭代预测正面样本进行排序。比如,可按照可能性值值从大到小的顺序进行排列。在对第二迭代预测正面样本进行排序后,可选取可能性值值排列在前面的topn个样本,将该topn个样本作为第二特殊正面样本。

107、将首轮正例样本和第二特殊正面样本作为第二迭代正面样本。

在根据上述步骤106选取出第二特殊正面样本后,将该第二特殊正面样本叠加到首轮正例样本中,得到第二迭代正面样本,以扩展正例样本的数量,达到了收集更多与首轮正例样本特征高度相似的样本的目的。

108、重复执行上述步骤102至步骤107,直至得到的分类模型的评估结果满足指定条件。

在得到第二迭代正面样本后,继续根据上述步骤102所示的方法选取第二迭代负面样本。由于对正例样本进行了数量扩展,所以负例样本中潜在的正例样本便会减少,可有效地提高负例样本的清洁度。之后,继续根据第二迭代正面样本和第二迭代负面样本进行模型训练,得到下一轮分类模型;继续对下一轮分类模型进行评估;若下一轮分类模型的评估结果不满足指定条件,则继续在第一样本库中选取第二特殊正面样本,将第二特殊正面样本叠加到下一轮分类模型中,得到下下轮正例样本,重复执行上述步骤102至107,直至得到的分类模型满足指定条件。

本发明实施例提供的方法,在进行模型训练过程中,根据第一迭代正面样本和第一迭代负面样本进行模型训练,得到第一迭代训练模型;若第一迭代训练模型不满足指定条件,则利用第一迭代训练模型对第一样本库进行分类,根据分类结果在第一样本库中选取被预测为正例样本的可能性值最高的第二特殊正面样本。将第一迭代正面样本和第二特殊正面样本作为第二迭代正面样本,根据第二迭代正面样本确定第二迭代负面样本;之后根据第二迭代正面样本和第二迭代负面样本,继续执行上述模型训练和样本处理过程,直至得到满足指定条件的分类模型,本发明在一轮模型训练后,若得到的分类模型不满足指定条件,则基于该分类模型选取第二特殊正面样本叠加到正例样本中,并通过多轮迭代过程进行模型训练。随着正例样本数量的不断增加,负例样本中包含的潜在正例样本会随之下降,可有效提升负例样本中的样本清洁度,由于正例样本和负例样本的区分度较好,所以根据多次进行数量叠加的正例样本和负例样本进行多轮模型训练后得到的分类模型稳定性较好,分类精确度较高。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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