训练样本获取方法,样本预测方法及对应装置
技术领域
本说明书一个或多个实施例涉及机器学习领域,尤其涉及利用机器学习模型进行异常样本预测,以及为该机器学习模型获取训练样本的方法和装置。
背景技术
随着互联网的发展,移动支付的普及,基于支付宝等app的移动支付手段越受青睐。然而,与此同时,相关的问题接踵而至,对于移动支付平台而言,一个重要的威胁来自于非法账户的存在以及其恶性发展。非法用户注册大量的备用账户,并通过非法手段进行花呗套现等行为,这对于移动支付平台而言是极大的威胁。对于非法账户的检测以及对其潜在非法行为的禁止,对于构建更为安全稳定的移动支付平台,减少相关平台的经济损失,具有重要意义。
目前业界对于非法账户检测的系统,几乎都是依赖于规则实现,如此的系统只能覆盖极少的非法账户类型,对于潜在非法账户,很难做到及时的发现。
而基于机器学习的方法,大部分都采用监督学习的方式,即利用完全标注的数据来学习,此时需要花费极大的时间和精力来进行数据标注,在互联网的场景下很难做到。类似的情况也存在于其他样本场景中,例如检测网络访问样本是否为正常访问。
因此,希望能有改进的方案,更加有效地对异常样本进行预测。
发明内容
本说明书一个或多个实施例描述了训练样本获取方法,样本预测方法及对应装置,从而基于较少的人工标注样本,通过子模型协同训练的方式,扩充训练样本集,得到可靠的预测模型,用以进行异常样本的预测。
根据第一方面,提供了一种获取训练样本的方法,包括:
获取标注样本集,所述标注样本集包括M个标注样本,每个标注样本包括样本特征,以及该样本是否为异常样本的样本标签,其中所述样本特征按照预定分组规则被划分为n组特征,其中n为大于2的自然数;
形成n个子标注样本集,其中第i个子标注样本集包括M个子标注样本,每个子标注样本包括所述n组特征中的第i组特征作为子样本特征,以及所述样本标签作为其子样本标签;
分别利用所述n个子标注样本集训练得到n个子模型,其中第i子模型用于基于第i组特征预测对应账户为异常样本的概率;
获取多个未标注样本,每个未标注样本包括按照所述预定分组规则进行划分的n组特征,所述多个未标注样本包括第一样本;
将所述第一样本的n组特征中除第i组特征外的(n-1)组特征,分别对应输入所述n个子模型中除第i子模型外的(n-1)个子模型,分别得到所述(n-1)个子模型对该第一样本的(n-1)个打分,所述打分表示该第一样本为异常样本的概率;
基于所述(n-1)个打分,得到针对第i组特征的第一综合分;
在所述第一综合分满足预定条件的情况下,为所述第一样本的第i组特征添加第一标签,所述第i组特征和所述第一标签形成第一子标注样本;
将所述第一子标注样本添加到所述第i个子标注样本集,以更新所述第i个子标注样本集。
在一个实施例中,所述n组特征包括以下特征组中的多个:样本对应的用户的基本属性特征;用户的历史行为特征;用户的关联关系特征;用户的交互特征。
根据一种实施方式,通过以下方式得到上述第一综合分:
对所述(n-1)个打分求和,将和值作为所述第一综合分;或者
对所述(n-1)个打分求平均,将平均值作为所述第一综合分。
根据一种可能的设计,在所述第一综合分高于第一阈值的情况下,为所述第一样本的第i组特征添加异常样本的标签;在所述第一综合分低于第二阈值的情况下,为所述第一样本的第i组特征添加正常样本的标签,所述第二阈值小于所述第一阈值。
根据另一种可能的设计,还针对所述多个未标注样本,对应得到针对第i组特征的多个综合分;
如果所述第一综合分在所述多个综合分的从大到小排序中位于前端的第一数目之内,为所述第一样本的第i组特征添加异常样本的标签;
如果所述第一综合分在所述多个综合分的从大到小排序中位于后端的第二数目之内,为所述第一样本的第i组特征添加正常样本的标签。
根据一种实施方式,方法还包括,用更新后的第i个子标注样本集,再次训练所述第i子模型。
根据第二方面,提供一种样本预测方法,包括:
获取待测样本的样本特征;
按照预定分类规则将所述样本特征划分为n组特征;
将所述n组特征分别输入n个子模型,得到所述n个子模型对所述待测样本异常概率的n个打分,所述n个子模型利用权利要求1的方法所获取的训练样本训练得到;
根据所述n个打分,确定所述待测样本的总得分;
根据所述总得分,确定所述待测样本的预测结果。
在一个实施例中,通过以下方式确定所述样本的总得分:
对所述n个打分求和,将和值作为总得分;或者
对所述n个打分求平均,将均值作为总得分。
根据一种可能的设计,如下确定所述待测样本的预测结果:
在所述总得分大于预定阈值的情况下,确定所述待测样本为异常样本。
根据另一种可能的设计,根据所述总得分,确定所述待测样本为异常样本的概率值,将该概率值作为预测结果。
根据第三方面,提供一种获取训练样本的装置,包括:
标注样本获取单元,配置为获取标注样本集,所述标注样本集包括M个标注样本,每个标注样本包括样本特征,以及该样本是否为异常样本的样本标签,其中所述样本特征按照预定分组规则被划分为n组特征,其中n为大于2的自然数;
子样本集形成单元,配置为形成n个子标注样本集,其中第i个子标注样本集包括M个子标注样本,每个子标注样本包括所述n组特征中的第i组特征作为子样本特征,以及所述样本标签作为其子样本标签;
子模型训练单元,配置为分别利用所述n个子标注样本集训练得到n个子模型,其中第i子模型用于基于第i组特征预测对应样本为异常样本的概率;
未标注样本获取单元,配置为获取多个未标注样本,每个未标注样本包括按照所述预定分组规则进行划分的n组特征,所述多个未标注样本包括第一样本;
打分获取单元,配置为将所述第一样本的n组特征中除第i组特征外的(n-1)组特征,分别对应输入所述n个子模型中除第i子模型外的(n-1)个子模型,分别得到所述(n-1)个子模型对该第一样本的(n-1)个打分,所述打分表示该第一样本为异常样本的概率;
综合分获取单元,配置为基于所述(n-1)个打分,得到针对第i组特征的第一综合分;
标签添加单元,配置为在所述第一综合分满足预定条件的情况下,为所述第一样本的第i组特征添加第一标签,所述第i组特征和所述第一标签形成第一子标注样本;
样本添加单元,配置为将所述第一子标注样本添加到所述第i个子标注样本集,以更新所述第i个子标注样本集。
根据第四方面,提供一种样本预测装置,包括:
特征获取单元,配置为获取待测样本的样本特征;
特征分组单元,配置为按照预定分类规则将所述样本特征划分为n组特征;
打分获取单元,配置为将所述n组特征分别输入n个子模型,得到所述n个子模型对所述待测样本异常概率的n个打分,所述n个子模型利用权利要求11的装置所获取的训练样本训练得到;
总分确定单元,配置为根据所述n个打分,确定所述待测样本的总得分;
结果确定单元,配置为根据所述总得分,确定所述待测样本的预测结果。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面和第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面和第二方面的方法。
通过本说明书实施例提供的方法和装置,采用半监督和多个子模型协同训练的方式,基于较少的人工标注数据,训练出多个可靠的子模型。在对待测样本进行预测时,利用如此训练的多个子模型分别进行预测,然后对结果进行综合,从而得到可靠的预测结果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的获取训练样本的方法流程图;
图3示出根据一个实施例形成的子标注样本集;
图4示出根据一个实施例的协同训练过程的示意图;
图5示出根据一个实施例的样本预测方法的流程图;
图6示出基于图4训练得到的模型进行样本预测的过程;
图7示出根据一个实施例的获取训练样本的装置的示意性框图;
图8示出根据一个实施例的样本预测装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,已经存在一些基于规则的方法来判断一个样本是否存在异常。这样的样本例如是账户样本,或者网络访问样本。例如,对于账户样本,正常样本和异常样本分别对应于该账户为合法的正常账户还是非法账户。对于网络访问样本,正常样本和异常样本分别对应于,正常的网络访问,还是异常的攻击性访问(例如黑客攻击)。然而基于规则的方案,很难做到对大量的异常样本的行为模式的覆盖。因此,仍然希望基于机器学习的方式来构建异常样本的检测系统,从而更加全面地对异常账户进行检测。然而,在互联网场景下,常规的机器学习方式存在一些困难,使其效果不够理想。
本案的发明人经过研究和分析提出,常规机器学习效果不够理想的原因至少有以下几点。一方面,监督学习需要大量的标注样本,标注样本越多,学习效果越好。但是,在例如非法账户预测的问题上,样本标注需要花费极大的时间和精力,因为要鉴别一个账户是不是真的非法账户,需要消耗巨大的人力,因此只有很少的账户是被标注出来非法或者合法的标记,大量的账户都是没有任何标记信息的。这使得可供监督学习的标注样本数量不足,影响学习效果。另一方面,为了使得机器学习更加全面,往往对用户相关的大量特征进行采集。这就使得用来描述一个用户的特征向量变得非常大(如5000+维),其中必然存在大量的信息冗余,而对于机器学习系统而言,这样的特征向量更是对于系统的效率带来极大的挑战。但是,如果简单地抛弃这一部分数据,又有可能造成信息损失,影响学习效果。因此,关于特征数据的采集,也存在两难问题。
基于以上的观察和分析,本案发明人创新性提出一种全新解决方案,采用半监督和多模型协同训练的方式提高机器学习的性能。具体来说,在说明书实施例的方案中,将样本特征进行分组,基于协同训练的方式对每组特征分别使用,来对无标记样本逐步打标,扩充标记样本集,来构建更为鲁棒的系统。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景可以划分为模型训练阶段,和模型预测阶段。在模型训练阶段,计算平台首先获取有标记的样本数据,这部分样本数据可能数量并不多。对于这些样本数据,将其特征划分为多个特征组(图1中示意性示出3个组),利用每个特征组和样本标签,训练出一个对应的子模型,图1中示意性示出3个子模型。然后,利用这3个子模型协同训练的方式,逐步给无标记数据打标。具体地,对于一条无标记样本数据,也对应的将样本特征划分为多个特征组(例如3个)。对于任意一个子模型Mi和对应的特征组Fi,将其余的特征组分别输入对应的其余子模型,根据其余子模型的输出结果,为该条样本数据赋予标签,于是,特征组Fi和赋予的标签就可以作为用于训练子模型Mi的新的训练样本。如此,逐步给无标记样本数据赋予标签,扩充训练样本集。然后,可以利用不断扩充的训练样本集继续对各个子模型进行训练,提升其性能。
在模型预测阶段,接收到待测的样本数据。将该样本数据的样本特征也划分为多个特征组(例如3个),将这多个特征组分别对应输入训练得到的多个子模型,分别获得其输出结果。综合多个子模型的输出结果,判断待测样本是否为异常样本。
下面描述以上实施场景中的具体实施过程。
图2示出根据一个实施例的获取训练样本的方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来执行,例如图1的计算平台。如图2所示,该方法至少包括:步骤21,获取标注样本集,其中每个标注样本的样本特征被划分为n组特征;步骤22,形成n个子标注样本集,其中第i个子标注样本集包括n组特征中的第i组特征,以及样本标签;步骤23,利用所述n个子标注样本集训练得到n个子模型;步骤24,获取多个未标注样本,其中包括第一样本,第一样本包括对应的n组特征;步骤25,将第一样本的n组特征中除第i组特征外的(n-1)组特征,分别对应输入所述n个子模型中除第i子模型外的(n-1)个子模型,分别得到所述(n-1)个子模型对该第一样本的(n-1)个打分;步骤26,基于所述(n-1)个打分,得到第一综合分;步骤27,在第一综合分满足预定条件的情况下,为第一样本的第i组特征添加第一标签,所述第i组特征和所述第一标签形成第一子标注样本;步骤28,将所述第一子标注样本添加到所述第i个子标注样本集,以更新所述第i个子标注样本集。下面描述上述各个步骤的执行方式。
首先,在步骤21,获取标注样本集。一般地,标注样本集包括多个标注样本(下面为了描述方便,记为M个),每个标注样本包括样本特征,以及该样本是否为异常样本的样本标签。
在一个实施例中,上述样本为账户样本,在这样的情况下,样本特征包括与账户信息相关联的特征。下面结合账户样本的例子进行描述。
如前所述,为了使得模型训练的更加全面,账户特征往往包含与账户对应的用户的各个方面的全面特征,由此形成上千甚至几千维的特征向量。在本说明书的实施例中,按照预定分组规则,将样本特征划分为n个特征组,其中n为大于2的自然数。
在一个具体例子中,将账户样本的样本特征划分为3个特征组,例如,第一特征组包括与用户基本属性信息相关的特征,例如用户的性别、年龄、学历、注册时长等;第二特征组包括与用户的历史行为相关的特征,例如,用户最近一周的浏览记录,消费记录,交易记录等等;第三特征组包括与用户的社交关系相关的特征,例如与用户存在交互的好友的基本信息(年龄、性别、学历等)。如果一个样本的总体特征为1500维的向量,那么可以通过以上分组,形成3个约500维的分组特征向量。
可以理解,以上仅仅是一个示例。在其他实施例中,还可以从不同角度,对样本特征进行不同的分组,例如划分为不同数目的特征组,或者不同内容的特征组。例如,还可以从样本特征中提取出与用户和好友之间的交互行为相关的特征,形成交互特征组;或者专门提取出与用户的信贷行为相关的特征,形成信贷特征组,等等。本说明书对于样本特征的分组方式不作限定。
尽管结合账户样本的例子描述了特征分组,但是该分组思想也可以应用于其他样本,例如网络访问样本。对于网络访问样本,可以采用不同的分组方式对其样本特征进行分组,例如分组为,地址信息特征,用户访问历史特征,等等。
接着,在步骤22,与划分的n个特征组相对应的,形成n个子标注样本集,其中第i个子标注样本集包括M个子标注样本,每个子标注样本包括n组特征中的第i组特征作为子样本特征,以及样本标签作为其子样本标签,其中i为1到n中任意的值。
下面延用3个特征组的例子,结合图3描述子标注样本集的形成。
图3示出根据一个实施例形成的子标注样本集。在图3的示例中,假定标注样本集包含100个(即M=100)标注样本,每个标注样本Yj包含样本特征Fj和样本标签Lj,而样本特征Fj都被划分为3个特征组,即Fj=Gj1+Gj2+Gj3。例如,第1条样本的样本特征F1划分为3个特征组G11,G12和G13,样本标签为L1;第2条样本的样本特征F2被划分为G21,G22,G23,样本标签为L2,等等。
根据一个实施例,提取各个标注样本的第i组特征和样本标签,形成各个子标注样本,各个子标注样本构成第i个子标注样本集。例如,子标注样本集1对应于特征组1,其中包括100个子标注样本,每个子标注样本包括特征组1中的特征作为子样本特征,以及样本标签作为其子样本标签。例如,提取第1条样本的特征组1中的特征,即G11,以及对应标签L1,形成基于特征组1的一条子标注样本;提取第2条样本的特征组1中的特征,即G21,以及对应标签L2,形成基于特征组1的另一条子标注样本,等等,如此,可以形成基于特征组1的100个子标注样本,从而构成第1子标注样本集。
类似地,子标注样本集2对应于特征组2,其中的每个子标注样本包括特征组2中的特征作为子样本特征,以及样本标签作为其子样本标签;子标注样本集3对应于特征组3,其中的每个子标注样本包括特征组3中的特征作为子样本特征,以及样本标签作为其子样本标签。
更多特征组的情况可以以此类推,不再赘述。
在形成了n个子标注样本集的基础上,在步骤23,分别利用所述n个子标注样本集进行模型训练,得到对应的n个子模型,其中第i子模型用于基于第i组特征预测对应样本为异常样本的概率。
可以理解,对于n个子标注样本集中任意的第i子标注样本集,由于具有样本标签,因此可以采用各种监督学习的方式进行模型训练,得到对应的子模型Mi。由于第i子标注样本集基于第i组特征形成,而样本标签用于示出对应样本是否为异常样本,那么相应地,基于第i子标注样本集训练得到的第i子模型Mi用于基于第i组特征预测对应样本为异常样本的概率。
延用图3中的例子,如果形成了3个子标注样本集,那么可以对应训练出3个子模型。
如此训练得到的子模型可以作为初步的子模型,协同作用,为未标注样本进行打标。
于是,接下来,在步骤24,获取多个未标注样本,每个未标注样本包括对应的样本特征,但是不具有样本标签。对于未标注样本的样本特征,按照处理标注样本同样的分组规则,将样本特征进行划分,划分为n个特征组。分组的过程不再赘述。
为了描述的方便,将上述多个未标注样本中的某个不特定样本称为第一样本,结合该第一样本描述利用上述n个子模型对其进行打标的过程。需要理解,此处第一样本中的“第一”,以及下文中相应的“第一”,仅仅是为了区分和描述方便,而不具有任何限定意义。
在步骤25,将第一样本的n组特征中除第i组特征外的(n-1)组特征,分别对应输入所述n个子模型中除第i子模型外的(n-1)个子模型,分别得到所述(n-1)个子模型对该第一样本的(n-1)个打分。根据前述的各个子模型的训练说明,各个子模型用于基于对应的特征组预测对应样本为异常样本的概率,因此,各个子模型对第一样本的打分即表示,该第一样本为异常样本的概率。
然后在步骤26,基于所述(n-1)个子模型输出的(n-1)个打分,得到第一样本的针对第i组特征的第一综合分。
在一个实施例中,对上述(n-1)个打分求和,将和值作为所述第一综合分。更具体地,在一个例子中,上述求和可以是加权求和。在这样的情况下,可以根据各个子模型的重要性、可靠性等因素,预先为各个子模型设置对应的权重。如此,对于上述(n-1)个子模型的打分,将各个子模型的权重作为对应打分的权重,对(n-1)个打分进行加权求和,得到上述第一综合分。
在另一实施例中,对所述(n-1)个打分求平均,将平均值作为所述第一综合分。在其他实施例中,还可以采用其他方式对(n-1)个打分进行综合,得到第一综合分。
接着,对该第一综合分进行判断。在步骤27,在该第一综合分满足预定条件的情况下,为第一样本的第i组特征添加第一标签。
在不同实施例中,上述预定条件和对应的第一标签的内容可以有不同实现方式。
在一个实施例中,预先设定综合分的判断阈值,例如较高的第一阈值,和较低的第二阈值,根据阈值比较结果确定第一标签的添加。具体地,如果第一样本的针对第i组特征的第一综合分高于第一阈值,那么说明,除第i子模型外的其他各个子模型预测第一样本为异常样本的总体概率足够高,因此,为第一样本的第i组特征添加异常样本的标签。如果第一综合分低于第二阈值,则说明,除第i子模型外的其他各个子模型预测第一样本为异常样本的总体概率很低,因此,为第一样本的第i组特征添加正常样本的标签。可选的,如果第一综合分在第一阈值和第二阈值之间,那么有可能其他各个子模型对第一样本是否为异常样本的预测概率差异较大,或者说,预测结果并不一致,在这样的情况下,可以暂时不为第一样本的第i组特征添加标签。
在另一实施例中,设定综合分的排名阈值,根据排名阈值确定第一标签的添加。可以理解,以上描述的获取第一样本针对第i组特征的第一综合分的过程,可以应用于步骤24获取的多个未标注样本中的每个样本,由此可以获得各个未标注样本的针对第i组特征的综合分,由此得到多个综合分。可以将这多个综合分进行从大到小的排序。
如果第一样本对应的第一综合分在上述排序中位于靠前的第一数目(例如50个)之内,为第一样本的第i组特征添加异常样本的标签。换而言之,如果第一样本对应的第一综合分属于所有未标注样本中综合分最高的第一数目个,例如综合分最高的50个,那么说明,除第i子模型外的其他各个子模型预测第一样本为异常样本的总体概率足够高,因此,为第一样本的第i组特征添加异常样本的标签。对应的,如果第一综合分在多个综合分的从大到小排序中位于后端的第二数目之内,即属于分数最低的第二数目个,则说明,除第i子模型外的其他各个子模型预测第一样本为异常样本的总体概率足够低,因此为第一样本的第i组特征添加正常样本的标签。上述第一数目和第二数目可以根据未标注样本的数量而设定,两者可以相等,也可以不相等。
如此,对于第一样本,将除第i组特征外的其他组特征对应输入除第i子模型外的其他子模型,基于各个子模型的预测结果,得出针对第i组特征的综合分,并基于该综合分为该第i组特征添加第一标签。第一样本的第i组特征,以及添加的第一标签,形成一个子标注样本,称为第一子标注样本。
接着,在步骤28,将如此得到的第一子标注样本添加到前述的第i个子标注样本集,以更新所述第i个子标注样本集。
可以理解,通过对各个未标注样本的各个特征组i进行以上步骤25到步骤28的操作过程,可以不断筛选出(n-1)个子模型的预测结果相对一致的未标注样本,为其特征组i添加与预测结果对应的标签,从而得到新的子标注样本,如此不断扩充各个子标注样本集,增加训练样本的数量。
下面仍沿用之前n=3的例子,描述以上过程。
在一个例子中,获取了例如1000条未标注样本,每个未标注样本的样本特征被分为3个特征组。相应地,假定其中第一样本的样本特征被划分为U1,U2和U3。在步骤25,在i=1的情况下,将这3组特征中除第1组特征U1外的2组特征,即U2和U3,分别对应输入3个子模型中除第1子模型外的2个子模型,即M2和M3,分别得到这2个子模型对该第一样本的2个打分,记为c2和c3。
然后,在步骤26,基于上述c2和c3,得到第一样本的针对第1组特征的第一综合分S1。例如,S1可以是c2和c3的和值或均值,等等。
在步骤27,判断该第一综合分S1是否满足预定条件,以此确定是否添加标签以及添加什么标签。例如,在一个例子中,如果S1大于阈值T1,则为第一样本的第1组特征添加异常样本的标签;如果S1小于阈值T2,则为其添加正常样本的标签。
或者,在另一例子中,根据该综合分的排名来确定标签的添加。例如,获取1000个未标注样本中各个未标注样本针对第1组特征的综合分,如此得到1000个综合分。可以对这1000个综合分进行排序。如果S1属于这1000个综合分中得分最高的例如前50个,那么就为第一样本的第1组特征添加异常样本的标签;如果S1属于这1000个综合分中得分最低的例如后50个,那么就为第一样本的第1组特征添加正常样本的标签。
于是,第一样本的第1组特征和对应的标签就构成一条子标注样本,添加到针对第1组特征的子标注样本集中。
类似的,可以针对每条未标注样本(1-1000条)的每组特征(第1组特征,第2组特征,第3组特征)进行类似的处理,从而为部分未标注样本添加标签,扩充到训练样本集中。
在一个实施例中,在如此更新或扩充各个第i个子标注样本集后,用更新或扩充的第i个子标注样本集,再次训练第i子模型。之后,可以用再次训练的子模型来对接下来的未标注样本进行预测和打标。如此不断重复循环,利用多个子模型的预测结果进行自动打标来扩大对于另一子模型的训练样本集,再用扩大的训练样本集再次训练子模型,使得整个系统的鲁棒性不断提升。
图4示出根据一个实施例的协同训练过程的示意图。在图4的例子中,假设样本为账户样本,并假设最初有100个账户的标注样本,每个标注样本的样本特征信息被分为3组,分别为账户的基本信息,动态信息和关系信息。由此,形成与3个特征组对应的3个子标注样本集,每个子标注样本集包含100个子标注样本。基于这3个子标注样本集,训练得到3个初始子模型,图4中表示为模型1,模型2和模型3。
另一方面,假定获取到1000条未标注样本数据。同样地,将每个未标注样本的特征信息划分为3组:基本信息,动态信息和关系信息。将各个未标注样本的各个特征组相应输入对应的子模型,例如将基本信息输入模型1,动态信息输入模型2,关系信息输入模型3,分别获得各个子模型的预测结果,即打分,基于这些打分进行无标记数据的筛选和打标。
具体地,对于某条未标注样本,为了对其基本信息(组1)进行打标,就考虑模型2对其动态信息(组2)的打分c2以及模型3对其关系信息(组3)的打分c3,基于这两个打分得出一个综合分S1。如果综合分S1满足一定条件,例如数值阈值条件,或者排名条件,则为该样本的基本信息对应添加异常样本/正常样本的标签,形成标记数据。
或者,从1000条未标注样本的整体来看,在利用模型1,模型2和模型3分别对各个未标记样本的基本信息、动态信息、关系信息进行打分后,对各个样本,基于模型2和3的打分综合得到S1,如此得到1000个样本各自的S1。从中选择S1大小超过一定数值阈值的,或者选择S1最大的若干个(例如50个)样本,获取这些样本的基本信息,为其加上异常样本的标签;选择S1小于另一较小数值阈值的,或者选择S1最小的若干个(例如50个)样本,提取这些样本的基本信息,为其附上正常样本的标签。
同理,基于模型1和3的打分综合得到S2。根据S2对应的数值阈值或排名,从1000个未标记样本中筛选出若干个,提取其动态信息,为其添加正常样本/异常样本的标签。基于模型1和2的打分综合得到S3。根据S3对应的数值阈值或排名,选择若干个样本,提取其关系信息,并附上正常样本/异常样本的标签。
换而言之,选择任意两个模型认为最可靠的那部分未标记样本,添加上标签,作为另外一个模型的训练样本。
如此添加了标签的样本与原标注样本集中的样本可以融合在一起,形成更新或扩充的训练样本集。例如,如果针对一组特征,每次选择另外2个模型的综合分最高的50个样本,添加异常样本标签,选择综合分最低的50个样本添加正常样本标签,那么执行一次上述过程,可以将各个子标注样本集的样本数目扩充到200个。
之后,可以利用更新的训练样本集再次训练各个子模型,如此不断重复循环,训练样本集越来越丰富,子模型的预测性能也越来越可靠,整个系统的鲁棒性不断提升。如此,利用数量较少的人工标注样本,就可以得到性能可靠的预测系统。
在反复训练各个子模型,使其可靠性达到一定程度之后,就可以利用如此训练得到的子模型所构成的总模型,对未知样本进行预测。
图5示出根据一个实施例的样本预测方法的流程图。如图5所示,该预测方法包括:步骤51,获取待测样本的样本特征;步骤52,按照预定分组规则将所述样本特征划分为n组特征;步骤53,将所述n组特征分别输入n个子模型,得到所述n个子模型对所述待测样本异常概率的n个打分;步骤54,根据所述n个打分,确定所述待测样本的总得分;步骤55,根据所述总得分,确定所述待测样本的预测结果。
下面结合图6的例子描述以上过程。图6示出基于图4训练得到的模型进行样本预测的过程。
如图5和图6所示,首先在步骤51,获取待测样本的样本特征。在样本为账户样本的情况下,一般地,账户特征包括与账户相关的多方面的特征,维度可达上千或者几千维。
接着,在步骤52,按照预定分组规则,将样本特征划分为n组特征。可以理解,此处的分组规则与模型训练过程中对训练样本的样本特征进行分组的规则一致。
例如,在图6中,与图4对应的,待测样本为账户样本,将待测账户的特征分为3组,即基本信息,动态信息,关系信息。
接着,在步骤53,将n组特征分别输入n个子模型,得到n个子模型对所述待测样本异常概率的n个打分。可以理解,此处的n个子模型是利用图2方法获取的训练样本训练得到的。因此,这n个子模型与n组特征分别对应,第i子模型被训练为,基于第i组特征为对应样本打分,该打分表示对应样本为异常样本的概率。如此,n个子模型对应输出n个打分。
在图6中,将待测账户的基本信息输入模型1,得到预测结果1;将动态信息输入模型2,得到预测结果2;将关系信息输入模型3,得到预测结果3。各个预测结果即对应于上述打分,表示对应模型预测的该样本为异常样本的概率。
接着,在步骤54,根据上述n个打分,确定待测样本的总得分。
在一个实施例中,在步骤54,对所述n个打分求和,将和值作为总得分。更具体地,在一个例子中,上述求和可以是加权求和。即根据各个子模型的重要性、可靠性等因素,预先为各个子模型设置对应的权重。如此,对于上述n个子模型的打分,将各个子模型的权重作为对应打分的权重,对n个打分进行加权求和,得到总得分。
在另一实施例中,还可以对所述n个打分求平均,将均值作为总得分。或者,在其他实施例中,还可以采取其他方式基于这n个打分确定出总得分。
接着,在步骤55,根据上述总得分,确定待测样本的预测结果。
在一个实施例中,输出的预测结果为,待测样本是正常样本还是异常样本的判断结果。在这样的情况下,可以将上述总得分与一概率阈值进行比较,在总得分大于该概率阈值的情况下,确定待测样本为异常样本,否则,确定待测样本为正常样本。
在另一实施例中,输出的预测结果为,待测样本是异常样本的概率。更具体地,在一个例子中,上述总得分是对n个打分求平均而得到;在这样的情况下,可以直接将上述总得分作为异常样本的概率值,而输出作为预测结果。在另一例子中,上述总得分通过其他方式计算得到,在这样的情况下,可以对上述总得分进行简单的处理运算,例如归一化处理,将处理结果作为异常样本的概率值,输出作为预测结果。
在图6中,该过程简单示出为,将预测结果1,预测结果2和预测结果3进行综合,得到最终预测结果。
通过以上过程可以看到,在实施例的方案中,将待测样本的特征数据划分为多个组,分别输入对应的多个子模型,再对子模型的预测结果进行综合。如此,既避免了特征数据维度太高对模型计算性能的影响,又不会因为丢弃数据造成信息损失。
综合以上,说明书实施例的方案采用半监督和多个子模型协同训练的方式,基于较少的人工标注数据,训练出多个可靠的子模型。在对待测样本进行预测时,利用如此训练的多个子模型分别进行预测,然后对结果进行综合,从而得到可靠的预测结果。
根据另一方面的实施例,还提供一种获取训练样本的装置。图7示出根据一个实施例的获取训练样本的装置的示意性框图。如图7所示,该装置700包括:
标注样本获取单元71,配置为获取标注样本集,所述标注样本集包括M个标注样本,每个标注样本包括样本特征,以及该样本是否为异常样本的样本标签,其中所述样本特征按照预定分组规则被划分为n组特征,其中n为大于2的自然数;
子样本集形成单元72,配置为形成n个子标注样本集,其中第i个子标注样本集包括M个子标注样本,每个子标注样本包括所述n组特征中的第i组特征作为子样本特征,以及所述样本标签作为其子样本标签;
子模型训练单元73,配置为分别利用所述n个子标注样本集训练得到n个子模型,其中第i子模型用于基于第i组特征预测对应样本为异常样本的概率;
未标注样本获取单元74,配置为获取多个未标注样本,每个未标注样本包括按照所述预定分组规则进行划分的n组特征,所述多个未标注样本包括第一样本;
打分获取单元75,配置为将所述第一样本的n组特征中除第i组特征外的(n-1)组特征,分别对应输入所述n个子模型中除第i子模型外的(n-1)个子模型,分别得到所述(n-1)个子模型对该第一样本的(n-1)个打分,所述打分表示该第一样本为异常样本的概率;
综合分获取单元76,配置为基于所述(n-1)个打分,得到针对第i组特征的第一综合分;
标签添加单元77,配置为在所述第一综合分满足预定条件的情况下,为所述第一样本的第i组特征添加第一标签,所述第i组特征和所述第一标签形成第一子标注样本;
样本添加单元78,配置为将所述第一子标注样本添加到所述第i个子标注样本集,以更新所述第i个子标注样本集。
根据一种实施方式,所述n组特征包括以下特征组中的多个:样本对应的用户的基本属性特征;用户的历史行为特征;用户的关联关系特征;用户的交互特征。
在一个实施例中,上述综合分获取单元76配置为:
对所述(n-1)个打分求和,将和值作为所述第一综合分;或者
对所述(n-1)个打分求平均,将平均值作为所述第一综合分。
根据一种可能的设计,所述标签添加单元77配置为:
在所述第一综合分高于第一阈值的情况下,为所述第一样本的第i组特征添加异常样本的标签;
在所述第一综合分低于第二阈值的情况下,为所述第一样本的第i组特征添加正常样本的标签,所述第二阈值小于所述第一阈值。
在一种实施方式中,综合分获取单元76配置为,针对所述多个未标注样本,对应得到针对第i组特征的多个综合分;
相应地,标签添加单元77配置为:
如果所述第一综合分在所述多个综合分的从大到小排序中位于前端的第一数目之内,为所述第一样本的第i组特征添加异常样本的标签;
如果所述第一综合分在所述多个综合分的从大到小排序中位于后端的第二数目之内,为所述第一样本的第i组特征添加正常样本的标签。
在一个实施例中,子模型训练单元73还配置为,用更新后的第i个子标注样本集,再次训练所述第i子模型。
根据又一方面的实施例,还提供一种样本预测装置。图8示出根据一个实施例的样本预测装置的示意性框图。如图8所示,该装置800包括:
特征获取单元81,配置为获取待测样本的样本特征;
特征分组单元82,配置为按照预定分类规则将所述样本特征划分为n组特征;
打分获取单元83,配置为将所述n组特征分别输入n个子模型,得到所述n个子模型对所述待测样本异常概率的n个打分,所述n个子模型利用权利要求11的装置所获取的训练样本训练得到;
总分确定单元84,配置为根据所述n个打分,确定所述待测样本的总得分;
结果确定单元85,配置为根据所述总得分,确定所述待测样本的预测结果。
在一个实施例中,总分确定单元84配置为:对所述n个打分求和,将和值作为总得分;或者,对所述n个打分求平均,将均值作为总得分。
根据一种可能的设计,结果确定单元85配置为:在所述总得分大于预定阈值的情况下,确定所述待测样本为异常样本。
根据另一种可能的设计,结果确定单元85配置为:根据所述总得分,确定所述待测样本为异常样本的概率值,将该概率值作为预测结果。
通过图7和图8的装置,采用半监督和多个子模型协同训练的方式,基于较少的人工标注数据,训练出多个可靠的子模型。在对待测样本进行预测时,利用如此训练的多个子模型分别进行预测,然后对结果进行综合,从而得到可靠的预测结果。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2和图5所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2和图5所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。