具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以金融领域的风控场景为例,为了避免或降低用户资金的损失,风控系统一般会在账户资金未转出之前,对本次资金转出事件进行风险评估,并且根据评估结果来判断是否采取某些处理手段,例如要求用户输入支付密码(相对于免密支付而言)、要求用户输入手机短信验证码、甚至做拦截本次交易、冻结账户等处理。
由于评估风险时所关注的很多特征的取值都是连续的(或者存在多种取值),为了区分是否要执行风控处理、或者需要执行哪种级别的处理手段,需要对这些具有连续取值的特征设置一个或多个决策临界值。例如,关注的特征为“本次转出的金额总量”,对应的处理手段为“当转出金额在t元以上时,需要用户输入手机短信验证码,否则可以直接凭支付密码转账”,则这个“t”就是针对“本次转出的金额总量”这个特征所设置的决策临界值。
另一方面,从整个风控系统的设计角度而言,往往需要关注多个评价指标。当某个决策临界值取值不同时,可能会同时影响多个指标。例如,风控系统的设计方向是“高预测覆盖率、低用户打扰率”,可以理解的是,对于“转出金额总量”这个特征,较低的决策临界值会提高预测覆盖率,但是也会提高对用户的打扰率。可见,在设置某个决策临界值时,需要综合考虑该临界值所影响的多个指标。而在大型的风控系统中,往往需要针对更多种特征来确定多个临界值,进一步提升了实现难度。
针对上述需求,本说明书提供一种风控决策临界值的确定方案。用于在“多临界值-多指标值”的风控系统中确定较佳的临界值组合。
如图1所示,该方法可以包括以下步骤:
S101,获得M种特征的临界值与N个指标值的关系函数;
为不失一般性,本说明书中首先对系统建模如下:
存在N个风控指标值(例如预测覆盖率、预测命中率、用户打扰率等等),设为y1,y2,…yN;
存在M种特征需要设置决策临界值(例如本次转出的金额总量、24小时内转出的金额总量、本次登录距离上次安全操作的时间、本次转出行为的风险评分等等),设为x1,x2,…xM;
可以理解的是,临界值和指标值之间存在一种关系,由于每个指标值都会受到M个临界值的中的全部或部分影响,因此可以建立每个指标值和多个临界值之间的函数关系:
y1=f1(x1,x2,…xM)
y2=f2(x1,x2,…xM)
……
yN=fN(x1,x2,…xM)
可见,N个指标值对应N个关系函数,每个关系函数均以M个临界值中的全部或部分作为输入(对于以部分临界值作为输入的情况,可以理解为某些临界值对函数值的影响为0)、以1个指标值作为输出。上述函数关系可参见图2所示。
在实际应用中,临界值和指标值的对应关系f往往并不是显性的,可以通过机器学习算法,从大量历史数据中挖掘出这些对应关系函数:
首先从历史数据中,获得多组包含M个临界值与N个指标值的对应关系的数据;例如,对于“当转出金额在t元以上时,需要用户输入手机短信验证码”的风控手段,可以根据历史数据中,将t设为100元、200元、500元等数值后,一段时间内的预测覆盖率、用户打扰率等指标统计值。然后利用所获得的多组对应关系作为样本,通过有监督学习的方式得到M个临界值与N个指标值的关系函数。
关于通过训练获得临界值与指标值关系函数的具体方法,可参见其他相关资料,本说明书中不做详细说明。当然,获得关系函数并不限于上述方式,事实上,对本说明书所提供方案而言,也可以将“临界值与指标值的关系函数”看作已知信息,因此并不需要对具体的获得方式进行限定。
S102,初始化生成包含K个组合的集合P;
在本说明书中,将M个临界值所构成的数据称为一个“组合”,当x1,x2,…xM分别取不同值时,可以得到不同的组合。
在初始化阶段,可预设一整数数值K,并且生成数量为K的组合构成集合P。集合P中的K个组合可以表示为如下形式:
组合1:x11,x21,…xM1
组合2:x12,x22,…xM2
……
组合k:x1k,x2k,…xMk
……
组合K:x1K,x2K,…xMK
每个组合中的具体的临界值取值可以是根据实际数据取得,也可以是随机生成的取值,当然,这里的“随机生成”应该建立在取值本身有意义的前提下,可以根据实际需求,为每种临界值设置取值范围。此外,K的取值可以是个位数、也可以是数十或数百等等,本说明书对此不做限定。
S103,根据所获得的N个关系函数,计算集合P中每个组合的分值;
本说明书中,定义“分值”参数,用来评价每个临界值组合的优劣,从而最终确定出“最优”的临界值组合。而“组合”的优劣更直观是体现在该组合所对应的N个指标值上,因此“分值”实际上也是用于评价N个指标综合优劣程度的参数。假设以z代表分值,则z可以表示为由y1,y2,…yN确定的值,即存在函数g使得:z=g(y1,y2,…yN)。
进一步地,对于任一组合k(k=1,2,…K):
其M个临界值可表示为:
x1k,x2k,…xMk
其N个指标值为:
y1k=f1(x1k,x2k,…xMk)
y2k=f2(x1,x2k,…xMk)
……
yNk=fN(x1k,x2k,…xMk)
其分值为:
zk=g(y1k,y2k,…yNk)
对于上述的函数g,由于是用来综合评估N个指标综合优劣程度的函数,因此其基本要求是:与N个指标值中的正向指标值正相关、与N个指标值中的负向指标值负相关;这里的“正向指标”是指“越大越好”的指标,例如预测命中率、预测覆盖率等;而“负向指标(也称逆向指标、反向指标等)”是指“越小越好”的指标,例如用户打扰率等。
举例说明,可以采用差值的形式计算分值z,例如:
z=∑N个指标值中的正向指标值-∑N个指标值中的负向指标值;
其中“∑”为求和运算符,即对于任一组N个指标值,用“所有的正向指标值减去所有的负向指标值”来评价这N个指标的综合优劣,z值越大则说明这组指标越好。
此外,还可以采用差值的形式计算分值z,例如:
其中“π”为求积运算符,即对于任一组N个指标值,用“所有的正向指标值与所有的负向指标值的比值”来评价这N个指标的综合优劣,z值越大则说明这组指标越好。
可以理解的是,上述仅是对函数g形式的两种简单举例,根据实际需求,还可以对函数做其他变形,例如在差值形式的函数中,可以采用加权的方式,即为每个指标值分别指定修正系数作为权值。
如果预先明确各个指标值的优先级关系,则可以为每个指标值指定固定的修正系数,这些修正系数可以利用历史数据,通过机器学习的方法得到,也可用采用人工分配的方式,例如,对于重要的指标值,可以为其指定绝对值较大的修正系数。
如果预先无法明确各个指标值的优先级关系,也可以分别为N个指标值生成随机的修正系数作为权值,然后对修正后的N个指标值进行加权。在循环处理的过程中,每一轮循环都会随机生成不同的修正系数,通过多次循环选择,自适应地筛选出最优(或近似最优)的修正系数组合。
此外,还可以根据K个组合的整体分布情况,对每个组合的分值进行修正,原则是分布越密集的点,对于其分值给予越大的惩罚修正。例如,将M种特征映射为M维空间,则K个组合可以映射为该空间中的K个点。对于第k(k=1,2,…K)个点,如果其周围分布的其他点越多,则对其分值z
k做一定的惩罚修正,惩罚的幅度与其周围分布的其他点数量正相关。例如可以设置惩罚修正公式为:
其中R为预设值,可以是M维空间中的欧式距离。当然,该修正公式仅用于示意性说明,不应理解为对本说明书方案的限定。
此外,可以理解的是,S101和S102的执行先后顺序并不要进行限定,只要均在S103之前完成即可。
S104,对集合P的组合进行两两交叉重组;
“两两交叉重组”意为:从集合P中的K个组合中,选择2个组合,互相交换任意临界值后生成2个新组合。例如,对于以下2个组合:
组合1:x11,x21,…xM1
组合2:x12,x22,…xM2
如果互相交换第1个临界值(x11和x12),则可以得到2个新的组合:
新组合1:x12,x21,…xM1
新组合2:x11,x22,…xM2
多次重复上述过程,每次都从每次从集合P中选择2个组合,互相交换任意临界值后生成2个新组合。若干次循环后,就可以生成一个新组合构成的集合,在本说明书将这个新的集合以P’表示。
对于上述循环过程,有以下几点需要说明:
首先,对于原集合P中的某个组合,在多次循环的过程中,既有可能被多次选择到,也有可能一直不会被选择到。在本说明书所提供的方案中,任一组合k(k=1,2,…K)被选择到的概率是与其分值zk正相关的。
其中“任一组合k被选择到的概率是与其分值zk正相关”可以按照如下方案实现:
计算集合P中K个组合的分值和∑zk;
对于任一组合k,将zk与∑zk的比值确定为其每次被选中的概率。
例如,组合1~组合4的分值分别为10、20、20、40,则组合1~组合4每次被选中的概率分别为:10/90、20/90、20/90、40/90。
当然,上述算法仅用于示意性说明,实际应用中还可以采用上述算法的改进算法或其他算法实现“任一组合k被选择到的概率是与其分值zk正相关”,例如使用softmax函数来计算组合k被选择到的概率,等等。只要算法能够满足“zk越高,组合k被选中的概率越大”的原则即可。该原则对应的现实意义是:zk越高,说明组合k所包含的M个临界值越“优质”,则这样的临界值应该有越大的机会被选择到参与交叉重组,从而更有利于生成更优选的组合。
其次,每次重组的交换对象可以是M个临界值中的第任意个(上例中是以交换第1个临界值为例)。该交换对象可以在每次交换时随机选择,也可以按照一定的轮询算法确定。总的原则是在多次循环中,能让各个位置的临界值都有机会被选择到参加交叉重组,以覆盖更为全面的组合情形。
再次,在每次完成交换后,可以对交换结果进行随机修正,例如,在上例中,可以对交换结果中的交换对象值进行随机修正,从而将新组合修正为:
新组合1:0.9*x12,x21,…xM1
新组合2:1.1*x11,x22,…xM2
其中0.9、1.1是随机生成的修正系数。这样的处理的目的是避免受到初始生成的集合P的限制,尝试产生新的“优质临界值”。当然,随机修正的实现方式可以是对交换对象进行随机修正,也可以是对交换对象之外的其他临界值进行随机修正,随机修正的算法也不限于乘以修正系数的方式,本领域技术人员可以根据实际需求灵活选择具体的随机修正方案。此外,还可以设置每次交换完成后以一定的概率进行随机修正,例如,如果初始生成的集合P中组合较少,则可以设置较高的随机修正概率。
最后,上述循环过程的停止条件可以是:新组合(即P’包含的组合数)达到预设的数量,为便于处理,这个“预设数量”一般可以设置为K,当然也可以设置为其他数值,例如K-2、2K、3K等等。
S105,根据所生成的新组合,对集合P进行更新;
由于集合P需要在每次循环过程中参与处理,因此更新前后集合P中的组合数量应保持不变;在保证该原则的前提下,可以采用的更新方式举例如下:
如果在S104中,生成的新组合数量为K,则可以直接将新生成的K个组合(即集合P’)确定为更新后的集合P。这是由于P’本身就是利用P中的优质临界值重组而成,因此P’整体上应优于P,也就是说每次更新都是趋于优化的,经过多次循环后,也有利于找到最优(或近似最优)的临界值组合。
可以理解的是,如果在S104中,生成的新组合数量大于K,则可以对新组合计算分支按照分值进行排序,将分值最高的K个组合确定为更新后的集合P。组合分值的计算方法可参见S103,这里不再重复说明。
另外,也可以将原集合P中的K个组合和新生成的组合合并(即将P和P’合并)后,按照分值进行排序,将分值最高的K个组合确定为更新后的集合P。由于每次选择交叉重组对象时具有随机性,因此在选择的过程中可能会导致丢掉原集合P中较优的组合,这种合并更新的方式,可以有效避免这种情况的出现。
S106,判断是否满足循环停止条件,如果是则继续执行S107,否则返回S103;
从图1提供的流程图可以看出,S103~S105为循环处理步骤,循环的停止条件可以有多种设置方式,以下仅作示意性说明:
可以是在达到某个预设的循环次数(例如5次、10次、50次等)后控制循环停止;
可以在集合P中的最高组合分值已满足预设的收敛条件后控制循环停止;例如最近两次循环所得到的集合P中,最高组合分值的变化量已经小于某个阈值,则可以认为已接近找到最优解;
可以在集合P中的任意组合所对应的N个指标值已满足需求后控制循环停止;例如,对系统的设计需求是:用户打扰率在1%以下,预测覆盖率在90%以上,那么,如果在某次循环结束以后,已经得到了满足该指标的临界值组合(可能是1组或多组),那么尽管此时的组合仍有仅进一步重组优化的余地,也可以不再继续循环下去。
如果判断不满足循环停止条件,则返回S104,以本轮更新后的得到集合P作为下一轮循环初始的集合P,重新执行S103~S105;如果满足循环停止条件,则执行S107。
S107,将集合P中具有最高分值的组合所对应的M个临界值确定为可用临界值。
本说明书提供的方案,是利用S103~S105进行循环处理,通过多次对临界值组合的交叉重组、不断产生新的临界值组合。由于在重组的过程遵循“分值越高,被选中概率越大”的原则,因此能够以“优胜劣汰”的方式,使得临界值的组合方式不断趋于优化,从而以较高的效率找到最优(或近似最优)的临界值组合。
相应于上述方法实施例,本说明书实施例还提供一种风控决策临界值的确定装置,参见图3所示,该装置可以包括:
关系函数获得模块110,用于获得M种特征的临界值与N个指标值的关系函数;其中,每个指标值对应1个关系函数,每个关系函数以M个临界值中的全部或部分为输入、以1个指标值为输出;
集合初始化模块120,用于初始化生成包含K个组合的集合P,每个组合均由M个临界值组成,K为预设的数值;
集合更新模块130,利用以下子模块(图中未示出)进行循环处理,直到满足预设的停止条件:
分值计算子模块,用于根据所获得的N个关系函数,计算集合P中每个组合的分值,所述分值用于表征组合对应的N个指标值的综合优劣程度,与N个指标值中的正向指标值正相关、与N个指标值中的负向指标值负相关;
重组子模块,用于每次从集合P中选择2个组合,互相交换任意临界值后生成2个新组合,直到新组合达到预设的数量;其中,每个组合从集合P中被选中的概率与该组合的分值正相关;
更新子模块,用于根据所生成的新组合,对集合P进行更新,更新后集合P中的组合数量保持不变;
临界值确定模块140,用于在停止循环处理后,将集合P中具有最高分值的组合所对应的M个临界值确定为可用临界值。
在本说明书提供的一种具体实施方式中,关系函数获得模块110可以具体用于:
从历史数据中,获得多组包含M个临界值与N个指标值的对应关系;
利用所获得的多组对应关系作为样本,通过训练得到M个临界值与N个指标值的关系函数。
在本说明书提供的一种具体实施方式中,分值计算子模块,可以具体用于:
利用以下公式计算得到组合的分值:
∑N个指标值中的正向指标值-∑N个指标值中的负向指标值。
在本说明书提供的一种具体实施方式中,分值计算子模块,可以具体用于:
分别为N个指标值生成随机的修正系数;
利用修正后的N个指标值,计算该组合的分值。
在本说明书提供的一种具体实施方式中,重组子模块130可以通过以下方式确定每个组合从集合P中被选中的概率:
计算集合P中K个组合的分值和;
将每个组合的分值与分值和的比值,确定为该组合的被选中概率。
在本说明书提供的一种具体实施方式中,重组子模块130可以具体用于:
每次从集合P中选择2个组合,互相交换任意临界值后,对交换结果进行随机修正,生成2个新组合。
在本说明书提供的一种具体实施方式中,更新子模块可以具体用于:
对新组合按照分值进行排序,将分值最高的K个组合确定为更新后的集合P。或者
将原集合P中的K个组合和新生成的组合合并后,按照分值进行排序,将分值最高的K个组合确定为更新后的集合P。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的风控决策临界值确定方法。该方法至少包括:
获得M种特征的临界值与N个指标值的关系函数;其中,每个指标值对应1个关系函数,每个关系函数以M个临界值中的全部或部分为输入、以1个指标值为输出;
初始化生成包含K个组合的集合P,每个组合均由M个临界值组成,K为预设的数值;利用以下步骤进行循环处理,直到满足预设的停止条件:
根据所获得的N个关系函数,计算集合P中每个组合的分值,所述分值用于表征组合对应的N个指标值的综合优劣程度,与N个指标值中的正向指标值正相关、与N个指标值中的负向指标值负相关;
每次从集合P中选择2个组合,互相交换任意临界值后生成2个新组合,直到新组合达到预设的数量;其中,每个组合从集合P中被选中的概率与该组合的分值正相关;
根据所生成的新组合,对集合P进行更新,更新后集合P中的组合数量保持不变;
停止循环处理后,将集合P中具有最高分值的组合所对应的M个临界值确定为可用临界值。
图4示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器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,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的风控决策临界值确定方法。该方法至少包括:
获得M种特征的临界值与N个指标值的关系函数;其中,每个指标值对应1个关系函数,每个关系函数以M个临界值中的全部或部分为输入、以1个指标值为输出;
初始化生成包含K个组合的集合P,每个组合均由M个临界值组成,K为预设的数值;利用以下步骤进行循环处理,直到满足预设的停止条件:
根据所获得的N个关系函数,计算集合P中每个组合的分值,所述分值用于表征组合对应的N个指标值的综合优劣程度,与N个指标值中的正向指标值正相关、与N个指标值中的负向指标值负相关;
每次从集合P中选择2个组合,互相交换任意临界值后生成2个新组合,直到新组合达到预设的数量;其中,每个组合从集合P中被选中的概率与该组合的分值正相关;
根据所生成的新组合,对集合P进行更新,更新后集合P中的组合数量保持不变;
停止循环处理后,将集合P中具有最高分值的组合所对应的M个临界值确定为可用临界值。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。