一、简介
背景: 现如今数据爆炸:
- 对机器学习模型来说要求快速构建,强泛化
- 对于数据来说,大部分数据没有标签
所以收集标签数据和从头开始构建一个模型都是代价高昂的,需要对模型和带有标签的数据进行重用
传统机器学习:假设数据服从相同分布,但我们希望针对不同分布的数据,快速构建模型,实现数据标记
迁移学习(transfer learning)通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性。在迁移学习中,我们已有的知识叫做源域(source domain),要学习的新知识叫目标域(target domain),源域和目标域不同但有一定关联,我们需要减小源域和目标域的分布差异,进行知识迁移,从而实现数据标定。
- 源域目标域区别:一般目标域相对于源域,在数据分布、特征维度以及模型输出变化条件有不同,有机地利用源域中的知识来对目标域更好地建模。另外,在有目标域标定数据缺乏的情况下,迁移学习可以很好地利用相关领域有标定的数据完成数据的标定。
- 负迁移:如果源域和目标域之间相似度不够,迁移结果并不会理想,出现所谓的负迁移情况。比如,一个人会骑自行车,就可以类比学电动车;但是如果类比着学开汽车,那就有点天方夜谭了。如何找到相似度尽可能高的源域和目标域,是整个迁移过程最重要的前提。
- 迁移学习资料库:https://github.com/jindongwang/transferlearning
- 为什么要进行迁移学习:
数据的标签很难获取
从头建立模型是复杂和耗时的
二、迁移学习常用概念
- Domain (域):由数据特征和特征分布组成,是学习的主体
- Source domain (源域):已有知识的域
- Target domain (目标域):要进行学习的域
- Task (任务):由目标函数和学习结果组成,是学习的结果,可理解为分类器
- 迁移学习条件:给定源域和源域的任务,目标域和目标域的任务,目标:利用源域和源域任务学习目标域预测函数f(),限制条件:源域和目标域不同或源任务和目标任务不同
- domain adaptation(领域自适应):有标签的源域和无标签的目标域共享一致的类别和特征,但分布不同
- space coding(稀疏编码):给定一组输入数据向量 { x1,x2,…,xN },去学习一组基字典(dictionary of bases),将每个样本表示为一组基的线性组合,其中这组基较为完备