对象分类方法、装置、服务器及存储介质
技术领域
本说明书实施例涉及互联网技术领域,尤其涉及一种对象方法、装置、服务器及存储介质。
背景技术
随着移动互联网的普及,线上支付越来越成为人们的一种生活方式,在线上支付中,往往存在着异常用户或交易,试图通过非法手段,来获取线上支付的利益(如在线金融的奖励金套现)。对于这一部分异常用户或异常交易的挖掘和发现,可有效的发现并阻止这一异常行为。
发明内容
本说明书实施例提供及一种对象方法、装置、服务器及存储介质。
本说明书实施例提供一种对象方法,包括:对待识别对象的数据进行特征提取得到用户原始特征,并对所述对象原始特征进行切分处理,得到多类对象子特征;将各类对象子特征依次循环或随机输入至预先训练的深度森林网络的各级决策树森林集;基于深度森林网络,对所述待识别对象进行决策分类。
本说明书实施例还提供一种对象分类装置,包括:特征提取及处理单元,用于对待识别对象的数据进行特征提取得到用户初始特征,并对所述对象初始特征进行切分处理,得到多类对象子特征;预测单元,将各类对象子特征依次循环或随机输入至预先训练的深度森林网络的各级决策树森林集;基于深度森林网络,对所述待识别对象进行决策分类。
本说明书实施例又提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
本说明书实施例再提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
本发明实施例提出的对象分类方法中,通过对对象数据的特征进行切分处理,针对切分后的各类对象子特征,利用深度森林网络中每级决策树森林集的多个基分类器进行决策分类,最终确定出对象是否为异常的概率。另外,针对异常对象样本有可能稀疏的情况,可采取k折交叉验证的方式进行基分类器的训练,从而缓解过拟合的问题。
附图说明
图1为本说明书实施例对象分类的场景示意图;
图2为本说明书实施例提供的用于对象分类的深度森林网络的训练方法流程图;
图3为本说明书实施例提供的用于对象分类的深度森林网络训练方法中用户原始特征切分示意图;
图4为本说明书实施例提供的用于对象分类的深度森林网络训练方法中深度森林网络示意图;
图5为本说明书实施例提供的用于对象分类的深度森林网络训练方法中深度森林网络示意图;
图6为本说明书实施例提供的对象分类方法流程图;
图7为本说明书实施例提供的对象分类装置结构示意图;
图8为本说明书实施例提供的服务器结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
请参见图1,为本说明书实施例的对象分类的场景示意图。终端100位于用户侧,与网络侧的服务器200通信。终端100中的对象处理客户端101可以是基于互联网实现用户业务的APP或网站,为用户提供交易的界面并将对象数据(用户相关数据或交易相关数据)提供给网络侧进行处理;服务器200利用预先训练的深度森林网络201用于对交易处理客户端101中涉及的对象进行分类。
本发明实施例中,对象包括但不限于用户和业务这两个对象。
对于用户这个对象,当对用户进行分类时,可以是用于识别用户是否为异常用户或正常用户。用户数据是指与用户属性或行为相关的数据,例如包括但不限于用户基本信息(如性别,年龄等)、用户动态信息(如近期N比交易的描述信息)及用户关联信息(即与用户有关的其他用户信息,如近期与之交易的其他用户信息)等。从用户数据进行特征提取得到各类用户子特征。用户子特征包括但不限于用户静态特征(提取于用户基本信息)、用户动态特征(提取于用户动态信息)、用户关联特征(提取于用户关联信息)。
对于业务这个对象,业务又可进一步可以是指在线交易,也可以是指搜索引擎、在线资源或广告推荐等网络服务。以在线交易为例,当对在线交易进行分类时,可以是用于识别交易是否为异常交易或正常交易。业务数据是指业务相关的历史数据以及实时数据,例如包括但不限于业务成交量、业务额度、业务频次等相关数据。从业务数据进行特征提取得到各类业务子特征。业务子特征包括但不限于业务历史特征及业务实时特征。
以上仅是对对象包括用户或业务这两种情况的举例说明,不应作为限定。
下面以用户对象为例对本发明实施例进行示例性说明。
随着人工智能的兴起,机器学习作为人工智能中最重要的技术,也日益受到人们的重视。机器学习算法具有更加灵活更为智能的优点。如今的基于多种类型特征(离散特征,连续特征,类别属性特征)的机器学习解决方案,大都采用梯度决策提升树,然而这种结构虽然能够适应多种场景,但也有一定的局限性,例如对于黑样本较少的场景,如何找到更多的黑用户,如何提高预测准确性等方面还存在不足。
在风控场景中,通常需要找到带有安全隐患的用户,相较于正常用户而言,这类用户的数目相对少。对此,本发明实施例提出一种用于异常用户识别的对象分类方法,应用在智能风控领域,通过用户特征切分以及交叉验证等方式,能够比以往的算法找到更多的异常用户。
本说明书实施例提供一种用于对象分类的深度森林网络训练方法流程图方法,请参考图2,包括步骤S201-S206。
S201:收集有关异常对象的黑白样本,并对黑白样本数据进行特征提取得到对象初始特征。
以用户对象为例,从历史交易数据中,分别收集用户的黑白样本。黑样本是指异常用户样本,白样本是指正常用户的样本。在实际场景中,异常用户相较于正常交易毕竟是少数,因此往往存在黑样本数量不足而导致训练到的网络准确度不高的问题。
得到黑白样本之后,对黑白样本进行特征提取,得到用户初始特征。针对于每个用户有大量的特征描述这一情况,用户初始特征过于庞大,如果直接输入深度森林网络会导致特征数太大,训练(以及预测)效率低下,且提升效果不理想。因此,本发明实施例中在步骤S202中,将用户初始特征信息进行了切分处理。
S402:对对象初始特征进行切分处理,得到多类对象子特征。
仍以用户对象为例,参考图3,为本说明书实施例对用户原始特征进行切分的示意图。可以将用户初始特征信息分为不同的几组特征,例如:用户静态特征(包括用户的基本信息,如性别,年龄等);用户动态特征(动态信息,如近期N比交易的描述信息);用户关联特征(即与用户有关的其他用户信息,如近期与之交易的其他用户信息)。
在后续的处理中,将以上几类子特征分别提取,用于训练深度森林网络不同层(不同级),而不是将原来的用户初始特征整体全都进行统一处理。这种基于特征切分利用各类子特征用做训练的处理办法,既可以降低每一层训练的维度,降低训练时间,又有利于防止模型过拟合的问题。
S203:根据第一类对象子特征训练第一级决策树森林集的各个基分类器。
S204:将前一级决策树森林集的输出特征与下一类对象子特征进行拼接,利用拼接特征训练下一级决策树森林集的各个基分类器;
S205:判断是否达到预定结束条件,如果未达到结束条件,则返回重复执行步骤S204;如果达到结束条件,则执行步骤S206。
其中,结束条件可以包括多个,例如,当预测结果在评价指标上没有提升,或是已经达到了最大网络层数(级数L),则确定达到了结束条件。
S206:当达到预定结束条件时,结束训练,得到由多级决策树森林集构成的深度森林网络。
深度森林网络,是借鉴集成学习的思想,以基于决策树的集合(森林)为基分类器,构建一个多层(多级)网络,网络的层数可以自适应得到。每层网络的节点为一个梯度提升决策树。
如图4所示,为深度森林网络的一个示意图。该深度森林网络包括L级(L层),每个级是决策树森林的一个集合(决策树森林集),即集成的集成(ensemble of ensembles)。每一级决策树森林集包括多个基分类器(森林:forest)。每一级决策树森林集可以包含不同类型的森林(例如随机森林或完全随机树木森林),从而提高网络的多样性。例如,图4中级决策树森林集包括四个基分类器。每个基分类器又由一个或多个决策树构成的。
在网络训练过程中,级联的各级决策树森林集中,除了最后一级决策树森林集中的每一级决策树森林集的输入,都是前一级处理的特征信息与对应的用户子特征拼接的拼接特征(其中,第一级决策树森林集没有前一级,因此输入仅是第一类用户子特征)。可见,由于对用户初始特征进行切分为多类用户子特征,因此在训练过程中,结合切分特征这一操作,来对每一层进行训练,这一点与原始深度森林网络算法有很大差别,原始算法中,会统一处理全局特征,而本发明实施例在每一层使用不同的用户子特征。
假定数据有d=d1+d2+d3维特征(静态特征d1维,动态特征d2维,关联特征d3维);假定有n组基分类器(图中示例为4个),异常用户识别问题是二分类问题(检测用户是否异常)。
训练过程可以区分为以下几个部分:
(1)基础层训练:可以理解为是第0层,将用户初始特征切分为用户静态特征、用户动态特征、用户关联特征,由此构建用户的基本分类状况;
(2)中间层训练:从第一层(level-1)开始,每一层采用上一层的输出结果,拼接上本层对应的用户子特征,注意的是,每层拼接的用户子特征有差异,例如,第一层拼接用户静态特征,第二层拼接用户动态特征,第三层拼接用户关联特征,第四层再拼接用户静态特征…依次循环。如此训练达到最佳层数(评测指标不再增长为止)。
(3)最后一层训练:在最后一层(L层),输入仅是上一层(L-1)的输出(并不拼接用户子特征)。
例如图4中,level-1的输入是第一类用户子特征(例如用户静态特征),假设是二分类问题,则level-1每个基分类器将输出二维类向量(class vector),则四个基分类器每一个都将产生一个二维的类向量,得到八维的类向量(4×2);继而,在level-2,将该八维类向量与第二类用户子特征(例如用户动态特征)相拼接,将接收(n×c+d2)个增强特征(augmented feature),其中,d2为输入的第二类用户子特征的数量、n为基分类器个数、c为分类数目;同理在level-3至level-(L-1)均与level-2类似处理;在最后一级level-L,输入仅是上一级的输出(并不拼接用户子特征),输出得到八维类向量;最后对这八维类向量进行平均取值等处理,输出二维类向量。
可见,在上述图4的例子中,各类用户子特征是依次循环输入各级决策树森林集的。即假设有三类用户子特征A、B、C,决策树森林集共5级,则各级决策树森林集的输入可表示为:
A——>level-1
B+level-1-result——>level-2
C+level-2-result——>level-3
A+level-3-result——>level-4
level-4-result——>level-5
其中level-1、level-2、level-3、level-4、level-5分别代表各级决策树森林集;level-1-result、level-2-result、level-3-result分别代表各级决策树森林集输出。
从上面表示不难看出:
(1)各类用户子特征是依次循环输入至各级决策树森林集(除了最后一级决策树森林集)的,所谓依次是按照A、B、C顺序;所谓循环是在最后一个类特征(C)已输入之后再重新按照A、B、C顺序重新进行。
(2)除了第一级(输入仅有用户子特征)和最后一级(输入仅有上一级输出),中间各级决策树森林集的输入都由两部分组成:按顺序选取的用户子特征及上一级输出。
需要说明的是,上述图4这种按各类用户子特征是依次循环输入各级决策树森林集的方式仅仅是一个示例而已。实际操作中,还可以随机选择任意一类或任意多类用户子特征输入到当前级决策树森林集(除最后一级)。
例如图5所示的另一个例子中,假设有三类用户子特征A、B、C,决策树森林集共L级,则各级决策树森林集的输入可表示为:
B——>level-1
C+level-1-result——>level-2
……
A+C+level-(L-2)-result——>level-(L-1)
level-(L-1)-result——>level-L
在上述图5例子中,是随机选择一类或多类用户子特征输入到当前级决策树森林集(除最后一级)的。
在一种可选方式中,可在对每级决策树森林集的各个基分类器进行训练时,通过k折交叉验证的方式进行,以缓解过拟合问题。
交叉验证,是将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set),首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。
交叉验证的具体做法可以是:将黑白样本的数据划分为预置数目的分组;任选一个分组作为验证集,其余分组的数据集合作为训练集;在每级决策树森林集的训练过程中,利用每个训练集分别训练以及每个对应验证集分别验证每级决策树森林集中的各个基分类器。
例如,假设将选取出的总计1000个黑白样本进行随机划分分为三个分组:分组1、分组2、分组3;则得到三种组合方式:分组1为验证集,分组2、3的数据集合作为训练集;分组2为验证集,分组1、3的数据集合作为训练集;分组3为验证集,分组1、2的数据集合作为训练集。在训练基分类器过程中,需要针对上述三个训练集分别进行训练。
本说明书实施例提供一种对象分类方法。参考图6,该方法包括:
S601:对待识别对象的数据进行特征提取得到对象初始特征,并对对象初始特征进行切分处理,得到多类对象子特征;
S602:将各类对象子特征依次循环或随机输入至预先训练的深度森林网络的各级决策树森林集;
S603:基于深度森林网络,对待识别对象进行决策分类。
其中对于特征切分处理以及深度森林网络的训练过程请参见本发明实施例前述内容。
假定深度森林网络为L层(即包括L级决策树森林集),则在利用深度森林网络对待识别用户的数据进行预测的过程中,执行如下过程:
(1)利用n个分类器对待识别交易数据进行预测:对于待识别交易数据,得到n*c个预测结果,拼接到对应的用户子特征d-i维特征上,得到新的(d-i+n*c)维特征;
(2)对于最后L层的n*c个预测结果,在n个分类结果取平均,得到最终的c个预测结果,该c个预测结果便是深度森林网络在c个类别上的最终预测概率。
可见,上述以用户对象为例的对象分类方法中,通过对用户数据的特征进行切分处理,针对切分后的各类用户子特征,利用深度森林网络中每级决策树森林集的多个基分类器进行决策分类,最终确定出用户是否为异常的概率。另外,针对异常用户样本有可能稀疏的情况,可采取k折交叉验证的方式进行基分类器的训练,从而缓解过拟合的问题。
除了用户对象,如前所述的,本发明实施例还可以对业务对象进行分类。
业务包括交易、在线服务等多种情况。以交易为例,在风控场景中,通常需要找到带有安全隐患的交易,这类交易称为非法交易,相较于正常交易而言,这类交易的数目非常少,通常是一比几百甚至几千,而且异常交易有着形形色色的区别,因而挖掘非法交易是一件较为困难的事情。对此,本发明实施例提出的用于业务识别的对象分类方法中,基于深度森林网络,利用深度森林网络的高效性特点,能够比以往的算法找到更多的非法交易。
本发明实施例提供的对象分类方法用于对业务进行识别时,可参考上述图2-图5的原理和步骤,仅是将用户子特征替换为业务子特征即可,因此不赘述。
基于同一发明构思,本说明书实施例提供一种对象分类装置,请参考图7,包括:
特征提取及处理单元701,用于对待识别对象的数据进行特征提取得到对象初始特征,并对所述对象初始特征进行切分处理,得到多类对象子特征;
预测单元702,将各类对象子特征依次循环或随机输入至预先训练的深度森林网络的各级决策树森林集;基于深度森林网络,对所述待识别对象进行决策分类。
在一种可选方式中,还包括:网络训练单元703;
所述网络训练单元703包括:
样本获取子单元7031,用于收集有关异常对象的黑白样本;
特征提取及处理子单元7032,用于对黑白样本数据进行特征提取得到对象初始特征,以及对对象初始特征进行切分处理,得到多类对象子特征;
训练执行子单元7033,用于根据第一类对象子特征训练第一级决策树森林集的各个基分类器,并将前一级决策树森林集的输出特征与下一类对象子特征进行拼接,利用拼接特征训练下一级决策树森林集的各个基分类器;其中在每一级决策树森林集训练完成后判断是否达到预定结束条件,如果未达到才进行下一级决策树森林集的训练;或者,根据任意一类或几类对象子特征训练第一级决策树森林集的各个基分类器,然后将前一级决策树森林集的输出特征与任意一类或几类对象子特征进行拼接,利用拼接特征训练下一级决策树森林集的各个基分类器;其中在每一级决策树森林集训练完成后判断是否达到预定结束条件,如果未达到才进行下一级决策树森林集的训练;
网络确定子单元7034,用于当达到预定结束条件时,结束训练,得到由多级决策树森林集构成的所述深度森林网络。
在一种可选方式中,所述特征提取及处理单元702或所述特征提取及处理子单元7032具体用于:根据所述对象原始特征中各特征所属类型,对所属对象原始特征进行分组;分组得到所述各类对象子特征。
在一种可选方式中,所述对象子特征包括用户子特征和业务子特征中的至少一项;所述用户子特征包括用户静态特征、用户动态特征及用户关联特征中的两项或多项;所述业务子特征包括业务历史特征及业务实时特征。
在一种可选方式中,所述网络训练单元703还包括:
交叉验证控制子单元7035:用于采取交叉验证的方式训练各个基分类器。
在一种可选方式中,交叉验证控制子单元7035具体用于:
将黑白样本的数据划分为预置数目的分组;任选一个分组作为验证集,其余分组的数据集合作为训练集;
在每级决策树森林集的训练过程中,利用每个训练集分别训练以及每个对应验证集分别验证每级决策树森林集中的各个基分类器。
基于与前述实施例中对象分类方法同样的发明构思,本发明还提供一种服务器,如图8所示,包括存储器804、处理器802及存储在存储器804上并可在处理器802上运行的计算机程序,所述处理器802执行所述程序时实现前文所述对象分类方法的步骤。
其中,在图8中,总线架构(用总线800来代表),总线800可以包括任意数量的互联的总线和桥,总线800将包括由处理器802代表的一个或多个处理器和存储器804代表的存储器的各种电路链接在一起。总线800还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口806在总线800和接收器801和发送器803之间提供接口。接收器801和发送器803可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器802负责管理总线800和通常的处理,而存储器804可以被用于存储处理器802在执行操作时所使用的数据。
基于与前述实施例中对象分类方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述对象分类方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。