对于刚刚开始入门迁移学习的朋友来说,也许跟我一样对迁移学习定义中的一些概念很难真正理解,总有种模棱两可的感觉。并且紧接着后面会定义不同的迁移学习问题,比如同构迁移学习,异构迁移学习等,因为对迁移学习的定义很模糊,所以很难真正区分这些问题的不同。下面是我的一些看法,仅供参考,毕竟一千个读者就有一千个哈姆雷特。
首先来看迁移学习的定义:
领域
D
D
D可以通俗理解为一个数据集,不同的数据集就是不同的领域,任务就是各种各样的任务了,比如:分类任务,分割任务,检测任务等等。
d d d维特征空间 X X X,我的理解是 d d d维就是特征的个数,特征空间 X X X感觉很抽象,我觉得就理解为所有特征的集合。边缘概率分布 P ( x ) P(x) P(x)我觉得也很抽象,我理解为就是这个特征 x x x是这个数据集中固有的一个分布概率,就是数据集中每个数据拥有这个特征的一个概率,我认为这是无法计算准确值的,但可以通过一些方法来进行量化间接表示。
类别空间 y y y就是标签的感觉,有多少类组成的集合。预测模型 f ( x ) f(x) f(x)就是根据特征预测类别的这样一个函数一个映射。 f ( x ) = P ( y ∣ x ) f(x)=P(y|x) f(x)=P(y∣x)可以解释为条件概率分布,就是在拥有特征 x x x的情况下,预测为 y y y类的概率。
根据上面的定义就可以对迁移学习进行分类了。
-
基于特征空间或标签空间是否同构,可以将迁移学习分为两类:同构迁移学习和异构迁移学习,在接着也能进行更细致的分类。
我觉得明确了迁移学习的定义与这个分类之间关系对今后的学习至关重要,因为迁移学习涉及的范围很广,方法很多,很有必要在脑海中构建这么一个框架,才不会在知识海洋中迷失。 -
当然还有别的分类方法,但我觉得上面的方法更加详细和本质。
可以通过考虑目标域中是否有标签数据将现有的迁移学习方法分类以下三类:监督迁移学习、半监督迁移学习、无监督迁移学习。
参考文献:
1、迁移学习问题与方法研究-by 龙明盛 个人主页
2、《迁移学习》-by 杨强等
3、《迁移学习简明手册》 -by 王晋东 https://github.com/jindongwang/transferlearning-tutorial
都是迁移学习非常好的学习资料,强烈推荐!