发明内容
本申请实施例的目的是提供一种更准确的风控模型训练方案。
为解决上述技术问题,本申请实施例是这样实现的:
一种风控模型训练方法,包括:
获取训练样本的集合,其中,所述训练样本包括用户注册记录、用户交易记录、用户转账/收款记录或者用户营销记录,所述训练样本为已经标注的黑样本或者白样本;
利用以下步骤进行迭代处理,直到待训练的风控模型对训练样本的分类指标满足预设需求:
采用交叉验证模型对训练样本进行评估,确定交叉验证模型对每个训练样本的风险评分,其中,交叉验证模型中包含与所述待训练的风控模型相关的其它已训练风险识别模型,和,迭代过程中的当前待训练的风控模型;训练样本的风险评分越高,表征该训练样本是黑样本的概率越大,所述其它已训练风险识别模型与所述待训练模型的分类标签相同,训练中所使用的分类特征至少部分相同;
滤除具有高风险评分的白样本和具有低风险评分的黑样本,得到新的训练样本集合;
迭代结束后,将当前的待训练的风控模型确定为可用风控模型。
对应的,本说明书实施例还提供一种风控模型训练装置,包括:
获取模块,获取训练样本的集合,其中,所述训练样本包括用户注册记录、用户交易记录、用户转账/收款记录或者用户营销记录,所述训练样本为已经标注的黑样本或者白样本;
迭代模块,利用以下步骤进行迭代处理,直到待训练的风控模型对训练样本的分类指标满足预设需求,所述迭代模块包括,
评估子模块,采用交叉验证模型对训练样本进行评估,确定交叉验证模型对每个训练样本的风险评分,其中,交叉验证模型中包含与所述待训练的风控模型相关的其它已训练风险识别模型,和,迭代过程中的当前待训练的风控模型;训练样本的风险评分越高,表征该训练样本是黑样本的概率越大,所述其它已训练风险识别模型与所述待训练模型的分类标签相同,训练中所使用的分类特征至少部分相同;
样本滤除子模块,滤除具有高风险评分的白样本和具有低风险评分的黑样本,得到新的训练样本集合;
重新训练子模块,使用所述新的训练样本集合,更新待训练的风控模型,对所述新的训练样本集合进行分类,重新确定新的训练样本集合中的训练样本的标签,确定更新后的待训练的风控模型对于所述新的训练样本集合的分类指标;
确定模块,迭代结束后,将当前的待训练的风控模型确定为可用风控模型。
在训练样本中的黑样本不纯的时候,在训练风控模型时,通过相关的其它已训练风险识别模型对于训练样本进行交叉验证,从而滤除掉那些具有低评分的黑样本和高评分的白样本,利用筛选后的样本重新训练模型,通过这种方法来处理标签不准确的问题,从而实现得到更准确的风控模型,同时还可以得到适于稳定建模的样本数据。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
在风控领域中,相比于账户被盗、账户被骗、身份被冒用等被动风险而言,同时还存在很多主动风险,例如垃圾注册(垃圾账号是指具有强烈获取利益倾向和团伙性质、批量、低成本注册的账号)、营销作弊、虚假交易、虚假商户、赌博等。这些行为都是个人用户或者商户主动发起的。因此,他们也一般不会主动去报案。
同时需要说明的是,风控领域中的主动风险是存在于多个方面的,某些安全风险类型之间存在相关性,例如,恶意批量注册用户往往可能进行营销作弊;同时,某些安全风险类型之间不存在相关性,一个用户在某个方面不存在安全风险行为,并不一定在其它方面就是“清白”的。例如,一个实名认证的白名单的正常注册用户,也有可能执行与“赌博”相关的风险行为。
这样就造成关于主动风险的事件没有精确的人工打标、案件定性,黑/灰产也不会主动“报案”,缺乏有效的风险反馈机制。主动风险的反馈主要来自事后的业务方反馈和风控人员对风险的“专家经验”。
这种反馈机制下,数据标注成本太高、正负样本难以界定,从而形成关于主动风险的样本标签覆盖不足(即关于主动风险的黑样本太少)、样本标签不准(有不少黑样本还不一定是真正的黑样本,其中掺杂有白样本)的情况。而众所周知的,在监督学习中,训练样本的标签准确性是非常重要的,这种有缺陷的训练样本不利于风控模型的训练。
基于此,本说明书实施例提供一种更加准确的风控模型训练方法。
以下结合附图,详细说明本说明书各实施例提供的技术方案。如图1所示,图1是本说明书实施例提供的一种风控模型训练方法的流程示意图,该流程具体包括如下步骤:
S101,获取训练样本的集合,其中,所述训练样本包括用户注册记录、用户交易记录、用户转账/收款记录或者用户营销记录,所述训练样本为已经标注的黑样本或者白样本。
本说明书实施例在训练模型时采用的是有监督学习,因此,每个训练样本均需要包含标签。这里训练样本的标签可以来自于业务方反馈、运营方反馈或者离线模型识别等等,标签一般而言即为“有风险”或者“无风险”,可以通过对训练样本进行评分或者分类得到。
例如,风控人员根据风险类型等相关业务逻辑对原始的用户数据记录进行初筛,实名认证用户默认为白样本,或者,没有营销红包的交易则认为是白样本。又例如,针对某活动商户遭遇黑/灰产攻击(刷单、作弊、恶意差评、薅羊毛等)的情况,业务方会将相关批量用户/交易标记为黑样,或者,根据业务指标、用户高危行为、用户聚集等异常情况挖掘相关批量团伙,进而对团伙中的相关样本进行人工打标。
需要说明的是,本说明书中的“待训练的风控模型”,可以是一个仅完成了初始化的风控模型,也可以是已经进行了若干次训练,但是分类指标还不理想的风控模型。
训练样本的特征可以包括用户的转账/收款次数、转账/收款频率、用户的真实身份信息、收益金额(收益可以包括诸如现金红包、奖券、代金券)、用户登录地点、注册时间、登录时间间隔等等。
S103,采用交叉验证模型对训练样本进行评估,确定交叉验证模型对每个训练样本的风险评分,其中,交叉验证模型中包含与所述待训练的风控模型相关的其它已训练风险识别模型,和,迭代过程中的当前待训练的风控模型;训练样本的风险评分越高,表征该训练样本是黑样本的概率越大,所述其它已训练风险识别模型与所述待训练模型的分类标签相同,所使用的分类特征至少部分相同。
具体而言,进行第一次迭代前的训练样本集合可以认为是初始的训练样本集合。其后,每进行一次迭代,训练样本集合本身也迭代,只不过训练样本集合的每次迭代都是自身被缩小一部分而得到新的训练样本集合,待训练的风控模型则基于该重新得到的新的训练样本集合重新训练。
与所述待训练的风控模型相关的其它已训练风险识别模型同样是用于识别用户的风险,但是,其各自侧重的角度不同,例如,其它已训练风险识别模型可以包括团伙用户模型(用于评估团队作案方面的风险)、反作弊模型(用于评估作弊营销以获取收益方面的风险)、垃圾注册模型(用于评估恶意注册方面的风险),待训练的风控模型可以是诸如行为序列模型(用于基于用户序列行为评估是否存在欺诈风险),或者同机风险识别模型(用于识别同一机器上注册的用户是否存在安全风险)等等。
在本说明书中,其它已训练风险识别模型是已经可用的成熟模型,即,对于训练样本或者线上数据的分类指标上已经达到期望值,在其所应用的方面已经有者较好的分类效果,即可以给训练样本进行风险评分,并且该风险评分在各自所应用的方面中是较为准确的。一般而言,风险评分越高,是黑样本的概率越大。
待训练的风控模型与前述的其它已训练风险识别模型虽然在风控中应用的具体方面不同,但是都是用于识别风险的,因此都可以使用相同的标签:“有风险”或者“无风险”。在各自的训练过程中,由于各自关注的领域不同,因此,在训练时可以包括前述的部分特征或者全部特征。
容易理解,如果两个模型训练时所使用的分类特征完全不同,则可以认为两种模型没有明显的相关性,在本说明书实施例中,则不会把这类模型使用到协同针对待训练的风控模型的交叉验证中。
交叉验证模型是对于当前待训练的风控模型和其它同样用于识别风险的模型进行整合而得到的整合模型。由于待训练的风控模型处于迭代训练中,因此,实际上,交叉验证模型本身也是跟随着待训练的风控模型的迭代而一直发生变化。交叉验证模型用于对训练样本的标签真实性进行评估。
使用交叉验证模型对训练样本进行评估时,一种可实施方式为,针对任一训练样本,分别获取每个模型对该训练样本的风险评分,并进行加权,生成交叉验证模型对该训练样本的加权风险评分。
例如,假设交叉验证模型是由待训练的风控模型与2个其它相关模型整合得到,模型表达式如下:
y=h(-0.1+0.7y1+0.2y2+0.5y3),其中y1表示待训练的风控模型的风险评分,y2,y3分别表示其它相关模型的风险评分,0.7、0.2、0.5为各自的权重。从而得到的风险评分是多个模型对于训练样本的加权风险评分。
在迭代中,训练样本集合不断在变化,而模型训练中,训练样本的准确性对于模型是有着很大影响的。换言之,同一个样本,在不同的迭代次数中,待训练的风控模型对其评分y1也会产生变化,从而,交叉验证模型对于训练样本y的取值也是一直处于变化之中。
S105,滤除具有高风险评分的白样本和具有低风险评分的黑样本,得到新的训练样本集合。
在初次迭代时,此处的“白样本”和“黑样本”可以是由人工方式预先给定的标签。
在进行初次迭代进行之后,待训练的风控模型将会对于训练样本进行重新分类,即,训练样本的评分会随着待训练的风控模型的更新而不断的变化,甚至有部分训练样本的标签有可能会发生改变。此时的“白样本”和“黑样本”是指当前的待训练模型对于该样本的分类标签。
出现这种情形的原因是因为在本说明书实施例所涉及的场景下,训练标签有不少是依赖于人工以及不成熟的模型确定的,训练样本的标签实际上有不少是不准确的。这种情况下,部分训练样本由于标签的不准确,会随着训练的多次进行发生不稳定的现象,这类不准确的训练样本同时还会影响模型的训练,因此,有必要将这部分出现了异常的训练样本剔除出去,同时,使用新的训练样本来更新待训练的风控模型。
具体的表现则为,一个被待训练模型划分的白样本本来应该具有低评分(高评分表征该样本是黑样本的概率较大),而在交叉验证时有可能出现了高风险评分;或者,一个被待训练模型划分的黑样本在交叉验证时出现了低风险评分。对这两类训练样本即给与滤除,如图2所示,图2为本说明书实施例所提供的交叉验证样本筛选的示意图。
具体的“高风险评分”以及“低风险评分”可以根据实际情形设置。例如,可以设置具体的分值a1以及a2,将高于a1的评分认定为高风险评分,以及将低于a2的评分认定为低风险评分;或者,还可以设置具体的比例,将前5%的评分认定为高风险评分,以及,将后5%的评分认定为低风险评分。
容易理解,在迭代中,每次滤除了一部分不稳定的样本之后,得到的新的训练样本集合是上一次迭代时的训练样本的子集。
换言之,训练样本集合中的样本数量会随着迭代而不停的缩小,其中的训练样本的标签也趋向准确(标签不准确的训练样本会不断的被滤除出去),并且随着标签不准确的样本被滤除,训练得到的风控模型对于主动风险的识别也将趋向于准确。
S107,采用新的训练样本集合对待训练的风控模型进行训练;
S109,判断当前的待训练的风控模型的分类指标是否满足预设条件。如果满足,执行S111,否则,返回S103;
在实际应用中,对于风控模型的期望一般是对于训练样本集合有较高的准确度划分,同时,还不应该将过多的白样本识别为黑样本,否则,在线上运行时将会将过多的正常用户识别为异常用户,从而影响正常用户的体验。因此,这里的分类指标可以包括待训练的风控模型对于训练样本的准确率或者,以及,对于黑样本的精确率。
S111,迭代结束后,将当前的待训练的风控模型确定为可用风控模型。
通过本说明书实施例所提供的方案,当训练样本中的黑样本不纯的时候,在训练风控模型时,通过相关的其它已训练风险识别模型对于训练样本进行交叉验证,从而滤除掉那些具有低评分的黑样本和高评分的白样本,利用筛选后的样本重新训练模型,通过这种方法来处理标签不准确的问题,从而实现得到更准确的风控模型,同时还可以得到适于稳定建模的样本数据。
在一种实施例中,对于初始的训练样本集合中各训练样本的标签,可以是事先人为给定的,也可以是基于初始化的待训练的风控模型对训练样本集合进行分类而得到的。
在一种实施例中,进行交叉验证时,如果若存在任一其它已训练风险识别模型的风险评分高于黑样本评分阈值,以该风险评分作为多个其它已训练风险识别模型对该训练样本的风险评分。换言之,当一个样本在某个方面显示出强烈的黑样本趋势时,则在本次验证中直接将其确定为黑样本。需要说明的是,此处的黑样本评分阈值一般会高于该已训练风险识别模型常用的划分值。
在迭代结束后,此时的风控模型已经训练完毕,可以认为训练样本也中的标签也已经足够准确,此时,可以将当前新的训练样本的集合中的训练样本确定为目标可用样本,以用于另外的风控模型(主要是应用于主动风险方面的其它风控模型)的训练,其中,所述目标可用样本的标注结果为训练生成所述可用目标模型时所使用的标签。如图3所示,图3为本说明书实施例所提供的目标可用样本的生成示意图。目标可用样本集合是初始训练样本集合的真子集,相比初始训练样本集合而言,其中训练样本的标签准确率已经大为提高。
对应的,本说明书实施例还提供一种风控模型训练装置,如图4所示,图4是本说明书实施例提供的一种风控模型训练装置的结构示意图,包括:
获取模块401,获取训练样本的集合,其中,所述训练样本包括用户注册记录、用户交易记录、用户转账/收款记录或者用户营销记录,所述训练样本为已经标注的黑样本或者白样本;
迭代模块403,利用以下步骤进行迭代处理,直到待训练的风控模型对训练样本的分类指标满足预设需求,所述迭代模块包括,
评估子模块4031,采用交叉验证模型对训练样本进行评估,确定交叉验证模型对每个训练样本的风险评分,其中,交叉验证模型中包含与所述待训练的风控模型相关的其它已训练风险识别模型,和,迭代过程中的当前待训练的风控模型;训练样本的风险评分越高,表征该训练样本是黑样本的概率越大,所述其它已训练风险识别模型与所述待训练模型的分类标签相同,训练中所使用的分类特征至少部分相同;
样本滤除子模块4033,滤除具有高风险评分的白样本和具有低风险评分的黑样本,得到新的训练样本集合;
重新训练子模块4035,使用所述新的训练样本集合,更新待训练的风控模型,对所述新的训练样本集合进行分类,重新确定新的训练样本集合中的训练样本的标签,确定更新后的待训练的风控模型对于所述新的训练样本集合的分类指标;
确定模块405,迭代结束后,将当前的待训练的风控模型确定为可用风控模型。
进一步地,所述装置还包括初始分类模块407,使用初始的待训练的风控模型对未标注的训练样本的集合进行分类,得到标注的黑样本或者白样本。
进一步地,所述评估子模块4031,针对任一训练样本,分别获取每个模型对该训练样本的风险评分,并进行加权,生成交叉验证模型对该训练样本的加权风险评分。
进一步地,所述评估子模块4031,若存在任一其它已训练风险识别模型的风险评分高于黑样本评分阈值,以该风险评分作为多个其它已训练风险识别模型对该训练样本的风险评分。
进一步地,在迭代结束后,所述装置还包括可用样本确定模块409,将当前新的训练样本的集合中的训练样本确定为目标可用样本,以用于另外的风控模型的训练,其中,所述目标可用样本的标签为训练生成所述可用目标模型时所使用的标签。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1所示的风控模型训练方法。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1所示的风控模型训练方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。