迁移学习系列---基于实例方法的迁移学习

机器学习中有一种特殊的类型,即迁移学习。简单来讲,将先前领域或任务中学到的知识或技能应用到新的领域或任务中,即为迁移学习。当然,要想迁移,需要保证二者之间有一定的共性。自然会遇到一个问题,给定一个目标领域或任务,如何找到当前领域或任务跟之前领域或任务的共性,并将之前领域或任务中的知识迁移到目标领域或任务中呢?

0?wx_fmt=png

其中三种颜色分别表示三种领域,左图是传统的机器学习,右图即为迁移学习。

迁移学习可以用于不同的领域,比如增强学习。也可以用于分类问题或回归问题。

[Pan and Yang, A Survey on Transfer Learning, IEEE TKDE 2010]

迁移学习是如何产生的呢?下面来看几个“导火线”。首先来看室内WiFi定位问题。

0?wx_fmt=png

0?wx_fmt=png

对于设备A 和设备B,利用设备A来训练并且用设备A来测试得到的平均距离误差大概为 1.5 meters,利用设备B来训练并且用设备A来测试得到的平均距离误差大概为 10 meters。这是由于两个域的差别造成的,示例如下图。

0?wx_fmt=png

接下来看看情感分类问题。下面是一些用户评论,如何判定每条评论是积极的还是消极的呢?

0?wx_fmt=png

上面是利用对电子设备的评论来训练情感分类器,然后将模型用于对电子设备的评论,准确率大概为84.6%,如果利用对DVD的评论来训练情感分类器,然后将模型用于对电子设备的评论,准确率为72.65%。两个领域有什么不同呢,下面是一些评论示例。

0?wx_fmt=png

传统机器学习中假设训练数据和测试数据来自同一个领域,即处于同一个特征空间,服从同样的数据分布。然而实际应用中测试数据跟训练数据可能来自不同的域。

比如边际分布不同,或特征空间不同,

0?wx_fmt=png

预测分布不同,或标签空间不同

0?wx_fmt=png

那么如何针对感兴趣的域建立系统呢?如果针对每个域都建立一个系统,既耗时又消耗费用。倘若可以从已有系统中抽取可以复用的公用知识,那么系统就更加实用了。

迁移学习的目标可以用下图来概括

0?wx_fmt=png0?wx_fmt=png

迁移学习可以分为以下四种方法

0?wx_fmt=png

其中基于实例的方法对应的假设如下:

0?wx_fmt=png

即源领域和目标领域具有很多交叠的特征,源领域和目标领域具有相同或相近的支撑集。基于实例的方法可以分为以下两种情形:

0?wx_fmt=png

对于第一种情形,给定一个目标任务,参数估计如下:

0?wx_fmt=png

如果

0?wx_fmt=png

则有

0?wx_fmt=png

再假设

0?wx_fmt=png

0?wx_fmt=png

如果令

0?wx_fmt=png

0?wx_fmt=png

那么问题来了,怎么估计

0?wx_fmt=png

呢?并不推荐对分子和分母分别估计,然后求比值,推荐的方式是直接求比值的估计。这种方法需要用到矫正样本选择偏差,协变量转变。

[Quionero-Candela, etal, Data Shift in Machine Learning, MIT Press 2009]

什么是矫正样本选择偏差呢?这里有个假设:采样选择偏差是由数据生成过程引起的。假设一个拒绝采样过程,并且将源领域看作由目标领域采样而来。示例如下图

0?wx_fmt=png

0?wx_fmt=png

分母可以看作下面的分类问题:

源领域中的样本标为1,目标领域中的样本标为0,然后训练一个二值分类器。

[Zadrozny, ICML-04]

针对第二种情形,即

0?wx_fmt=png

但是

0?wx_fmt=png

可以利用这个启示:源领域中的部分带标签数据经过二次加权可以看作目标领域中的数据。Dai etal 在ICML中提出了 TrAdaBoost, [Dai etal ICML-07]

在每次增强迭代中,利用跟AdaBoost相同的策略来更新目标源中数据的权重,利用新的方法来减小源领域中错分数据的权重。

注:Adaboost 算法的思想可以概括为随着迭代次数的增加,逐渐增加错分样本的权重,每次迭代都更加注重难分样本。

本篇是迁移学习第一篇,关于迁移学习会有一个系列,敬请期待。

参考资料:

http://ijcai13.org/files/tutorial_slides/td2.pdf

Pan, Sinno Jialin, and Qiang Yang. "A survey on transfer learning." IEEE Transactions on knowledge and data engineering 22.10 (2010): 1345-1359.