这两种方法可能会训练多个模型,会有很多分到底给哪个是一个问题。一般情况会融合一下给一个分,具体操作有两点原则,第一点来源不同的数据一般不统一训练模型,因为数据不同源本来就会对数据就会有一个约束,如APP上数据本来就有前置约束,有一个数据分布约束,而普通方式采集数据是没有分布约束的,分布数据会在训练时对某些数据有优待或忽视,就会体现在某些特征上。
举个例子如覆盖率,一个源覆盖率是10%,另一个是80%,两个源的数据放在一起训练,无论第一个源特征如何好会因为覆盖率直接被干掉。第二个就是源特质导致本身特征强弱,判断一个人有没有逾期在批款是一个很重要的事情,这种数据很少,大多拿到的是申请的数据,这个时候模型出来不能说申请的特征强。我们希望多源都能对模型进行单独训练得到的分再用自策略或stacking进行同步调整,这样每个源带来的信息都能在最终分里体现。
多模型融合的目标第一个就是融合多个模型的结果,使结果更为全面可信。不同模型有不同的特质,部分模型可能更倾向于召回,部分模型可能更倾向于准确,融合能集多家之长。第二个就是融合多源的结果,提高覆盖率。采取stacking的方法,让模型覆盖率突破单一源的覆盖率到多源最大覆盖率。这种方式不仅能融合多种模型效果,还能将源的特征带过来,对于两个源交叉部分判断更为准确,非交叉部分继承对应单模型的效果。
多模型融合方法,第一个就是从策略上进行融合,第二种就是stacking多模型融合。结果更加稳健,在各大比赛及具体应用上均被证明有较好的效果,在多源融合的时候,将不同模型出来的结果统一到一个量纲上。在客户使用方面一种是直接拿分,有些客户希望将分作为一个子feature进入上层模型。第二种是需要准确率、召回率自己把控。有的用户是直接拿结果,直接用该分数对应的结果对客户进行判断,简单明了。
接下来介绍下数美天网的客户分/广告行为分,希望通过行为上的数据对客户进行评分。实现方法就是有一个行为计算器,来一个事件计算一个得分,风险是一个逐渐累加的过程,但是评分会越来越稳定。
优点有很多:
(1)计算量小,可线上实时计算。每有一个event事件就更新一次,不用存储事件。
(2)存储空间小,不需要线下存储。
(3)部署简单,只需要对线上event事件接收那里接一个脚本写RNNcell。
(4)人工介入少,因为其为事件纬度,所以特征只需要对事件本身负责,无需太多特征工程,相较于传统的评分模式,该方法只需要线下训完RNN参数后即可上线,无需人工去分析各种case,各种调试加减分等。
几点注意,主要涉及到算法上的妥协:
(1)正常RNN对与样本event长短有定式要求,所以这里需要一个假设:线下训练用一个较长的事件长度,来近似无限长度,一般是100、1000、1500等。
(2)第二个就是很难在RNN这一点做一个妥协,不同人的在相同位置的事件并不代表同一时间的事件,且不同人的前后两次事件在时间域上也不相同。如一个人可能在事件2和3间隔一秒,另一个人可能在前天上午间隔10分钟,但是在RNN期望这个是一样的,解决方法需要从特征层面为模型提供一个参照点。
(3)由于线下有padding过程,而线上并无padding,因此在线下会有bias累加,而在线上没有bias累加,所以需要RNNcell丢掉bias。
第三个讲一下数美天网—反欺诈,反欺诈主要是反部分人通过一些策略薅羊毛、钻空子。目前业内的通用做法还是分析case,人工做策略,算算术,卡阈值。反欺诈本来是一个黑白对抗的过程,依据历史badcase分析得出策略、阈值滞后于欺诈。我们目前探索采用无监督的方式自动发现异常用户,采用诸DBSCAN,iForest等方法对海量的客户数据进行自动化分析,尽可能节省人的介入和成本。
实际过程采用多维维护,这里有两种更为高效,人工介入更少。一种是SiftScience,一种是Datavisor,SiftScience属于传统机器学习中监督学习的范畴,解决方案是双模型 Live Machine Learning模式,利用通用模型收缩问题的target,对召回的部分会采用特化模型Live Machine Learning实现线上自学习。第二种就是DataVisor,该公司主打的是无监督学习,类DT自动化选择策略,相互互补、相互验证,为客户提供建议。数美方面结合这两者,会有全局/特化监督学习模型,或策略,精确定位欺诈行为及用户,涉及RNN或者策略分析将问题找到。同时会用非监督学习方法探测可能存在的潜在异常行为,这种潜在异常行为可能是判断异常爆发的行为。如黑产先注册一百个账户等有需求自动激活,但是可以通过无监督的方法抓取。