本篇博客参考自以下网址:http://blog.youkuaiyun.com/lqfarmer/article/details/73195060
迁移学习提出背景:
机器学习假设:在训练和测试模型时,数据服从相同的分布,来源于相同的特征空间,但实际上,这个假设很难成立。因为带标记的训练样本有限,数据分布会随时间、地点等发生变化。知识迁移可以把B领域中的知识迁移到A领域来,提高A领域分类效果,不需要花大量时间去标注A领域数据。
迁移学习基本思想:
人类可以将以前学到的知识应用于解决新的问题,更快的解决问题或取得更好的效果。迁移学习需要:从以前的任务当中学习知识或经验,并应用于新的任务中。即迁移学习的目的是从一个或多个源任务中抽取知识、经验,然后应用于一个目标领域中。
基本概念:
领域Domain,由两部分组成:特征空间(feature space)x和特征空间的边缘分布P(x),其中,x={x1,x2,...,xn},如果两个领域不同,它们的特征空间或边缘概率分布不同,领域表示成D={X,P(x)}
任务task,给定一个领域D={X,P(x)}的情况下,一个任务也包含两个部分:标签空间Y和一个目标预测函数f(.)。一个任务表示为:T={Y, f(.)},目标预测函数不能被直接观测,但可以通过训练样本学习得到。从概率论角度来看,目标预测函数f(.)可以表示为P(Y|X)。任务表示成T={Y, P(Y|X)}
一般情况下,只考虑只存在一个source domain Ds 和一个target domain Dt的情况。其中,源领域Ds = {(xs1,ys1),(xs2,ys2)......(xsns,ysns)},xsi 属于Xs,表示源领域的观测样本,ysi属于Ys,表示源领域观测样本xsi对应的标签。目标领域Dt = {(xt1,yt1),(xt2,yt2).......(xtnt,ytnt)},xti属于Xt,表示目标领域观测样本,ysi属于Yt,表示目标领域xti对应的输出。通常情况下,源领域观测样本数目ns与目标领域观测样本数目nt存在如下关系:1<= nt << ns(目标领域远远小于源领域)。
迁移学习定义:
在给定源领域Ds和源领域学习任务Ts、目标领域Dt和目标领域任务Tt的情况,且Ds 不等于Dt或Ts不等于Tt,情况下;迁移学习使用源领域Ds和Ts中的知识提升或优化目标领域Dt中目标预测函数ft(.)的学习效果。
通过以上的定义可以发现:
1)、领域D=(X,P(x)),当源和目标领域D不同时,存在两种情况:(1)Xs不等于XT,源领域和目标领域的特征空间不同;(2)P(xs)不等于P(xt),即源空间和目标空间的特征空间相同,但观测样本X的边缘分布不同。
2)任务T={Y,P(Y|X)},当源和目标领域T不同时,存在两种情况:(1)Ys不等于Yt,源领域的标签空间与目标领域的标签空间不同;(2)P(Ys|Xs)不等于P(Yt|Xt),即源领域和目标领域的条件概率分布不同。
3 迁移学习的分类
1、迁移学习的研究问题
在迁移学习领域有三个研究问题:(1)、迁移什么;(2)、如何迁移;(3)、什么时候迁移。
1)迁移什么:那一部分知识可以在多个领域或任务之间迁移,即多个领域或任务知识的共同部分,通过从源领域学习这部分共同的知识,提升目标领域任务的效果。
关注迁移什么知识时,需要注意negative transfer问题:当源领域和目标领域之间没有关系,却要在之间强制迁移知识是不可能成功的。极端情况下,反倒会影响目标领域任务学习的效果,这种情况称为负迁移(negative transfer),需要尽力避免。
2)找到了迁移什么,接下来需要解决如何迁移:怎么做知识迁移。什么时候迁移:在什么情况下、什么时候,可以做知识的迁移。
根据定义可分为推导学习、转导学习、无监督学习
根据