具体实施方式
参照附图,通过下面的说明书,本申请的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本申请的特定实施方式,其表明了其中可以采用本申请的原则的部分实施方式,应了解的是,本申请不限于所描述的实施方式,相反,本申请包括落入所附权利要求的范围内的全部修改、变型以及等同物。
在本发明实施例中,术语“第一”、“第二”等用于对不同元素从称谓上进行区分,但并不表示这些元素的空间排列或时间顺序等,这些元素不应被这些术语所限制。术语“和/或”包括相关联列出的术语的一种或多个中的任何一个和所有组合。术语“包含”、“包括”、“具有”等是指所陈述的特征、元素、元件或组件的存在,但并不排除存在或添加一个或多个其他特征、元素、元件或组件。
在本发明实施例中,单数形式“一”、“该”等包括复数形式,应广义地理解为“一种”或“一类”而并不是限定为“一个”的含义;此外术语“所述”应理解为既包括单数形式也包括复数形式,除非上下文另外明确指出。此外术语“根据”应理解为“至少部分根据……”,术语“基于”应理解为“至少部分基于……”,除非上下文另外明确指出。
实施例1
本发明实施例提供了一种风险预测方法。图1是该风险预测方法的示意图,请参照图1,该方法包括:
步骤101:利用主机器学习模型对预测数据进行预测处理,得到该预测数据的第一预测值;
步骤102:通过在线学习的方式训练辅机器学习模型;
步骤103:利用该辅机器学习模型对该预测数据进行预测处理,得到该预测数据的第二预测值;以及
步骤104:利用该第二预测值调整该第一预测值。
根据本实施例,通过在线学习的方式训练辅机器学习模型,能够及时训练作为黑样本的风险事件,通过利用辅机器学习模型的预测结果调整主机器学习模型的预测结果,能够提高主机器学习模型的覆盖率,避免作为黑样本的大部分风险事件被模型漏过,此外,通过主机器学习模型和辅机器学习模型的模型融合,能够提高融合后的模型准确率。由此,能够高效准确地进行风险预测和防控。
在本实施例中,在步骤101之前,该方法还可以包括步骤:训练主机器学习模型。
其中,可以通过输入历史的训练数据来训练主机器学习模型,这里的历史的训练数据可以包括结构化的数据、文本和/或图像等。并且,在主机器学习模型建立之后,可以每隔一段预定时间通过自动重拟合(refit)的方式来重新训练主机器学习模型。例如,在风控场景中,在建立主机器学习模型时,可以输入过去1至4月份的风险事件数据训练主机器学习模型,之后,可以每隔10天通过自动refit的方式来进行一次重新训练。
在本实施例中,主机器学习模型可以为现有的机器学习模型,例如,基于随机深林的模型、基于支持向量机(Support Vector Machine,SVM)的模型、基于梯度提升决策树(Gradient Boosting Decision Tree,GBDT)类的模型,如GBDT、lightGBM、XGboost等,本申请对此不作限制。
在本实施例中,在步骤101中,利用主机器学习模型进行预测处理的目的在于判断预测数据中的各预测样本为黑样本(也可以称作“正样本”)的概率或可能性。这里的黑样本可以为预先定义的用户感兴趣的事件,例如,在风控场景中,该黑样本可以为风险事件,具体地,可以为欺诈事件。其中,该预测数据的第一预测值可以为主机器学习模型对预测数据中的各预测样本给出的分值,通过该分值,可以判断该预测样本接近黑样本的程度,具体地,该分值可以为0-1,分值越高,代表预测数据中的各预测样本越接近黑样本,也即,如果预测样本的分值(例如,0.3)较低,则表示该预测样本为黑样本的可能性小;如果预测样本的分值(例如,0.8)较高,则表示该预测样本为黑样本的可能性大。由此,根据预测数据的第一预测值,可以得到预测数据中各预测样本的定性结果,例如,欺诈事件或非欺诈事件。
在本实施例中,在步骤101中,利用主机器学习模型进行预测处理的方式不作限制,可以参考现有技术。
在本实施例中,在线学习方式是一种模型的训练方式,其可以将训练数据变成有顺序的多个小批量(mini-batch)数据,然后利用该多个小批量数据依次训练模型,并使模型在每一步的时候都被用于预测未来数据,再通过递归学习,实时快速的进行模型调优,使得模型能够及时反映线上的变化。由此,在步骤102中,通过在线学习的方式来训练辅机器学习模型,可以提升辅机器学习模型的覆盖率,能够及时训练作为黑样本的风险事件。
在本实施例中,该辅机器学习模型可以为现有的机器学习模型。并且,该辅机器学习模型可以为与主辅机器学习模型不同的机器学习模型,以便于结合不同机器学习模型的优势,此外,该辅机器学习模型可以为与主辅机器学习模型相同的机器学习模型,但两者的训练方式不同。
在本实施例的一个实施方式中,在步骤102之前,该方法还可以包括步骤:选择预设时间段内的数据集。该步骤102可以包括:通过在线学习的方式,采用该数据集来训练该辅机器学习模型。由此,只需要针对特定时间段的数据集,对辅机器学习模型进行在线学习训练,而无需一直对该辅机器学习模型进行在线学习训练,从而能够避免系统性能消耗过度。
其中,该预设时间段可以根据实际情况进行选择,避免该该预设时间段的数据集与主机器学习模型的训练数据相同。例如,在风控场景中,主机器学习模型已经针对过去1至4月份的风险事件数据进行了训练,因此,该辅机器学习模型可以无需再针对过去1至4月份的风险事件数据进行训练,或者无需再针对过去1至4月份的全部时间内的风险事件数据进行训练,例如,可以选择过去4-5月份或者3-5月份的风险事件数据来训练该辅机器学习模型。另外,该预设时间段的具体长度也可以根据实际情况来确定,其可以为7天、15天或60天等。例如,在基于直联商户的风控场景中,该预设时间段可以较长,例如,60天,而在基于间联商户的风控场景中,该预设时间段可以较段,例如,7天。
在该实施方式中,该步骤102可以包括:将预设时间段内的数据集分成多个小批量(mini-batch)数据,每隔预定时间依次采用该多个小批量数据中的一个小批量数据来训练该辅机器学习模型。由此,通过这种小批量的数据训练方式,可以完成整个数据集的训练,实现在线学习,提升模型的覆盖率。
其中,可以根据实际情况将数据集分成预定数量个(例如,N个)小批量(mini-batch)数据,即第1至第N个小批量数据,然后,按照第1至第N个小批量数据的顺序,每隔预定时间采用其中一个小批量数据来进行训练,直到该N个小批量数据都被用于训练为止。
其中,该预定时间可以根据各小批量数据的大小、系统的硬件配置等来确定,在各小批量数据的数据量较小,系统的硬件配置较高时,该预定时间可以较短,例如,半小时或1小时;反之,该预定时间可以长,例如,2小时或4小时。
在该实施方式中,该步骤103的实施可以与上述步骤101的实施类似,其中,该预测数据的第二预测值可以为辅机器学习模型对预测数据中的各预测样本给出的分值,通过该分值,可以判断该样本接近黑样本的程度,具体地,该分值可以为0-1,分值越高,代表预测数据中的各预测样本越接近黑样本。由于辅机器学习模型被通过在线学习的方式训练,其模型覆盖率得到提升,因此,相比于该步骤101中所得到预测数据的第一预测值,该步骤103所得到预测数据的第二预测值的准确度更高。
在本实施例的另一个实施方式中,在步骤102之前,该方法还可以包括步骤:
选择预设时间段内的数据集;
根据预定比例,将该数据集划分为训练集和测试集。
其中,该选择预设时间段内的数据集的步骤如前所述,在此省略说明。
其中,该预定比例可以不作具体限制,例如,9:1或者8:2,也即,可以将该数据集的90%作为训练集,10%作为测试集,也可以将数据集的80%作为训练集,20%作为测试集。
其中,该训练集用于训练辅机器学习模型,该步骤102可以包括:通过在线学习的方式,采用该训练集来训练该辅机器学习模型,具体地,如上所述,可以将该训练集分成多个小批量(mini-batch)数据,每隔预定时间依次采用该多个小批量数据中的一个小批量数据来训练该辅机器学习模型。
其中,该测试集可以用于测试辅机器学习模型,详见下面的描述。
在该实施方式中,该步骤103可以包括步骤:利用该辅机器学习模型从该预测数据选择预测准确率为预定阈值以上的数据作为特定数据,将该特定数据的预测值作为该第二预测值。由此,能够确保第二预测值具有高准确率。
其中,该预定阈值可以根据实际情况来确定,例如,其可以为90%,或93%。此外,利用该辅机器学习模型从该预测数据选择该特定数据的方式可以通过多种方式来实现,本申请并不限于此。其中,图2是利用该辅机器学习模型从该预测数据选择该特定数据的一个实施方式的示意图,如图2所示,选择该特定数据的方式可以包括:
步骤201:在完成该辅机器学习模型的上述训练之后,利用该辅机器学习模型对该测试集进行预测处理,得到该测试集的预测值;
步骤202:将该测试集按照该预测值的准确率从高到低进行分箱(bin),找到与该预定阈值对应的箱;
步骤203:将该与该预定阈值对应的箱以上的所有箱作为特定箱,从该预测数据选择与该特定箱中的测试集对应的数据作为该特定数据。
其中,在步骤201中,可以得到测试集中各测试样本的预测值,即该辅机器学习模型对各测试样本给出的分值,分值越高,代表各测试样本越接近黑样本。
在步骤202中,在得到该测试集的预测值之后,可以先根据该测试集的真实值和预测值,计算各预测值的准确率,再将该测试集按照准确率从高到低进行分箱(bin),找到与该预定阈值对应的箱。
在步骤203中,落入该特定箱中的测量集的预测准确率为预定阈值以上,通过从该预测数据选择与该特定箱中的测量集对应的数据作为该特定数据,由此,能够保证这些特定数据的预测准确率在预定阈值以上。
例如,可以将该测试集按照预测值的准确率从高到低分成1000个bin,即第1个bin至第1000个bin,各个bin对应一个准确率,在预定阈值为93%的情况下,找到与准确率93%对应的那个bin,即第M个bin;然后,将第1个bin至第M个bin作为特定bin,最后,将预测数据中与该特定bin中的测量集对应的数据作为该特定数据。
例如,针对步骤202-303的具体实施,可以通过结构化查询语言(StructuredQueryLanguage,SQL)编程,采用如下代码来实现:
select min(threshold)as cutoff from${t1}
where precision>0.93
select/*+mapjoin(t2)*/
t1.task_id,t1.task_score,t2.cutoff,
case when t1.task_score>t2.cutoff and t1.task_score>0
then 1
else 0end as label
FROM(
select*,1AS key
from${t1})t1
inner join
(select*,1AS key from${t2})t2
on t1.key=t2.key
在本实施例中,在该步骤104之前,该方法还可以包括:输出该第二预测值,以便主机器学习模型利用该第二预测值来调整该第一预测值。
在本实施例中,该步骤104可以包括:对该第二预测值(V2)与该第一预测值(V1)进行加权平均,将该第一预测值修改为该加权平均的结果。由此,可以通过利用辅机器学习模型的预测结果来修正主机器学习模型的预测结果,提高主机器学习模型的覆盖率和准确率。
其中,该第二预测值与该第一预测值的加权平均V3可以表示为如下:
V3=W2*V2+W1*V1 (1)
其中,W1为第一预测值的权重,W2为第二预测值的权重。该W1和W2的数值可以根据第二预测值的准确率而进行不同的选择,例如,在该第二预测值是上述特定数据的预测值的情况下,可以将W1设为0,W2设为1,即直接将第一预测值V1修改为第二预测值V2;而在其他情况下,该W1和W2可以分别为0.5,也可以W1设为0.4,W2设为0.6。
下面,为了使本发明实施例的方法更加清楚易懂,对本发明实施例1的风险预测方法的一个实施方式的流程图进行详细说明。
图3示出了本发明实施例1的风险预测方法的一个实施方式的流程图。如图3所示,该方法包括:
步骤301:训练主机器学习模型;
其中,该训练主机器学习模型的实施如上所述,此处不再赘述。
步骤302:利用主机器学习模型对预测数据进行预测处理,得到该预测数据的第一预测值;
其中,该步骤302的实施与步骤101的实施相同,此处不再赘述。
步骤303:选择预设时间段内的数据集;
其中,预设时间段的设置如上所述,此处不再赘述。
步骤304:通过在线学习的方式,采用该数据集来训练该辅机器学习模型;
其中,在线学习的方式的内容如上所述,此处不再赘述,此外,如上所述,可以采用通过小批量的数据训练方式,完成整个数据集的训练。
步骤305:利用该辅机器学习模型对该预测数据进行预测处理,得到该预测数据的第二预测值;
其中,该步骤305的实施方式可以与上述步骤101的实施方式类似。
步骤306:利用该第二预测值调整该第一预测值。
其中,如上所述,可以该第一预测值修改为该第二预测值(V2)与该第一预测值(V1)的加权平均,其中,该第一预测值(V1)的权重为0.4,该第二预测值(V2)的权重为0.6。
在本实施例中,通过上述步骤301-306,利用辅机器学习模型对预测数据的预测结果来修正主机器学习模型对预测数据的预测结果,从而能够提高主机器学习模型的覆盖率和准确率。
下面,为了使本发明实施例的方法更加清楚易懂,对本发明实施例1的风险预测方法的另一个实施方式的流程图进行详细说明。
图4示出了本发明实施例1的风险预测方法的另一个实施方式的流程图。如图4所示,该方法包括:
步骤401-403:其与图3中步骤301-303相同,此处不再赘述。
步骤404:根据预定比例,将该数据集划分为训练集和测试集。
其中,该预定比例的设置如上所述,此处不再赘述。
步骤405:通过在线学习的方式,采用该训练集来训练该辅机器学习模型。
其中,如上所述,可以采用通过小批量的数据训练方式,完成整个训练集的训练。
步骤406:利用该辅机器学习模型对该测试集进行预测处理,得到该测试集的预测值;
步骤407:将该测试集按照该预测值的准确率从高到低进行分箱,找到与该预定阈值对应的箱;
步骤408:将该与该预定阈值对应的箱以上的所有箱作为特定箱,从该预测数据选择与该特定箱中的测试集对应的数据作为特定数据;
其中,该步骤406-408的实施与步骤201-203的实施分别相同,此处不再赘述。
步骤409:得到并输出作为第二预测值的该特定数据的预测值;
步骤410:利用该第二预测值调整该第一预测值。
其中,如上所述,可以该第一预测值修改为该第二预测值(V2)与该第一预测值(V1)的加权平均,其中,该第一预测值(V1)的权重为0,该第二预测值(V2)的权重为1。
在本实施例中,通过上述步骤401-410,利用辅机器学习模型对预测准确率较高的特定数据的预测结果来修正主机器学习模型的预测结果,相对于图3所示的方法,能够进一步提高主机器学习模型的覆盖率和准确率。
值得注意的是,以上图3-4仅对本发明实施例进行了示意性说明,但本发明不限于此。例如可以适当地调整各个步骤之间的执行顺序,此外还可以增加其他的一些步骤或者减少其中的某些步骤。本领域的技术人员可以根据上述内容进行适当地变型,而不仅限于上述图3-4的记载。
由上述实施例可知,通过在线学习的方式训练辅机器学习模型,能够及时训练作为黑样本的风险事件,通过利用辅机器学习模型的预测结果调整主机器学习模型的预测结果,能够提高主机器学习模型的覆盖率,避免作为黑样本的大部分风险事件被模型漏过,此外,通过主机器学习模型和辅机器学习模型的模型融合,能够提高融合后的模型准确率。由此,能够高效准确地进行风险预测和防控。
实施例2
本实施例提供一种风险预测装置。由于该装置解决问题的原理与实施例1的方法类似,因此其具体的实施可以参照实施例1的方法的实施,内容相同之处不再重复说明。
图5是本实施例的数据使用风险预测装置的示意图,如图5所示,该风险预测装置500包括:
第一处理单元501,其包括第一预测模块5012,该第一预测模块5012用于利用主机器学习模型对预测数据进行预测处理,得到该预测数据的第一预测值;
第二处理单元502,其包括第二训练模块5021和第二预测模块5022,该第二训练模块5021用于通过在线学习的方式训练辅机器学习模型,该第二预测模块5022用于利用该辅机器学习模型对该预测数据进行预测处理,得到该预测数据的第二预测值;
其中,该第一处理单元501还包括:调整单元5013,其用于利用该第二预测值调整该第一预测值。
在本实施例中,如图5所示,该第一处理单元501还可以包括第一训练模块5011,其用于训练主机器学习模型。
在本实施例中,该主机器学习模型和该辅机器学习模型可以为不同的机器学习模型。
在本实施例中,第二预测模块5022在得到该第二预测值时,还可以将该第二预测值输出给该第一处理单元501的调整单元5013。
在本实施例中,该第二处理单元502还可以包括输出单元(图未示出),其用于将第二预测模块5022得到的第二预测值输出给该第一处理单元501的调整单元5013。
在本实施例的一个实施方式中,图6示出了第二处理单元502的一个实施方式的示意图。如图6所示,第二处理单元502还可以包括:选择单元601,其用于选择预设时间段内的数据集。
在该实施方式中,该第二训练模块5021可以通过在线学习的方式,采用所述预设时间段内的数据集来训练所述辅机器学习模型。具体地,该第二训练模块5021可以将预设时间段内的数据集分成多个小批量(mini-batch)数据,每隔预定时间依次采用该多个小批量数据中的一个小批量数据来训练该辅机器学习模型。
在该实施方式中,该第二预测模块5022的实施可以与该第一预测模块5012的实施类似,即该第二预测模块5022利用该辅机器学习模型对预测数据进行预测处理,得到该预测数据的第二预测值。
在本实施例的另一个实施方式中,图7示出了第二处理单元502的另一个实施方式的示意图。如图7所示,第二处理单元502还可以包括:选择单元701,其用于选择预设时间段内的数据集,划分模块702,其用于根据预定比例,将该数据集划分为训练集和测试集;
在该实施方式中,该第二训练模块5021可以通过在线学习的方式,采用该训练集来训练该辅机器学习模型,具体地,该第二训练模块5021可以将训练集分成多个小批量(mini-batch)数据,每隔预定时间依次采用该多个小批量数据中的一个小批量数据来训练该辅机器学习模型。
在该实施方式中,该第二预测模块5022可以利用该辅机器学习模型从该预测数据选择预测准确率为预定阈值以上的数据作为特定数据,将该特定数据的预测值作为该第二预测值。
具体地,在该第二训练模块5021完成上述训练之后,该第二预测模块5022可以利用该辅机器学习模型对该测试集进行预测处理,得到该测试集的预测值,将该测试集按照该预测值的准确率从高到低进行分箱,找到与该预定阈值对应的箱,将该箱以上的所有箱作为特定箱,从该预测数据选择与该特定箱中的测试集对应的数据作为该特定数据。之后,该第二预测模块5022还可以输出这些特定数据的预测值。
在本实施例中,该调整单元5013可以对该第二预测值与该第一预测值进行加权平均,将该第一预测值修改为该加权平均的结果。
在本实施例的上述装置中,通过在线学习的方式训练辅机器学习模型,能够及时训练作为黑样本的风险事件,通过利用辅机器学习模型的预测结果调整主机器学习模型的预测结果,能够提高主机器学习模型的覆盖率,避免作为黑样本的大部分风险事件被模型漏过,此外,通过主机器学习模型和辅机器学习模型的模型融合,能够提高融合后的模型准确率。由此,能够高效准确地进行风险预测和防控。
实施例3
本发明实施例提供一种终端设备,该终端设备包括如实施例2所述的风险预测装置。
图8是本发明实施例的终端设备800的系统构成的一示意框图。如图8所示,该终端设备800可以包括处理器810和存储器820;存储器820耦合到处理器810。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一个实施方式中,风险预测装置的功能可以被集成到处理器810中。其中,处理器810可以被配置为:
利用主机器学习模型对预测数据进行预测处理,得到该预测数据的第一预测值;
通过在线学习的方式训练辅机器学习模型;
利用该辅机器学习模型对该预测数据进行预测处理,得到该预测数据的第二预测值;以及
利用该第二预测值调整该第一预测值。
在另一个实施方式中,风险预测装置可以与处理器810分开配置,例如可以将风险预测装置配置为与处理器810连接的芯片,通过处理器810的控制来实现风险预测装置的功能。
如图8所示,该终端设备800还可以包括:通信模块830、输入单元840、显示器850、电源860。值得注意的是,终端设备800也并不是必须要包括图8中所示的所有部件;此外,终端设备800还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,处理器810有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器810接收输入并控制终端设备800的各个部件的操作。
其中,存储器820,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存各种数据,此外还可存储执行有关信息的程序。并且处理器810可执行该存储器820存储的该程序,以实现信息存储或处理等。其他部件的功能与现有类似,此处不再赘述。终端设备800的各部件可以通过专用硬件、固件、软件或其结合来实现,而不偏离本发明的范围。
在本发明实施例中,终端设备例如是指接入通信网络并接收网络服务的设备。终端设备可以是固定的或移动的,其中,终端设备可以包括但不限于如下设备:计算机、智能手机、或平板电脑等。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机执行实施例1所述的方法。
本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。逻辑部件例如现场可编程逻辑部件、微处理器、计算机中使用的处理器等。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、DVD、flash存储器等。
结合本发明实施例描述的方法/装置可直接体现为硬件、由处理器执行的软件模块或二者组合。例如,附图中所示的功能框图中的一个或多个和/或功能框图的一个或多个组合,既可以对应于计算机程序流程的各个软件模块,亦可以对应于各个硬件模块。这些软件模块,可以分别对应于附图中所示的各个步骤。这些硬件模块例如可利用现场可编程门阵列(FPGA)将这些软件模块固化而实现。
软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域已知的任何其它形式的存储介质。可以将一种存储介质耦接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该软件模块可以存储在移动终端的存储器中,也可以存储在可插入移动终端的存储卡中。例如,若设备(如移动终端)采用的是较大容量的MEGA-SIM卡或者大容量的闪存装置,则该软件模块可存储在该MEGA-SIM卡或者大容量的闪存装置中。
针对附图中描述的功能方框中的一个或多个和/或功能方框的一个或多个组合,可以实现为用于执行本发明所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。针对附图描述的功能方框中的一个或多个和/或功能方框的一个或多个组合,还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP通信结合的一个或多个微处理器或者任何其它这种配置。
以上结合具体的实施方式对本发明进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本发明保护范围的限制。本领域技术人员可以根据本发明的精神和原理对本发明做出各种变型和修改,这些变型和修改也在本发明的范围内。