基于迁移学习的反欺诈方法研究
The following article is from 金融科技实战 Author 喵喵喵~
迁移学习(Transfer learning),顾名思义,就是把已知学到的知识应用于理解未知事物上,这很符合我们的认知过程。举个最简单的例子,假设我们给朋友介绍一种新产品,就叫“奇里古刹币”(乱编个名字也是很费脑细胞的),你很难讲解其中的逻辑。但你如果这么说:“类似于比特币,属于虚拟货币的一种,只不过仅限于购买牛奶”。你的朋友可能瞬间就理解了,“哦,原来如此”。
我们尝试分析一下你朋友大脑的运作:
第一步:把对比特币的认知直接转移(transfer)到了“奇里古刹币”
第二步:以此为基础,再加上限制条件“仅限于购买牛奶”
如此,便完成了迁移学习的过程。
事实上,迁移学习是每个数据分析师的必备技能,它不是一种算法模型,甚至称不上一种技术,只是一种方法论,或者说是一种模型设计思路。
迁移学习的基本概念
#定义#
对于两个相关场景A和B,A有大量的标签,B仅有少量标签或没有标签。迁移学习是指通过将对A学习的结果转移到B的建模中,以此提高B的建模效率。
#为什么要进行迁移学习#
建模人员都知道,有监督机器学习需要大量的标签数据,而为数据打标签十分耗时,而且通常需要大量人力参与,因此是一笔巨大的开销。对于一般有监督学习,我们通常会采用随机的方式初始化参数,再进行不断的迭代学习得到收敛的参数组合。我们可以这么理解,迁移学习实际上是特殊化的初始化流程,也就是,我们的初始化不是采用随机参数方式,而是将其他相关场景的训练结果拿来,作为这个模型的初始化。
迁移学习的主要优势
首先,迁移学习可以提高机器学习的效率。这显而易见,通过迁移学习,你可以不再通过随机的方式初始化参数,站在巨人的肩膀上learning,相比于从零开始的模型,必然已经赢在起跑线上了;
其次,迁移学习可以降低对训练数据的量级要求,尤其对于深度学习。试想,对于一个五层神经网络模型,功能是识别男女。那么,你拿一个识别人类的三层神经网络作为基础,进行迁移学习,那么,你只需要训练后两层即可,而无需从零开始。可想而知,这样的话,对于标签数据的数据量要求就少得多了;
迁移学习示意图
最后,迁移学习的适用性较强。迁移学习虽然不能应用在任意场合,但只要两个场景具有一点相关性,即可以使用迁移学习。例如,国内某公司,其团队开始主要做精准营销,对客户进行分群,目的是识别出其需求和鉴别购买力。后采用迁移学习进行欺诈识别,虽然场景不尽相同,捕捉到人群特征也不尽相同,但其在精准营销上训练的模型参数可以作为反欺诈模型的初始化,以此节约训练时间。同样,对于反欺诈业界所提倡的联防联控,除了共享黑名单数据库外,其另一个比较重要的应用就是迁移学习。事实上,国内某知名电商日前发布的关于骗保反欺诈产品,就是以其商城购买行为分析模型为基础构建的,这也是一种迁移学习。
总之,迁移学习并非一种技术,而是一种方法论。其根本目的就是“站在巨人的肩膀上”建模,而至于能否采用“迁移学习”,就要看你有没有找对这个“巨人”了。跟“巨人”的场景关联性越高,迁移学习的适用性就越好。而如果你胡乱找错人,那么可能会一不小心掉进大坑,反倒费时了。
迁移学习的三种类型
迁移学习的关键,用四个字概括,就是“找对巨人”,也就是需要找到不同场景之间的关联和共性(特征),本文就系统性地介绍一下迁移学习的几种方法。
首先,来看几个定义。
1. Domain:
包含两个component,一是向量空间X,一个是X的分布P(X)
2. Task:
给定一个特定的domain和label空间Y,对于domain里每一个xi,都可以预测出相应的yi。通常,如果两个task不同,那么其通常有不同的label空间,或者不同的条件分布P(Y|X)
3. Source domain:
如果把一个task A上的knowledge迁移到taskB上,那么就说task A对应的domain就是Source domain, P(XS)
4. Target domain:
如果把一个task A上的knowledge迁移到taskB上,那么就说task B对应的domain就是Target domain, P(XT)
下面,根据标签的情况,将迁移学习分为三种类型:
Vontear在其blog里有一个形象的说明,在此引用下其说明:
Transductive Learning:从彼个例到此个例,有点象英美法系,实际案例直接结合过往的判例进行判决。关注具体实践。
Inductive Learning:从多个个例归纳出普遍性,再演绎到个例,有点象大陆法系,先对过往的判例归纳总结出法律条文,再应用到实际案例进行判决。从有限的实际样本中,企图归纳出普遍真理,倾向形而上,往往会不由自主地成为教条。
而对于unsupervised learning,属于比较普遍的内容,在此不再赘述。
几种迁移学习的选择流程,如下图所示:
风控与反欺诈的应用场景
根据迁移的对象,可以将迁移学习分为四种类型,进一步展开就是风控与反欺诈的应用场景。以下,具体介绍一下几种常用的思路。
1.Inductive Transfer Learning + Instance-transfer
适用条件:Source Domain和Target Domain数据的特征(feature)和标签(label)完全相同。
处理方式:重新调整source domain的权重,应用于target domain。
举例:信用卡申请的申请表和小额贷款的申请表的申请字段相同,其他埋点信息也相同,且最终的结论都是【通过】和【拒绝】。那么,在两者的申请场景下,可以采用此种方法。
2.Inductive Transfer Learning + Feature-representation-transfer
适用条件:Task之间具有一定关联性,且包含共同的特征
处理方式:把每一个task作为输入,用task之间共同的feature来建模。解释一下,首先你要通过一些方法将source domain里无标签的数据做一个更高level的提炼,称为representation;然后要将target domain的数据也做一个类似的转换,即representation;这样,我们就可以用可以利用representation来作为建模,且使用与representation相关的标签了。(很像求最小公倍数的思路)
举例:这也是一种常用的思路。举一个最经典的例子,信用卡还款,有各种逾期行为,我们定义坏人的方式是认为M3&M3+;消费贷分期,也会有各种没有按时还款的行为,而这个定义是M2&M2+。看上去两个定义不同,但我们给这样一个新定义:坏人。此处,【坏人】就是一个共同的feature,也就是我们的定义representation。
3.Inductive Transfer Learning + Parameter-transfer
适用条件:Task之间具有一定关联性,且在某个独立模型中共用一些参数。
处理方式:提取共用的参数直接迁移即可,这种方式在多任务模型(Multiple tasks model)中应用比较广泛。
举例:前文中的关于识别男女和识别人类的多层神经网络的应用,就是一个非常典型的parameter-transfer的例子。
4.Inductive Transfer Learning +Relational-knowledge-transfer
适用条件:Source domain的内部关系和target domain的内部关系有相似性。什么意思呢?举个🌰:在学术领域和影视业就有如下相似的关系。
处理方式:将source domain学习到的MLN(Markov Logic Network)迁移到target domain中,输出一个针对target domain的新的MLN。
举例:这个可以用来分析新的团伙欺诈模式,例如信用卡申请和银行放贷的内外勾结、中介机构包装伪造信息等。
此外,Transductive Transfer Learning与Instance-transfer和Feature-representation-transfer相结合的应用与上述第一种和第二种类似。
对于Unsupervisedtransfer learning,通常应用于source domain有大量无标签数据,而target domain的数据量比较小且也是无标签的情况,采用的方式为Feature-representation-transfer方法。特别地,基于层次聚类方法论,采用parameter-transfer也可以大幅提高模型的运算效率。
至此,我们已经了解了比较主流的迁移学习方法。那么,我们还有最后一个问题:如何能够避免找错巨人而误入大坑(专业名词为negative transfer)呢?Sinno Jialin Pan提出过一个防止误入大坑的建议(黑色对号)。而基于笔者的实际项目经验,将调整后的表格修改如下(红色对号为笔者添加):
综上,Transfer Learning对于提高模型运算效率有十分重要的意义。然而,是否能够迁移,如何进行有效地迁移仍然是建模工程师重点关注的。对于已知欺诈,Transfer learning具有更好的适用性,而对于未知欺诈,若想使用transferlearning,通常还是需要配合一些背景调查以及一些标签和业务知识输入,否则,也较难适用。
来源|金融科技实战
作者|DataVisor黄姐姐(工科女诗人,资深猫奴)
更多精彩,戳这里:
点击阅读原文,即可报名信用评分卡模型课程