读论文 a survey of transfer-learning
转:https://www.sohu.com/a/232853823_100178754
迁移学习的关键,用四个字概括,就是“找对巨人”,也就是需要找到不同场景之间的关联和共性(特征),本文就系统性地介绍一下迁移学习的几种方法。
首先,来看几个定义。
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迁移到task B上,那么就说task A对应的domain就是Source domain, P(XS)
4. Target domain:
如果把一个task A上的knowledge迁移到task B上,那么就说task B对应的domain就是Target domain, P(XT)
下面,根据标签的情况,将迁移学习分为三种类型:
Vontear在其blog里有一个形象的说明,在此引用下其说明:
Transductive Learning: 从彼个例到此个例,有点象英美法系,实际案例直接结合过往的判例进行判决。关注具体实践。
Inductive Learning:从多个个例归纳出普遍性,再演绎到个例,有点象大陆法系,先对过往的判例归纳总结出法律条文,再应用到实际案例进行判决。从有限的实际样本中,企图归纳出普遍真理,倾向形而上,往往会不由自主地成为教条。
而对于unsupervised learning ,黄姐姐在其“大数据反欺诈”专栏前述文章中有大量的介绍,在此不再重复。
根据迁移的对象,可以将迁移学习分为四种类型:
以下,具体介绍一下几种常用的思路。
Inductive Transfer Learning + Instance-transfer
适用条件:Source Domain和Target Domain数据的特征(feature)和标签(label)完全相同。
处理方式:重新调整source domain的权重,应用于target domain。
举例:信用卡申请的申请表和小额贷款的申请表的申请字段相同,其他埋点信息也相同,且最终的结论都是【通过】和【拒绝】。那么,在两者的申请场景下,可以采用此种方法。
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。
Inductive Transfer Learning + Parameter-transfer
适用条件:Task之间具有一定关联性,且在某个独立模型中共用一些参数。
处理方式:提取共用的参数直接迁移即可,这种方式在多任务模型(Multiple tasks model)中应用比较广泛。
举例:在《基于迁移学习(Transfer learning)的反欺诈(一)》中的关于识别男女和识别人类的多层神经网络的应用,就是一个非常典型的parameter-transfer的例子。
Inductive Transfer Learning + Relational-knowledge-transfer
适用条件:Source domain的内部关系和target domain的内部关系有相似性。什么意思呢?举个